• Arnd Bergmann's avatar
    ARM: 9114/1: oabi-compat: rework sys_semtimedop emulation · bdec0145
    Arnd Bergmann authored
    sys_oabi_semtimedop() is one of the last users of set_fs() on Arm. To
    remove this one, expose the internal code of the actual implementation
    that operates on a kernel pointer and call it directly after copying.
    
    There should be no measurable impact on the normal execution of this
    function, and it makes the overly long function a little shorter, which
    may help readability.
    
    While reworking the oabi version, make it behave a little more like
    the native one, using kvmalloc_array() and restructure the code
    flow in a similar way.
    
    The naming of __do_semtimedop() is not very good, I hope someone can
    come up with a better name.
    
    One regression was spotted by kernel test robot <rong.a.chen@intel.com>
    and fixed before the first mailing list submission.
    Acked-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: default avatarRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
    bdec0145
sem.c 63.2 KB