Skip to content
Snippets Groups Projects
  • Kyle McMartin's avatar
    c20a84c9
    [PARISC] futex: special case cmpxchg NULL in kernel space · c20a84c9
    Kyle McMartin authored
    
    Commit a0c1e907 added code to futex.c
    to detect whether futex_atomic_cmpxchg_inatomic was implemented at run
    time:
    
    +       curval = cmpxchg_futex_value_locked(NULL, 0, 0);
    +       if (curval == -EFAULT)
    +               futex_cmpxchg_enabled = 1;
    
    This is bogus on parisc, since page zero in kernel virtual space is the
    gateway page for syscall entry, and should not be read from the kernel.
    (That, and we really don't like the kernel faulting on its own address
     space...)
    
    Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>
    c20a84c9
    History
    [PARISC] futex: special case cmpxchg NULL in kernel space
    Kyle McMartin authored
    
    Commit a0c1e907 added code to futex.c
    to detect whether futex_atomic_cmpxchg_inatomic was implemented at run
    time:
    
    +       curval = cmpxchg_futex_value_locked(NULL, 0, 0);
    +       if (curval == -EFAULT)
    +               futex_cmpxchg_enabled = 1;
    
    This is bogus on parisc, since page zero in kernel virtual space is the
    gateway page for syscall entry, and should not be read from the kernel.
    (That, and we really don't like the kernel faulting on its own address
     space...)
    
    Signed-off-by: default avatarKyle McMartin <kyle@mcmartin.ca>