FAILED: patch "[PATCH] usbip: prevent leaking socket pointer address in messages" failed to apply to 4.4-stable tree
Subsystems (3)
[email protected]
maintainerThe patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.
thanks,
greg k-h
------------------ original commit in Linus's tree ------------------
Quoted 1 line
From
90120d15f4c397272aaf41077960a157fc4212bfMon Sep 17 00:00:00 2001
From: Shuah Khan <[email protected]>
Date: Fri, 15 Dec 2017 10:50:09 -0700
Subject: [PATCH] usbip: prevent leaking socket pointer address in messages
usbip driver is leaking socket pointer address in messages. Remove the messages that aren't useful and print sockfd in the ones that are useful for debugging.
drivers/usb/usbip/stub_dev.c +1 -2
@@ -149,8 +149,7 @@ static void stub_shutdown_connection(struct usbip_device *ud)* step 1? */ if (ud->tcp_socket) { -dev_dbg (&sdev->udev->dev,"shutdown tcp_socket %p\n" , - ud->tcp_socket); +dev_dbg (&sdev->udev->dev,"shutdown sockfd %d\n" , ud->sockfd);kernel_sock_shutdown (ud->tcp_socket,SHUT_RDWR ); }
drivers/usb/usbip/usbip_common.c +5 -11
@@ -317,26 +317,20 @@ int usbip_recv(struct socket *sock, void *buf, int size)struct msghdr msg = {.msg_flags =MSG_NOSIGNAL };int total =0 ; +if (!sock || !buf || !size) +return -EINVAL ; +iov_iter_kvec (&msg.msg_iter,READ |ITER_KVEC , &iov,1 , size);usbip_dbg_xmit ("enter\n" ); -if (!sock || !buf || !size) { -pr_err ("invalid arg, sock %p buff %p size %d\n" , sock, buf, - size); -return -EINVAL ; - } -do { -int sz =msg_data_left (&msg); +msg_data_left (&msg); sock->sk->sk_allocation =GFP_NOIO ; result =sock_recvmsg (sock, &msg,MSG_WAITALL ); -if (result <=0 ) { -pr_debug ("receive sock %p buf %p size %u ret %d total %d\n" , - sock, buf + total, sz, result, total); +if (result <=0 ) goto err; - } total += result; }while (msg_data_left (&msg));
drivers/usb/usbip/vhci_hcd.c +1 -1
@@ -965,7 +965,7 @@ static void vhci_shutdown_connection(struct usbip_device *ud)/* need this? see stub_dev.c */ if (ud->tcp_socket) { -pr_debug ("shutdown tcp_socket %p\n" , ud->tcp_socket); +pr_debug ("shutdown tcp_socket %d\n" , ud->sockfd);kernel_sock_shutdown (ud->tcp_socket,SHUT_RDWR ); }
Quoted 11 lines · On 01/01/2018 03:11 AM, [email protected] wrote:
The patch below does not apply to the 4.4-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.thanks,
greg k-h
This needs fixing in 4.4 as well. I will generate a patch for 4.4 stable.
thanks,
-- Shuah