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

From: Steven Rostedt
Date: Wed Nov 16 2005 - 04:46:19 EST


On Wed, 2005-11-16 at 06:55 +0100, Andi Kleen wrote:
> Steven Rostedt <rostedt@xxxxxxxxxxx> 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


-
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/