On 27 Apr 2016 04:56, Dmitry V. Levin wrote:
> Do not load one entry beyond the end of the syscall table when the
> syscall number of a traced process equals to __NR_Linux_syscalls.
> Similar bug with regular processes was fixed by commit 3bb457af4fa8
> ("[PARISC] Fix bug when syscall nr is __NR_Linux_syscalls").
> 
> This bug was found by strace test suite.
> 
> Cc: sta...@vger.kernel.org
> Signed-off-by: Dmitry V. Levin <l...@altlinux.org>
> ---
>  arch/parisc/kernel/syscall.S | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/parisc/kernel/syscall.S b/arch/parisc/kernel/syscall.S
> index c976ebf..57b4836 100644
> --- a/arch/parisc/kernel/syscall.S
> +++ b/arch/parisc/kernel/syscall.S
> @@ -344,7 +344,7 @@ tracesys_next:
>  #endif
>  
>       cmpib,COND(=),n -1,%r20,tracesys_exit /* seccomp may have returned -1 */
> -     comiclr,>>=     __NR_Linux_syscalls, %r20, %r0
> +     comiclr,>>      __NR_Linux_syscalls, %r20, %r0
>       b,n     .Ltracesys_nosys
>  
>       LDREGX  %r20(%r19), %r19

i've deployd your fix to hake, so feel free to give the tests another
run to try and crash the box :).
-mike

Attachment: signature.asc
Description: Digital signature

Reply via email to