James Hogan 828db212bf MIPS: Traced negative syscalls should return -ENOSYS
If a negative system call number is used when system call tracing is
enabled, syscall_trace_enter() will return that negative system call
number without having written the return value and error flag into the
pt_regs.

The caller then treats it as a cancelled system call and assumes that
the return value and error flag are already written, leaving the
negative system call number in the return register ($v0), and the 4th
system call argument in the error register ($a3).

Add a special case to detect this at the end of syscall_trace_enter(),
to set the return value to error -ENOSYS when this happens.

Fixes: d218af78492a ("MIPS: scall: Always run the seccomp syscall filters")
Signed-off-by: James Hogan <james.hogan@imgtec.com>
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/16653/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
2017-07-11 14:13:06 +02:00
..
2017-02-13 18:57:34 +00:00
2017-01-03 16:34:34 +01:00
2017-01-25 02:51:11 +01:00
2014-05-24 00:07:01 +02:00
2016-12-25 10:47:44 +01:00
2016-05-09 12:00:02 +02:00
2017-03-08 10:38:06 +01:00
2017-03-28 14:53:54 +01:00
2014-05-24 00:07:01 +02:00