mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
USB: usbfs: don't leak kernel data in siginfo
When a signal is delivered, the information in the siginfo structure is copied to userspace. Good security practice dicatates that the unused fields in this structure should be initialized to 0 so that random kernel stack data isn't exposed to the user. This patch adds such an initialization to the two places where usbfs raises signals. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Reported-by: Dave Mielke <dave@mielke.cc> CC: <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
27082e2654
commit
f0c2b68198
@ -501,6 +501,7 @@ static void async_completed(struct urb *urb)
|
||||
as->status = urb->status;
|
||||
signr = as->signr;
|
||||
if (signr) {
|
||||
memset(&sinfo, 0, sizeof(sinfo));
|
||||
sinfo.si_signo = as->signr;
|
||||
sinfo.si_errno = as->status;
|
||||
sinfo.si_code = SI_ASYNCIO;
|
||||
@ -2382,6 +2383,7 @@ static void usbdev_remove(struct usb_device *udev)
|
||||
wake_up_all(&ps->wait);
|
||||
list_del_init(&ps->list);
|
||||
if (ps->discsignr) {
|
||||
memset(&sinfo, 0, sizeof(sinfo));
|
||||
sinfo.si_signo = ps->discsignr;
|
||||
sinfo.si_errno = EPIPE;
|
||||
sinfo.si_code = SI_ASYNCIO;
|
||||
|
Loading…
Reference in New Issue
Block a user