diff options
author | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:16:21 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:16:21 -0700 |
commit | f0b7ed42af0d718fc11d45f6c05948e9a11e08be (patch) | |
tree | fc1ed011273f1f503570b3595f018eb84b3872a1 /arch/arm64/kernel/signal32.c | |
parent | 4dddf720534a9a14fa9b048e7930dcc55b1b1e40 (diff) | |
parent | 4d869de174c78ae29ca91b41581367c8092d933d (diff) |
Merge branch 'linux-linaro-lsk-v3.10' into linux-linaro-lsk-v3.10-androidlsk-v3.10-15.09-android
Diffstat (limited to 'arch/arm64/kernel/signal32.c')
-rw-r--r-- | arch/arm64/kernel/signal32.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/arch/arm64/kernel/signal32.c b/arch/arm64/kernel/signal32.c index b2b945dcbf60..121d530a89dc 100644 --- a/arch/arm64/kernel/signal32.c +++ b/arch/arm64/kernel/signal32.c @@ -165,7 +165,8 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) * Other callers might not initialize the si_lsb field, * so check explicitely for the right codes here. */ - if (from->si_code == BUS_MCEERR_AR || from->si_code == BUS_MCEERR_AO) + if (from->si_signo == SIGBUS && + (from->si_code == BUS_MCEERR_AR || from->si_code == BUS_MCEERR_AO)) err |= __put_user(from->si_addr_lsb, &to->si_addr_lsb); #endif break; @@ -200,8 +201,6 @@ int copy_siginfo_to_user32(compat_siginfo_t __user *to, siginfo_t *from) int copy_siginfo_from_user32(siginfo_t *to, compat_siginfo_t __user *from) { - memset(to, 0, sizeof *to); - if (copy_from_user(to, from, __ARCH_SI_PREAMBLE_SIZE) || copy_from_user(to->_sifields._pad, from->_sifields._pad, SI_PAD_SIZE)) |