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: Shuah Khan <shuahkh@osg.samsung.com> Cc: stable <stable@vger.kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Этот коммит содержится в:

коммит произвёл
Greg Kroah-Hartman

родитель
248a220443
Коммит
90120d15f4
@@ -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));
|
||||
|
Ссылка в новой задаче
Block a user