From: Arnd Bergmann <a...@arndb.de>

This is almost compatible, but passing a negative offset should result
in a EINVAL error, but on mips o32 compat mode would seek to a large
32-bit byte offset.

Use compat_sys_lseek() to correctly sign-extend the argument.

Signed-off-by: Arnd Bergmann <a...@arndb.de>
---
 arch/mips/kernel/syscalls/syscall_o32.tbl | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/mips/kernel/syscalls/syscall_o32.tbl 
b/arch/mips/kernel/syscalls/syscall_o32.tbl
index 85751c9b9cdb..2439a2491cff 100644
--- a/arch/mips/kernel/syscalls/syscall_o32.tbl
+++ b/arch/mips/kernel/syscalls/syscall_o32.tbl
@@ -27,7 +27,7 @@
 17     o32     break                           sys_ni_syscall
 # 18 was sys_stat
 18     o32     unused18                        sys_ni_syscall
-19     o32     lseek                           sys_lseek
+19     o32     lseek                           sys_lseek                       
compat_sys_lseek
 20     o32     getpid                          sys_getpid
 21     o32     mount                           sys_mount
 22     o32     umount                          sys_oldumount
-- 
2.39.2

Reply via email to