Re: DoS with POSIX file locks?
From: Miklos Szeredi
Date: Tue Mar 21 2006 - 04:42:41 EST
> The _only_ sane way to solve it is to decree that you lose your locks if
> you clone(CLONE_FILES) and then call exec(). If there are any
> applications out there that rely on the current behaviour,
Apps using LinuxThreads seem to be candidates:
According to POSIX 1003.1c, a successful `exec*' in one of the
threads should automatically terminate all other threads in the
program. This behavior is not yet implemented in LinuxThreads.
Calling `pthread_kill_other_threads_np' before `exec*' achieves
much of the same behavior, except that if `exec*' ultimately
fails, then all other threads are already killed.
steal_locks() was probably added as a workaround for this case, no?
I wonder how many installations still run LinuxThreads with 2.6 kernels.
Miklos
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/