public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] RFC: futex fault handling and futex key references (NOT FOR INCLUSION)
@ 2009-01-09  7:52 Darren Hart
  2009-01-09  7:52 ` [PATCH 1/2] RFC: Fix futex_wake_op fault handling " Darren Hart
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Darren Hart @ 2009-01-09  7:52 UTC (permalink / raw)
  To: linux-kernel

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

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2009-01-10  5:54 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-01-09  7:52 [PATCH] RFC: futex fault handling and futex key references (NOT FOR INCLUSION) Darren Hart
2009-01-09  7:52 ` [PATCH 1/2] RFC: Fix futex_wake_op fault handling " Darren Hart
2009-01-09  7:52 ` [PATCH 2/2] RFC: Fix futex_lock_pi " Darren Hart
2009-01-09 22:02 ` [PATCH] RFC: futex fault handling and futex key references " Peter Zijlstra
2009-01-10  5:54   ` Darren Hart

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox