]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blobdiff - fs/signalfd.c
drm/nouveau/mmu/gf100-: type-based vram allocation and bar mapping
[mirror_ubuntu-bionic-kernel.git] / fs / signalfd.c
index 593b022ac11b873c67b03f7dcd4ebd5686fe9d2d..d2c434112f4265fec495a1b622c04e59be1e8b58 100644 (file)
@@ -95,23 +95,23 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
         */
        err |= __put_user(kinfo->si_signo, &uinfo->ssi_signo);
        err |= __put_user(kinfo->si_errno, &uinfo->ssi_errno);
-       err |= __put_user((short) kinfo->si_code, &uinfo->ssi_code);
-       switch (kinfo->si_code & __SI_MASK) {
-       case __SI_KILL:
+       err |= __put_user(kinfo->si_code, &uinfo->ssi_code);
+       switch (siginfo_layout(kinfo->si_signo, kinfo->si_code)) {
+       case SIL_KILL:
                err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid);
                err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid);
                break;
-       case __SI_TIMER:
+       case SIL_TIMER:
                 err |= __put_user(kinfo->si_tid, &uinfo->ssi_tid);
                 err |= __put_user(kinfo->si_overrun, &uinfo->ssi_overrun);
                 err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr);
                 err |= __put_user(kinfo->si_int, &uinfo->ssi_int);
                break;
-       case __SI_POLL:
+       case SIL_POLL:
                err |= __put_user(kinfo->si_band, &uinfo->ssi_band);
                err |= __put_user(kinfo->si_fd, &uinfo->ssi_fd);
                break;
-       case __SI_FAULT:
+       case SIL_FAULT:
                err |= __put_user((long) kinfo->si_addr, &uinfo->ssi_addr);
 #ifdef __ARCH_SI_TRAPNO
                err |= __put_user(kinfo->si_trapno, &uinfo->ssi_trapno);
@@ -128,20 +128,14 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo,
                                          &uinfo->ssi_addr_lsb);
 #endif
                break;
-       case __SI_CHLD:
+       case SIL_CHLD:
                err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid);
                err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid);
                err |= __put_user(kinfo->si_status, &uinfo->ssi_status);
                err |= __put_user(kinfo->si_utime, &uinfo->ssi_utime);
                err |= __put_user(kinfo->si_stime, &uinfo->ssi_stime);
                break;
-       case __SI_RT: /* This is not generated by the kernel as of now. */
-       case __SI_MESGQ: /* But this is */
-               err |= __put_user(kinfo->si_pid, &uinfo->ssi_pid);
-               err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid);
-               err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr);
-               err |= __put_user(kinfo->si_int, &uinfo->ssi_int);
-               break;
+       case SIL_RT:
        default:
                /*
                 * This case catches also the signals queued by sigqueue().