lkml.org 
[lkml]   [2018]   [Jan]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.4 52/74] usbip: prevent leaking socket pointer address in messages
    Date
    4.4-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Shuah Khan <shuahkh@osg.samsung.com>

    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 | 3 +--
    drivers/usb/usbip/usbip_common.c | 15 ++++-----------
    drivers/usb/usbip/vhci_hcd.c | 2 +-
    3 files changed, 6 insertions(+), 14 deletions(-)

    --- a/drivers/usb/usbip/stub_dev.c
    +++ b/drivers/usb/usbip/stub_dev.c
    @@ -163,8 +163,7 @@ static void stub_shutdown_connection(str
    * 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);
    }

    --- a/drivers/usb/usbip/usbip_common.c
    +++ b/drivers/usb/usbip/usbip_common.c
    @@ -317,18 +317,14 @@ int usbip_recv(struct socket *sock, void
    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
    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;
    --- a/drivers/usb/usbip/vhci_hcd.c
    +++ b/drivers/usb/usbip/vhci_hcd.c
    @@ -778,7 +778,7 @@ static void vhci_shutdown_connection(str

    /* 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);
    }


    \
     
     \ /
      Last update: 2018-01-29 21:58    [W:2.229 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site