[lkml]   [2009]   [Jan]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subject[PATCH] RFC: futex fault handling and futex key references (NOT FOR INCLUSION)
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(-)


 \ /
  Last update: 2009-01-09 08:55    [W:0.041 / U:13.164 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site