Patch "USB: core: replace %p with %pK" has been added to the 4.9-stable tree
Subsystems (2)
This is a note to let you know that I've just added the patch titled
USB: core: replace %p with %pK
to the 4.9-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary
The filename of the patch is:
usb-core-replace-p-with-pk.patch
and it can be found in the queue-4.9 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.
Quoted 1 line
From
2f964780c03b73de269b08d12aff96a9618d13f3Mon Sep 17 00:00:00 2001
From: Vamsi Krishna Samavedam <[email protected]>
Date: Tue, 16 May 2017 14:38:08 +0200
Subject: USB: core: replace %p with %pK
From: Vamsi Krishna Samavedam <[email protected]>
commit 2f964780c03b73de269b08d12aff96a9618d13f3 upstream.
Format specifier %p can leak kernel addresses while not valuing the kptr_restrict system settings. When kptr_restrict is set to (1), kernel pointers printed using the %pK format specifier will be replaced with Zeros. Debugging Note : &pK prints only Zeros as address. If you need actual address information, write 0 to kptr_restrict.
echo 0 > /proc/sys/kernel/kptr_restrict
[Found by poking around in a random vendor kernel tree, it would be nice if someone would actually send these types of patches upstream - gkh]
--- drivers/usb/core/devio.c | 14 +++++++------- drivers/usb/core/hcd.c | 4 ++-- drivers/usb/core/urb.c | 2 +- 3 files changed, 10 insertions(+), 10 deletions(-)
drivers/usb/core/devio.c +7 -7
@@ -481,11 +481,11 @@ static void snoop_urb(struct usb_deviceif (userurb) {/* Async */ if (when ==SUBMIT ) -dev_info (&udev->dev,"userurb %p, ep%d %s-%s, " +dev_info (&udev->dev,"userurb %pK, ep%d %s-%s, " "length %u\n" , userurb, ep, t, d, length);else -dev_info (&udev->dev,"userurb %p, ep%d %s-%s, " +dev_info (&udev->dev,"userurb %pK, ep%d %s-%s, " "actual_length %u status %d\n" , userurb, ep, t, d, length, timeout_or_status);
@@ -1905,7 +1905,7 @@ static int proc_reapurb(struct usb_dev_sif (as) {int retval; -snoop (&ps->dev->dev,"reap %p\n" , as->userurb); +snoop (&ps->dev->dev,"reap %pK\n" , as->userurb); retval =processcompl (as, (void __user *__user *)arg);free_async (as);return retval;
@@ -1922,7 +1922,7 @@ static int proc_reapurbnonblock(struct u as =async_getcompleted (ps);if (as) { -snoop (&ps->dev->dev,"reap %p\n" , as->userurb); +snoop (&ps->dev->dev,"reap %pK\n" , as->userurb); retval =processcompl (as, (void __user *__user *)arg);free_async (as); }else {
@@ -2053,7 +2053,7 @@ static int proc_reapurb_compat(struct usif (as) {int retval; -snoop (&ps->dev->dev,"reap %p\n" , as->userurb); +snoop (&ps->dev->dev,"reap %pK\n" , as->userurb); retval =processcompl_compat (as, (void __user *__user *)arg);free_async (as);return retval;
@@ -2070,7 +2070,7 @@ static int proc_reapurbnonblock_compat(s as =async_getcompleted (ps);if (as) { -snoop (&ps->dev->dev,"reap %p\n" , as->userurb); +snoop (&ps->dev->dev,"reap %pK\n" , as->userurb); retval =processcompl_compat (as, (void __user *__user *)arg);free_async (as); }else {
@@ -2499,7 +2499,7 @@ static long usbdev_do_ioctl(struct file#endif case USBDEVFS_DISCARDURB : -snoop (&dev->dev,"%s: DISCARDURB %p\n" , __func__, p); +snoop (&dev->dev,"%s: DISCARDURB %pK\n" , __func__, p); ret =proc_unlinkurb (ps, p);break ;
drivers/usb/core/hcd.c +2 -2
@@ -1722,7 +1722,7 @@ int usb_hcd_unlink_urb (struct urb *urb,if (retval ==0 ) retval = -EINPROGRESS ;else if (retval != -EIDRM && retval != -EBUSY ) -dev_dbg (&udev->dev,"hcd_unlink_urb %p fail %d\n" , +dev_dbg (&udev->dev,"hcd_unlink_urb %pK fail %d\n" , urb, retval);usb_put_dev (udev); }
@@ -1889,7 +1889,7 @@ rescan:/* kick hcd */ unlink1 (hcd, urb, -ESHUTDOWN ); dev_dbg (hcd->self.controller, - "shutdown urb %p ep%d%s%s\n", + "shutdown urb %pK ep%d%s%s\n", urb, usb_endpoint_num(&ep->desc), is_in ? "in" : "out", ({ char *s;
drivers/usb/core/urb.c +1 -1
@@ -333,7 +333,7 @@ int usb_submit_urb(struct urb *urb, gfp_if (!urb || !urb->complete)return -EINVAL ;if (urb->hcpriv) { -WARN_ONCE (1 ,"URB %p submitted while active\n" , urb); +WARN_ONCE (1 ,"URB %pK submitted while active\n" , urb);return -EBUSY ; }
Patches currently in stable-queue which might be from [email protected] are
queue-4.9/usb-core-replace-p-with-pk.patch