diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2024-06-04 14:20:26 +0200 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2024-06-25 15:57:38 +0200 |
| commit | 295f10061af024099440b46602bcc47364551db7 (patch) | |
| tree | d10e0927976e4a9fc727be88fabf80911da88232 /include | |
| parent | s390: remove native mmap2() syscall (diff) | |
| download | linux-295f10061af024099440b46602bcc47364551db7.tar.gz linux-295f10061af024099440b46602bcc47364551db7.zip | |
syscalls: mmap(): use unsigned offset type consistently
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: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-generic/syscalls.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/asm-generic/syscalls.h b/include/asm-generic/syscalls.h index 933ca6581aba..fabcefe8a80a 100644 --- a/include/asm-generic/syscalls.h +++ b/include/asm-generic/syscalls.h @@ -19,7 +19,7 @@ asmlinkage long sys_mmap2(unsigned long addr, unsigned long len, #ifndef sys_mmap asmlinkage long sys_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long flags, - unsigned long fd, off_t pgoff); + unsigned long fd, unsigned long off); #endif #ifndef sys_rt_sigreturn |
