• Al Viro's avatar
    open*(2) compat fixes (s390, arm64) · 9d73fc2d
    Al Viro authored
    The usual rules for open()/openat()/open_by_handle_at() are
     1) native 32bit - don't force O_LARGEFILE in flags
     2) native 64bit - force O_LARGEFILE in flags
     3) compat on 64bit host - as for native 32bit
     4) native 32bit ABI for 64bit system (mips/n32, x86/x32) - as for
        native 64bit
    There are only two exceptions - s390 compat has open() forcing
    O_LARGEFILE and arm64 compat has open_by_handle_at() doing the same
    thing.  The same binaries on native host (s390/31 and arm resp.) will
    *not* force O_LARGEFILE, so IMO both are emulation bugs.
    Objections? The fix is obvious...
    Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
    Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
unistd32.h 14.2 KB