mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-07 19:30:30 +09:00
usbip: prevent leaking socket pointer address in messages
commit 90120d15f4 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
b6f826ba10
commit
04e7c734e3
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user