]> git.hungrycats.org Git - linux/commitdiff
usbip: prevent leaking socket pointer address in messages
authorShuah Khan <shuahkh@osg.samsung.com>
Fri, 15 Dec 2017 17:50:09 +0000 (10:50 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jan 2018 11:06:12 +0000 (12:06 +0100)
commit 90120d15f4c397272aaf41077960a157fc4212bf upstream.

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.

Signed-off-by: Shuah Khan <shuahkh@osg.samsung.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/usbip/stub_dev.c
drivers/usb/usbip/usbip_common.c
drivers/usb/usbip/vhci_hcd.c

index a3ec49bdc1e63afdc30bfb2f8ae9705d6aca805d..ec38370ffcab9587e1ba910e68375eebe8bb6403 100644 (file)
@@ -163,8 +163,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);
        }
 
index 9752b93f754e71673f0e8a5b50a71d2d603cb49b..1838f1b2c2fafeed7bb05fae82fb859a18da1bdc 100644 (file)
@@ -317,18 +317,14 @@ int usbip_recv(struct socket *sock, void *buf, int size)
        struct msghdr msg;
        struct kvec iov;
        int total = 0;
-
        /* for blocks of if (usbip_dbg_flag_xmit) */
        char *bp = buf;
        int osize = size;
 
-       usbip_dbg_xmit("enter\n");
-
-       if (!sock || !buf || !size) {
-               pr_err("invalid arg, sock %p buff %p size %d\n", sock, buf,
-                      size);
+       if (!sock || !buf || !size)
                return -EINVAL;
-       }
+
+       usbip_dbg_xmit("enter\n");
 
        do {
                sock->sk->sk_allocation = GFP_NOIO;
@@ -341,11 +337,8 @@ int usbip_recv(struct socket *sock, void *buf, int size)
                msg.msg_flags      = MSG_NOSIGNAL;
 
                result = kernel_recvmsg(sock, &msg, &iov, 1, size, MSG_WAITALL);
-               if (result <= 0) {
-                       pr_debug("receive sock %p buf %p size %u ret %d total %d\n",
-                                sock, buf, size, result, total);
+               if (result <= 0)
                        goto err;
-               }
 
                size -= result;
                buf += result;
index 0aaa8e524afd71432a24019c3eeeccc7883be39a..00d68945548e34f515ce88986fe566f7dfcf56ee 100644 (file)
@@ -778,7 +778,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 sockfd %d\n", ud->sockfd);
                kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR);
        }