OSDN Git Service

mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy
authorEric W. Biederman <ebiederm@xmission.com>
Tue, 1 Aug 2017 10:02:38 +0000 (05:02 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 16 Feb 2018 19:23:11 +0000 (20:23 +0100)
commitdff5406432ffd805e6917d7b7005e1098354596b
treeffb634fd345010d0acc3a306d258b00e90509d3e
parentc7aee3941e1e10a662e5b22f345933280f0caac8
mn10300/misalignment: Use SIGSEGV SEGV_MAPERR to report a failed user copy

commit 6ac1dc736b323011a55ecd1fc5897c24c4f77cbd upstream.

Setting si_code to 0 is the same a setting si_code to SI_USER which is definitely
not correct.  With si_code set to SI_USER si_pid and si_uid will be copied to
userspace instead of si_addr.  Which is very wrong.

So fix this by using a sensible si_code (SEGV_MAPERR) for this failure.

Fixes: b920de1b77b7 ("mn10300: add the MN10300/AM33 architecture to the kernel")
Cc: David Howells <dhowells@redhat.com>
Cc: Masakazu Urade <urade.masakazu@jp.panasonic.com>
Cc: Koichi Yasutake <yasutake.koichi@jp.panasonic.com>
Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/mn10300/mm/misalignment.c