Commit 90120d15 authored by Shuah Khan's avatar Shuah Khan Committed by Greg Kroah-Hartman

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.
Signed-off-by: default avatarShuah Khan <shuahkh@osg.samsung.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 248a2204
...@@ -149,8 +149,7 @@ static void stub_shutdown_connection(struct usbip_device *ud) ...@@ -149,8 +149,7 @@ static void stub_shutdown_connection(struct usbip_device *ud)
* step 1? * step 1?
*/ */
if (ud->tcp_socket) { if (ud->tcp_socket) {
dev_dbg(&sdev->udev->dev, "shutdown tcp_socket %p\n", dev_dbg(&sdev->udev->dev, "shutdown sockfd %d\n", ud->sockfd);
ud->tcp_socket);
kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR); kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR);
} }
......
...@@ -317,26 +317,20 @@ int usbip_recv(struct socket *sock, void *buf, int size) ...@@ -317,26 +317,20 @@ int usbip_recv(struct socket *sock, void *buf, int size)
struct msghdr msg = {.msg_flags = MSG_NOSIGNAL}; struct msghdr msg = {.msg_flags = MSG_NOSIGNAL};
int total = 0; int total = 0;
if (!sock || !buf || !size)
return -EINVAL;
iov_iter_kvec(&msg.msg_iter, READ|ITER_KVEC, &iov, 1, size); iov_iter_kvec(&msg.msg_iter, READ|ITER_KVEC, &iov, 1, size);
usbip_dbg_xmit("enter\n"); 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 { do {
int sz = msg_data_left(&msg); msg_data_left(&msg);
sock->sk->sk_allocation = GFP_NOIO; sock->sk->sk_allocation = GFP_NOIO;
result = sock_recvmsg(sock, &msg, MSG_WAITALL); result = sock_recvmsg(sock, &msg, MSG_WAITALL);
if (result <= 0) { if (result <= 0)
pr_debug("receive sock %p buf %p size %u ret %d total %d\n",
sock, buf + total, sz, result, total);
goto err; goto err;
}
total += result; total += result;
} while (msg_data_left(&msg)); } while (msg_data_left(&msg));
......
...@@ -965,7 +965,7 @@ static void vhci_shutdown_connection(struct usbip_device *ud) ...@@ -965,7 +965,7 @@ static void vhci_shutdown_connection(struct usbip_device *ud)
/* need this? see stub_dev.c */ /* need this? see stub_dev.c */
if (ud->tcp_socket) { 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); kernel_sock_shutdown(ud->tcp_socket, SHUT_RDWR);
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment