Messages in this thread | | | From | Darren Hart <> | Subject | [PATCH] RFC: futex fault handling and futex key references (NOT FOR INCLUSION) | Date | Thu, 08 Jan 2009 23:52:17 -0800 |
| |
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
| |