android_kernel_xiaomi_sm8350/net
Daniel Lezcano 7d460db953 [IPV6]: Fix ip6_frag ctl
Alexey Dobriyan reported an oops when unsharing the network
indefinitely inside a loop. This is because the ip6_frag is not per
namespace while the ctls are.

That happens at the fragment timer expiration:
inet_frag_secret_rebuild function is called and this one restarts the
timer using the value stored inside the sysctl field.

        "mod_timer(&f->secret_timer, now + f->ctl->secret_interval);"

When the network is unshared, ip6_frag.ctl is initialized with the new
sysctl instances, but ip6_frag has only one instance. A race in this
case will appear because f->ctl can be modified during the read access
in the timer callback.

Until the ip6_frag is not per namespace, I discard the assignation to
the ctl field of ip6_frags in ip6_frag_sysctl_init when the network
namespace is not the init net.

Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2008-01-28 15:08:04 -08:00
..
9p
802 [TR]: Use ctl paths to register net/token-ring/ table 2008-01-28 14:56:28 -08:00
8021q
appletalk [APPLETALK]: Annotations to clear sparse warnings 2008-01-28 15:02:43 -08:00
atm [ATM]: Suppress some sparse warnings 2008-01-28 15:02:43 -08:00
ax25 [AX25]: sparse cleanups 2008-01-28 15:02:03 -08:00
bluetooth [BLUETOOTH]: Use sockfd_put() 2008-01-28 15:00:48 -08:00
bridge [BRIDGE]: Remove unused include of a header file in ebtables.c 2008-01-28 15:02:48 -08:00
can [CAN]: Add virtual CAN netdevice driver 2008-01-28 14:54:12 -08:00
core [NETNS][DST] dst: pass the dst_ops as parameter to the gc functions 2008-01-28 15:02:46 -08:00
dccp [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
decnet [NETNS][DST] dst: pass the dst_ops as parameter to the gc functions 2008-01-28 15:02:46 -08:00
econet
ethernet [ETH]: Combine format_addr() with print_mac(). 2008-01-28 15:00:05 -08:00
ieee80211 wireless: fix '!x & y' typo's 2008-01-28 15:03:35 -08:00
ipv4 [NETNS][DST] dst: pass the dst_ops as parameter to the gc functions 2008-01-28 15:02:46 -08:00
ipv6 [IPV6]: Fix ip6_frag ctl 2008-01-28 15:08:04 -08:00
ipx [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
irda [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
iucv [IUCV]: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:54 -08:00
key [XFRM] xfrm_policy_destroy: Rename and relative fixes. 2008-01-28 15:00:46 -08:00
lapb [LAPB] net/lapb/lapb_iface.c: use LIST_HEAD instead of LIST_HEAD_INIT 2008-01-28 14:56:52 -08:00
llc [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
mac80211 mac80211: Add radio led trigger 2008-01-28 15:01:04 -08:00
netfilter [NETFILTER]: nf_conntrack: make print_conntrack function optional for l4protos 2008-01-28 15:02:42 -08:00
netlabel
netlink [NETLINK] af_netlink: kill some bloat 2008-01-28 15:01:50 -08:00
netrom [NET]: Simple ctl_table to ctl_path conversions. 2008-01-28 15:01:07 -08:00
packet [PACKET]: Fix sparse warnings in af_packet.c 2008-01-28 15:00:48 -08:00
rfkill
rose [ROSE]: Supress sparse warnings 2008-01-28 15:02:44 -08:00
rxrpc [RXRPC]: Use cpu_to_be32() where appropriate. 2008-01-28 14:58:04 -08:00
sched [PKT_SCHED] HTB: htb_classid is dead static inline 2008-01-28 15:01:59 -08:00
sctp [SCTP]: Fix build warning in sctp_sf_do_5_1C_ack(). 2008-01-28 15:02:48 -08:00
sunrpc [NET]: Add some acquires/releases sparse annotations. 2008-01-28 15:00:31 -08:00
tipc [TIPC]: Use tipc_port_unlock 2008-01-28 15:01:05 -08:00
unix [NET]: Add some acquires/releases sparse annotations. 2008-01-28 15:00:31 -08:00
wanrouter
wireless net/wireless/Kconfig: whitespace corrections 2008-01-28 14:59:55 -08:00
x25 [X25]: Avoid divides and sparse warnings 2008-01-28 15:02:03 -08:00
xfrm [XFRM] xfrm_policy: kill some bloat 2008-01-28 15:01:49 -08:00
compat.c [NETFILTER]: ip6_tables: add compat support 2008-01-28 14:58:36 -08:00
Kconfig [NETFILTER]: Add CONFIG_NETFILTER_ADVANCED option 2008-01-28 14:59:12 -08:00
Makefile [CAN]: Add PF_CAN core module 2008-01-28 14:54:10 -08:00
nonet.c
socket.c [NET] sysctl: make sysctl_somaxconn per-namespace 2008-01-28 14:56:57 -08:00
sysctl_net.c [NET]: Remove the empty net_table 2008-01-28 14:56:29 -08:00
TUNABLE