diff options
author | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:16:54 -0700 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2015-09-14 14:16:54 -0700 |
commit | 0e4f19b4e5d6c4801d0ee2c26a5850de1b44f4af (patch) | |
tree | cbd277d85dedfe2f64b94c5e385b311e2c017137 /kernel/signal.c | |
parent | 59255ac55ba6ecd195ef97c6bcd1303a7f838c94 (diff) | |
parent | 4d869de174c78ae29ca91b41581367c8092d933d (diff) |
Merge branch 'linux-linaro-lsk-v3.10' into linux-linaro-lsk-v3.10-rtlsk-v3.10-16.03-rtlsk-v3.10-16.02-rtlsk-v3.10-16.01-rtlsk-v3.10-15.12-rtlsk-v3.10-15.11-rtlsk-v3.10-15.10-rtlsk-v3.10-15.09-rtlinux-linaro-lsk-v3.10-rt
Diffstat (limited to 'kernel/signal.c')
-rw-r--r-- | kernel/signal.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/kernel/signal.c b/kernel/signal.c index 2f223e1a6349..ccf8663f27cd 100644 --- a/kernel/signal.c +++ b/kernel/signal.c @@ -2869,7 +2869,8 @@ int copy_siginfo_to_user(siginfo_t __user *to, siginfo_t *from) * Other callers might not initialize the si_lsb field, * so check explicitly 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; @@ -3136,7 +3137,7 @@ COMPAT_SYSCALL_DEFINE3(rt_sigqueueinfo, int, sig, struct compat_siginfo __user *, uinfo) { - siginfo_t info; + siginfo_t info = {}; int ret = copy_siginfo_from_user32(&info, uinfo); if (unlikely(ret)) return ret; @@ -3182,7 +3183,7 @@ COMPAT_SYSCALL_DEFINE4(rt_tgsigqueueinfo, int, sig, struct compat_siginfo __user *, uinfo) { - siginfo_t info; + siginfo_t info = {}; if (copy_siginfo_from_user32(&info, uinfo)) return -EFAULT; |