A set of PI futex fixes:

  - Address a longstanding issue where the user space part of the PI futex
    is not writeable. The kernel returns with inconsistent state which can
    in the worst case result in a UAF of a tasks kernel stack. The solution
    is to establish consistent kernel state which makes future operations
    on the futex fail because user space and kernel space state are
    inconsistent. Not a problem as PI futexes fundamentaly require a
    functional RW mapping and if user space pulls the rug under it, then it
    can keep the pieces it asked for.

  - Address an issue where the return value is incorrect in case that the
    futex was acquired after a timeout/signal made the waiter drop out of
    the rtmutex wait. In one of the corner cases the kernel returned an
    error code despite having successfully acquired the futex.