android_kernel_motorola_sm6375/net
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Wang Yufen d975bec1ea bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues
[ Upstream commit 8ec95b94716a1e4d126edc3fb2bc426a717e2dba ]

When running `test_sockmap` selftests, the following warning appears:

  WARNING: CPU: 2 PID: 197 at net/core/stream.c:205 sk_stream_kill_queues+0xd3/0xf0
  Call Trace:
  <TASK>
  inet_csk_destroy_sock+0x55/0x110
  tcp_rcv_state_process+0xd28/0x1380
  ? tcp_v4_do_rcv+0x77/0x2c0
  tcp_v4_do_rcv+0x77/0x2c0
  __release_sock+0x106/0x130
  __tcp_close+0x1a7/0x4e0
  tcp_close+0x20/0x70
  inet_release+0x3c/0x80
  __sock_release+0x3a/0xb0
  sock_close+0x14/0x20
  __fput+0xa3/0x260
  task_work_run+0x59/0xb0
  exit_to_user_mode_prepare+0x1b3/0x1c0
  syscall_exit_to_user_mode+0x19/0x50
  do_syscall_64+0x48/0x90
  entry_SYSCALL_64_after_hwframe+0x44/0xae

The root case is in commit 84472b436e76 ("bpf, sockmap: Fix more uncharged
while msg has more_data"), where I used msg->sg.size to replace the tosend,
causing breakage:

  if (msg->apply_bytes && msg->apply_bytes < tosend)
    tosend = psock->apply_bytes;

Fixes: 84472b436e76 ("bpf, sockmap: Fix more uncharged while msg has more_data")
Reported-by: Jakub Sitnicki <jakub@cloudflare.com>
Signed-off-by: Wang Yufen <wangyufen@huawei.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Acked-by: John Fastabend <john.fastabend@gmail.com>
Acked-by: Jakub Sitnicki <jakub@cloudflare.com>
Link: https://lore.kernel.org/bpf/1667266296-8794-1-git-send-email-wangyufen@huawei.com
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-11-25 17:42:04 +01:00
..
6lowpan
9p net/9p: Initialize the iounit field during fid creation 2022-08-25 11:18:17 +02:00
802
8021q
appletalk
atm net/atm: fix proc_mpc_write incorrect return value 2022-10-29 10:20:35 +02:00
ax25 ax25: Fix UAF bugs in ax25 timers 2022-04-20 09:19:40 +02:00
batman-adv batman-adv: Don't skb_split skbuffs with frag_list 2022-05-18 09:47:24 +02:00
bluetooth Bluetooth: L2CAP: Fix attempting to access uninitialized memory 2022-11-10 17:57:54 +01:00
bpf bpf: Don't redirect packets with invalid pkt_len 2022-09-05 10:27:46 +02:00
bpfilter
bridge netfilter: ebtables: fix memory leak when blob is malformed 2022-09-28 11:04:07 +02:00
caif
can can: j1939: transport: j1939_session_skb_drop_old(): spin_unlock_irqrestore() before kfree_skb() 2022-11-03 23:56:52 +09:00
ceph
core net, neigh: Fix null-ptr-deref in neigh_table_clear() 2022-11-10 17:57:52 +01:00
dcb
dccp dccp: put dccp_qpolicy_full() and dccp_qpolicy_push() in the same lock 2022-08-25 11:17:49 +02:00
decnet
dns_resolver
dsa
ethernet
hsr
ieee802154 net: ieee802154: fix error return code in dgram_bind() 2022-11-03 23:56:54 +09:00
ife
ipv4 bpf, sockmap: Fix the sk->sk_forward_alloc warning of sk_stream_kill_queues 2022-11-25 17:42:04 +01:00
ipv6 tcp/udp: Make early_demux back namespacified. 2022-11-10 17:57:55 +01:00
iucv
kcm kcm: annotate data-races around kcm->rx_wait 2022-11-03 23:56:55 +09:00
key af_key: Do not call xfrm_probe_algs in parallel 2022-09-05 10:27:40 +02:00
l2tp ipv6: Fix signed integer overflow in l2tp_ip6_sendmsg 2022-06-22 14:11:21 +02:00
l3mdev l3mdev: l3mdev_master_upper_ifindex_by_index_rcu should be using netdev_master_upper_dev_get_rcu 2022-04-27 13:50:47 +02:00
lapb
llc llc: only change llc->dev when bind() succeeds 2022-03-28 08:46:48 +02:00
mac80211 wifi: mac80211: allow bw change during channel switch in mesh 2022-10-26 13:22:22 +02:00
mac802154 mac802154: Fix LQI recording 2022-11-03 23:56:53 +09:00
mpls
ncsi
netfilter ipvs: fix WARNING in ip_vs_app_net_cleanup() 2022-11-10 17:57:51 +01:00
netlabel netlabel: fix out-of-bounds memory accesses 2022-04-15 14:18:35 +02:00
netlink netlink: do not reset transport header in netlink_recvmsg() 2022-05-18 09:47:25 +02:00
netrom
nfc NFC: NULL out the dev->rfkill to prevent UAF 2022-06-14 18:11:33 +02:00
nsh
openvswitch openvswitch: switch from WARN to pr_warn 2022-11-03 23:56:56 +09:00
packet net/af_packet: check len when min_header_len equals to 0 2022-09-05 10:27:48 +02:00
phonet
psample
qrtr
rds net: rds: don't hold sock lock when cancelling work from rds_tcp_reset_callbacks() 2022-10-26 13:22:26 +02:00
rfkill
rose rose: Fix NULL pointer dereference in rose_send_frame() 2022-11-10 17:57:51 +01:00
rxrpc rxrpc: Fix calc of resend age 2022-09-28 11:03:58 +02:00
sched net: sched: Fix use after free in red_enqueue() 2022-11-10 17:57:50 +01:00
sctp sctp: handle the error returned from sctp_auth_asoc_init_active_key 2022-10-26 13:22:26 +02:00
smc net/smc: Remove redundant refcount increase 2022-09-15 12:04:50 +02:00
strparser
sunrpc SUNRPC: RPC level errors should set task->tk_rpc_status 2022-09-05 10:27:40 +02:00
switchdev
tipc tipc: fix a null-ptr-deref in tipc_topsrv_accept 2022-11-03 23:56:55 +09:00
tls net/tls: Fix race in TLS device down flow 2022-07-29 17:14:12 +02:00
unix io_uring/af_unix: defer registered files gc to io_uring release 2022-10-26 13:22:59 +02:00
vmw_vsock vhost/vsock: Use kvmalloc/kvfree for larger packets. 2022-10-26 13:22:25 +02:00
wimax
wireless wifi: cfg80211: fix memory leak in query_regdb_file() 2022-11-25 17:42:04 +01:00
x25 net/x25: Fix null-ptr-deref caused by x25_disconnect 2022-04-15 14:18:21 +02:00
xdp
xfrm xfrm: Update ipcomp_scratches with NULL when freed 2022-10-26 13:22:49 +02:00
compat.c
Kconfig
Makefile
socket.c net: Fix a data-race around sysctl_somaxconn. 2022-09-05 10:27:42 +02:00
sysctl_net.c