android_kernel_motorola_sm6375/net
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Ziyang Xuan c7eeba4705 ipv6/addrconf: fix a potential refcount underflow for idev
[ Upstream commit 06a0716949c22e2aefb648526580671197151acc ]

Now in addrconf_mod_rs_timer(), reference idev depends on whether
rs_timer is not pending. Then modify rs_timer timeout.

There is a time gap in [1], during which if the pending rs_timer
becomes not pending. It will miss to hold idev, but the rs_timer
is activated. Thus rs_timer callback function addrconf_rs_timer()
will be executed and put idev later without holding idev. A refcount
underflow issue for idev can be caused by this.

	if (!timer_pending(&idev->rs_timer))
		in6_dev_hold(idev);
		  <--------------[1]
	mod_timer(&idev->rs_timer, jiffies + when);

To fix the issue, hold idev if mod_timer() return 0.

Fixes: b7b1bfce0b ("ipv6: split duplicate address detection and router solicitation timer")
Suggested-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: Ziyang Xuan <william.xuanziyang@huawei.com>
Reviewed-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-07-27 08:37:32 +02:00
..
6lowpan
9p 9p/xen : Fix use after free bug in xen_9pfs_front_remove due to race condition 2023-04-20 12:07:36 +02:00
802 mrp: introduce active flags to prevent UAF when applicant uninit 2023-01-18 11:41:37 +01:00
8021q vlan: fix a potential uninit-value in vlan_dev_hard_start_xmit() 2023-05-30 12:44:06 +01:00
appletalk
atm atm: hide unused procfs functions 2023-06-09 10:28:59 +02:00
ax25
batman-adv batman-adv: Broken sync while rescheduling delayed work 2023-06-14 10:59:56 +02:00
bluetooth Bluetooth: Fix use-after-free in hci_remove_ltk/hci_remove_irk 2023-06-14 10:59:58 +02:00
bpf bpf: Move skb->len == 0 checks into __bpf_redirect 2023-01-18 11:41:04 +01:00
bpfilter
bridge net: bridge: keep ports without IFF_UNICAST_FLT in BR_PROMISC mode 2023-07-27 08:37:23 +02:00
caif net: caif: Fix use-after-free in cfusbl_device_notify() 2023-03-17 08:32:51 +01:00
can can: j1939: avoid possible use-after-free when j1939_can_rx_register fails 2023-06-14 10:59:57 +02:00
ceph
core netlink: Add __sock_i_ino() for __netlink_diag_dump(). 2023-07-27 08:37:12 +02:00
dcb
dccp treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
decnet Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
dns_resolver
dsa net: dsa: tag_sja1105: fix MAC DA patching from meta frames 2023-07-27 08:37:24 +02:00
ethernet
hsr hsr: Avoid double remove of a node. 2023-01-18 11:41:09 +01:00
ieee802154 net: ieee802154: fix error return code in dgram_bind() 2022-11-03 23:56:54 +09:00
ife
ipv4 tcp: annotate data races in __tcp_oow_rate_limited() 2023-07-27 08:37:23 +02:00
ipv6 ipv6/addrconf: fix a potential refcount underflow for idev 2023-07-27 08:37:32 +02:00
iucv treewide: Replace DECLARE_TASKLET() with DECLARE_TASKLET_OLD() 2023-04-20 12:07:32 +02:00
kcm kcm: close race conditions on sk_receive_queue 2022-11-25 17:42:21 +01:00
key af_key: Reject optional tunnel/BEET mode templates in outbound policies 2023-05-30 12:44:05 +01:00
l2tp inet6: Remove inet6_destroy_sock() in sk->sk_prot->destroy(). 2023-04-26 11:24:05 +02:00
l3mdev
lapb
llc
mac80211 wifi: mac80211: fix invalid drv_sta_pre_rcu_remove calls for non-uploaded sta 2023-04-20 12:07:33 +02:00
mac802154 mac802154: fix missing INIT_LIST_HEAD in ieee802154_if_add() 2022-12-14 11:30:45 +01:00
mpls net: mpls: fix stale pointer if allocation fails during device rename 2023-02-22 12:50:41 +01:00
ncsi net/ncsi: clear Tx enable mode when handling a Config required AEN 2023-05-17 11:35:58 +02:00
netfilter netfilter: nf_tables: prevent OOB access in nft_byteorder_eval 2023-07-27 08:37:28 +02:00
netlabel
netlink netlink: Add __sock_i_ino() for __netlink_diag_dump(). 2023-07-27 08:37:12 +02:00
netrom netrom: fix info-leak in nr_write_internal() 2023-06-09 10:28:52 +02:00
nfc net: nfc: Fix use-after-free caused by nfc_llcp_find_local 2023-07-27 08:37:11 +02:00
nsh net: nsh: Use correct mac_offset to unwind gso skb in nsh_gso_segment() 2023-05-30 12:44:05 +01:00
openvswitch net: openvswitch: fix flow memory leak in ovs_flow_cmd_new 2023-02-22 12:50:25 +01:00
packet af_packet: do not use READ_ONCE() in packet_bind() 2023-06-09 10:28:53 +02:00
phonet
psample
qrtr
rds rds: rds_rm_zerocopy_callback() correct order for list_add_tail() 2023-03-11 16:43:41 +01:00
rfkill
rose net/rose: Fix to not accept on connected socket 2023-02-22 12:50:34 +01:00
rxrpc rxrpc: Fix hard call timeout units 2023-05-17 11:35:59 +02:00
sched net/sched: cls_fw: Fix improper refcount update leads to use-after-free 2023-07-27 08:37:30 +02:00
sctp sctp: fix potential deadlock on &net->sctp.addr_wq_lock 2023-07-27 08:37:22 +02:00
smc net/smc: fix fallback failed while sendmsg with fastopen 2023-03-17 08:32:51 +01:00
strparser
sunrpc treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
switchdev
tipc net: tipc: resize nlattr array to correct size 2023-06-21 15:44:12 +02:00
tls treewide: Remove uninitialized_var() usage 2023-06-09 10:29:01 +02:00
unix af_unix: Fix data races around sk->sk_shutdown. 2023-05-30 12:44:02 +01:00
vmw_vsock vsock: avoid to close connected socket after the timeout 2023-05-30 12:44:05 +01:00
wimax
wireless wifi: cfg80211: rewrite merging of inherited elements 2023-07-27 08:37:10 +02:00
x25 net/x25: Fix to not accept on connected socket 2023-02-22 12:50:26 +01:00
xdp xsk: Honor SO_BINDTODEVICE on bind 2023-07-27 08:37:23 +02:00
xfrm xfrm: Check if_id in inbound policy/secpath match 2023-06-09 10:28:56 +02:00
compat.c
Kconfig Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
Makefile Remove DECnet support from kernel 2023-06-21 15:44:10 +02:00
socket.c net: annotate sk->sk_err write from do_recvmmsg() 2023-05-30 12:44:01 +01:00
sysctl_net.c