diff options
-rw-r--r-- | fs/signalfd.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/fs/signalfd.c b/fs/signalfd.c index fb7f7e8034df..1b414eff66e9 100644 --- a/fs/signalfd.c +++ b/fs/signalfd.c @@ -110,9 +110,14 @@ static int signalfd_copyinfo(struct signalfd_siginfo __user *uinfo, err |= __put_user(kinfo->si_uid, &uinfo->ssi_uid); err |= __put_user((long) kinfo->si_ptr, &uinfo->ssi_ptr); break; - default: /* this is just in case for now ... */ + default: + /* + * This case catches also the signals queued by sigqueue(). + */ 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; } |