Re: [PATCH -rt] race condition in fs/compat.c with compat_sys_ioctl

Steven Rostedt
2005-11-16T09:46:26Z

On Wed, 2005-11-16 at 06:55 +0100, Andi Kleen wrote:
> Steven Rostedt <rostedt@goodmis.org> writes:
> >
> > That's the problem. I found out that one ioctl might sleep holding the
> > sem and won't be woken up until another process calls another ioctl to
> > wake it up. But unfortunately, the one waking up the sleeper will block
> > on the sem. (the killer was tty_wait_until_sent)
>
> You should have looked into mainline first. The semaphore is already gone
> because it wasn't even needed anymore.

It's still there in 2.6.15-rc1-git3 (the sem is the down_read of
ioctl32_sem in fs/compat.c).

No, the problem was unique to the rt patch. In -rt the default
down_read is just like a down (since it is very hard to do PI on readers
and writer locks). So the solution in -rt was to convert this back to a
normal RW sem.

-- Steve