• Darren Hart's avatar
    futex: unlock before returning -EFAULT · e8f6386c
    Darren Hart authored
    Impact: rt-mutex failure case fix
    
    futex_lock_pi can potentially return -EFAULT with the rt_mutex
    held.  This seems like the wrong thing to do as userspace should
    assume -EFAULT means the lock was not taken.  Even if it could
    figure this out, we'd be leaving the pi_state->owner in an
    inconsistent state.  This patch unlocks the rt_mutex prior to
    returning -EFAULT to userspace.
    
    Build and boot tested on a 4 way Intel x86_64 workstation.
    Passes basic pthread_mutex and PI tests out of
    ltp/testcases/realtime.
    Signed-off-by: default avatarDarren Hart <dvhltc@us.ibm.com>
    Acked-by: default avatarPeter Zijlstra <peterz@infradead.org>
    Cc: Rusty Russell <rusty@rustcorp.com.au>
    LKML-Reference: <20090312075606.9856.88729.stgit@Aeon>
    Signed-off-by: default avatarIngo Molnar <mingo@elte.hu>
    e8f6386c
futex.c 49.4 KB