• Helge Deller's avatar
    parisc: Add wrapper syscalls to fix O_NONBLOCK flag usage · 44a4c9e4
    Helge Deller authored
    The commit 75ae0420 ("parisc: Define O_NONBLOCK to become
    000200000") changed the O_NONBLOCK constant to have only one bit set
    (like all other architectures). This change broke some existing
    userspace code (e.g.  udevadm, systemd-udevd, elogind) which called
    specific syscalls which do strict value checking on their flag
    parameter.
    
    This patch adds wrapper functions for the relevant syscalls. The
    wrappers masks out any old invalid O_NONBLOCK flags, reports in the
    syslog if the old O_NONBLOCK value was used and then calls the target
    syscall with the new O_NONBLOCK value.
    
    Fixes: 75ae0420 ("parisc: Define O_NONBLOCK to become 000200000")
    Signed-off-by: default avatarHelge Deller <deller@gmx.de>
    Tested-by: default avatarMeelis Roos <mroos@linux.ee>
    Tested-by: default avatarJeroen Roovers <jer@xs4all.nl>
    44a4c9e4
sys_parisc.c 11.6 KB