• Arnd Bergmann's avatar
    syscalls: mmap(): use unsigned offset type consistently · 295f1006
    Arnd Bergmann authored
    Most architectures that implement the old-style mmap() with byte offset
    use 'unsigned long' as the type for that offset, but microblaze and
    riscv have the off_t type that is shared with userspace, matching the
    prototype in include/asm-generic/syscalls.h.
    
    Make this consistent by using an unsigned argument everywhere. This
    changes the behavior slightly, as the argument is shifted to a page
    number, and an user input with the top bit set would result in a
    negative page offset rather than a large one as we use elsewhere.
    
    For riscv, the 32-bit sys_mmap2() definition actually used a custom
    type that is different from the global declaration, but this was
    missed due to an incorrect type check.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    295f1006
syscall.c 1.59 KB