diff options
Diffstat (limited to 'fs/signalfd.c')
-rw-r--r-- | fs/signalfd.c | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/fs/signalfd.c b/fs/signalfd.c index d2187a813376..ff302bf50be4 100644 --- a/fs/signalfd.c +++ b/fs/signalfd.c @@ -117,26 +117,15 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo, #ifdef __ARCH_SI_TRAPNO err |= __put_user(kinfo->si_trapno, &uinfo->ssi_trapno); #endif -#ifdef BUS_MCEERR_AO /* * Other callers might not initialize the si_lsb field, * so check explicitly for the right codes here. */ if (kinfo->si_signo == SIGBUS && - kinfo->si_code == BUS_MCEERR_AO) + ((kinfo->si_code == BUS_MCEERR_AR) || + (kinfo->si_code == BUS_MCEERR_AO))) err |= __put_user((short) kinfo->si_addr_lsb, &uinfo->ssi_addr_lsb); -#endif -#ifdef BUS_MCEERR_AR - /* - * Other callers might not initialize the si_lsb field, - * so check explicitly for the right codes here. - */ - if (kinfo->si_signo == SIGBUS && - kinfo->si_code == BUS_MCEERR_AR) - err |= __put_user((short) kinfo->si_addr_lsb, - &uinfo->ssi_addr_lsb); -#endif break; case SIL_CHLD: err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid); |