diff options
author | 2025-05-15 12:20:15 +0000 | |
---|---|---|
committer | 2025-05-19 12:12:54 +0100 | |
commit | 239af1970bcb039a1551d2c438d113df0010c149 (patch) | |
tree | 78075848cf47ecd99bbb39fb8ff82f98e4b81615 /net/unix/af_unix.c | |
parent | mr: consolidate the ipmr_can_free_table() checks. (diff) | |
download | wireguard-linux-239af1970bcb039a1551d2c438d113df0010c149.tar.xz wireguard-linux-239af1970bcb039a1551d2c438d113df0010c149.zip |
llc: fix data loss when reading from a socket in llc_ui_recvmsg()
For SOCK_STREAM sockets, if user buffer size (len) is less
than skb size (skb->len), the remaining data from skb
will be lost after calling kfree_skb().
To fix this, move the statement for partial reading
above skb deletion.
Found by InfoTeCS on behalf of Linux Verification Center (linuxtesting.org)
Fixes: 30a584d944fb ("[LLX]: SOCK_DGRAM interface fixes")
Cc: stable@vger.kernel.org
Signed-off-by: Ilia Gavrilov <Ilia.Gavrilov@infotecs.ru>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions