X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=fs%2Fsignalfd.c;h=8ead0db359339ca7f5986e3b89ff3b245938557e;hb=92794a5d6359f9e8ed0d43fe0f3c653f748dcc90;hp=cb2b63ae0bf40adc55ccde41d753e04097e1ddab;hpb=c64768a7d671bcde80bca2aed93f9e07edc069c3;p=~andy%2Flinux diff --git a/fs/signalfd.c b/fs/signalfd.c index cb2b63ae0bf..8ead0db3593 100644 --- a/fs/signalfd.c +++ b/fs/signalfd.c @@ -111,9 +111,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; }