[PATCH] RFC: futex fault handling and futex key references (NOT FORINCLUSION)

From: Darren Hart
Date: Fri Jan 09 2009 - 02:53:04 EST


While trying to bend my brain around the various layers of fault handling in
futex.c, I think I may have uncovered some logical errors (or at least stale
code sections). I've attached two patches that address the alleged problems
against linux-tip/core/futexes. They are based on the following assumption:

Since the uaddr passed to a futex function isn't updated within the function,
and the mm doesn't change while we're in there, there should never be a need to
make repeat calls to futex_get_key(). Even if the queue_lock is dropped, the
futex_q might lose it's waiter (requeued) but the key stays the same.

I'd really appreciate any feedback.

Thanks in advance,

---

Darren Hart (2):
RFC: Fix futex_lock_pi fault handling (NOT FOR INCLUSION)
RFC: Fix futex_wake_op fault handling (NOT FOR INCLUSION)


kernel/futex.c | 40 ++++++++++++++++------------------------
1 files changed, 16 insertions(+), 24 deletions(-)

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