Changbin Du
b0bb49b0fb
net: make get_net_ns return error if NET_NS is disabled
...
[ Upstream commit ea6932d70e223e02fea3ae20a4feff05d7c1ea9a ]
There is a panic in socket ioctl cmd SIOCGSKNS when NET_NS is not enabled.
The reason is that nsfs tries to access ns->ops but the proc_ns_operations
is not implemented in this case.
[7.670023] Unable to handle kernel NULL pointer dereference at virtual address 00000010
[7.670268] pgd = 32b54000
[7.670544] [00000010] *pgd=00000000
[7.671861] Internal error: Oops: 5 [#1 ] SMP ARM
[7.672315] Modules linked in:
[7.672918] CPU: 0 PID: 1 Comm: systemd Not tainted 5.13.0-rc3-00375-g6799d4f2da49 #16
[7.673309] Hardware name: Generic DT based system
[7.673642] PC is at nsfs_evict+0x24/0x30
[7.674486] LR is at clear_inode+0x20/0x9c
The same to tun SIOCGSKNS command.
To fix this problem, we make get_net_ns() return -EINVAL when NET_NS is
disabled. Meanwhile move it to right place net/core/net_namespace.c.
Signed-off-by: Changbin Du <changbin.du@gmail.com>
Fixes: c62cce2cae ("net: add an ioctl to get a socket network namespace")
Cc: Cong Wang <xiyou.wangcong@gmail.com>
Cc: Jakub Kicinski <kuba@kernel.org>
Cc: David Laight <David.Laight@ACULAB.COM>
Cc: Christian Brauner <christian.brauner@ubuntu.com>
Suggested-by: Jakub Kicinski <kuba@kernel.org>
Acked-by: Christian Brauner <christian.brauner@ubuntu.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-06-23 14:41:25 +02:00
..
9p
bluetooth
Bluetooth: verify AMP hci_chan before amp_destroy
2021-05-14 09:44:10 +02:00
caif
net: caif: add proper error handling
2021-06-10 13:37:09 +02:00
iucv
netfilter
netfilter: nft_dynset: fix timeouts later than 23 days
2020-12-30 11:50:54 +01:00
netns
net: xfrm: Localize sequence counter per network namespace
2021-04-14 08:24:13 +02:00
nfc
NFC: nci: fix memory leak in nci_allocate_device
2021-05-28 13:10:27 +02:00
phonet
sctp
net: sctp: Fix IPv6 ancestor_size calc in sctp_copy_descendant
2020-09-26 18:03:13 +02:00
tc_act
net: sched: take reference to psample group in flow_action infra
2019-09-16 09:18:03 +02:00
6lowpan.h
act_api.h
net: sched: fix police ext initialization
2021-03-04 10:26:53 +01:00
addrconf.h
net: bridge: mcast: fix broken length + header check for MRDv6 Adv.
2021-05-14 09:44:32 +02:00
af_ieee802154.h
af_rxrpc.h
rxrpc: Make rxrpc_kernel_get_srtt() indicate validity
2020-09-09 19:12:23 +02:00
af_unix.h
af_vsock.h
ah.h
arp.h
net: avoid potential false sharing in neighbor related code
2019-12-31 16:45:03 +01:00
atmclip.h
ax25.h
ax88796.h
bond_3ad.h
bond_alb.h
bond_options.h
bonding.h
bonding: wait for sysfs kobject destruction before freeing struct slave
2020-12-08 10:40:24 +01:00
bpf_sk_storage.h
bpf: support cloning sk storage on accept()
2019-08-17 23:18:54 +02:00
busy_poll.h
net: annotate lockless accesses to sk->sk_napi_id
2019-10-30 17:34:35 -07:00
calipso.h
cfg80211-wext.h
cfg80211.h
mac80211: properly handle A-MSDUs that start with an RFC 1042 header
2021-06-03 08:59:01 +02:00
cfg802154.h
checksum.h
cipso_ipv4.h
cls_cgroup.h
codel.h
codel_impl.h
codel_qdisc.h
compat.h
datalink.h
dcbevent.h
dcbnl.h
devlink.h
devlink: disallow reload operation during device cleanup
2019-11-09 19:38:36 -08:00
dn.h
dn_dev.h
dn_fib.h
dn_neigh.h
dn_nsp.h
dn_route.h
drop_monitor.h
net: drop_monitor: use IS_REACHABLE() to guard net_dm_hw_report()
2020-05-27 17:46:24 +02:00
dsa.h
net: dsa: Pass ndo_setup_tc slave callback to drivers
2019-09-16 21:32:57 +02:00
dsfield.h
dst.h
net: Added pointer check for dst->ops->neigh_lookup in dst_neigh_lookup_skb
2020-07-22 09:32:47 +02:00
dst_cache.h
dst_metadata.h
dst_ops.h
net: add bool confirm_neigh parameter for dst_ops.update_pmtu
2020-01-04 19:18:58 +01:00
erspan.h
esp.h
ethoc.h
failover.h
fib_notifier.h
fib_rules.h
fib: add missing attribute validation for tun_id
2020-03-18 07:17:44 +01:00
firewire.h
flow.h
ipv4: Initialize flowi4_multipath_hash in data path
2020-09-26 18:03:12 +02:00
flow_dissector.h
net: sched: correct flower port blocking
2020-03-05 16:43:32 +01:00
flow_offload.h
net: core: rename indirect block ingress cb function
2019-12-18 16:08:47 +01:00
fou.h
fq.h
net/flow_dissector: switch to siphash
2019-10-23 20:13:22 -07:00
fq_impl.h
net/fq_impl: Switch to kvmalloc() for memory allocation
2019-11-08 09:11:49 +01:00
garp.h
gen_stats.h
genetlink.h
genetlink: remove genl_bind
2020-07-22 09:32:46 +02:00
geneve.h
gre.h
gro_cells.h
gtp.h
gue.h
hwbm.h
net: hwbm: if CONFIG_NET_HWBM unset, make stub functions static
2019-10-25 16:24:32 -07:00
icmp.h
net: icmp: pass zeroed opts from icmp{,v6}_ndo_send before sending
2021-03-04 10:26:53 +01:00
ieee80211_radiotap.h
ieee802154_netdev.h
if_inet6.h
ipv6: shrink struct ipv6_mc_socklist
2019-08-28 14:43:03 -07:00
ife.h
ila.h
inet6_connection_sock.h
inet6_hashtables.h
inet_common.h
inet_connection_sock.h
tcp: relookup sock for RST+ACK packets handled by obsolete req sock
2021-03-30 14:35:26 +02:00
inet_ecn.h
inet_ecn: Fix endianness of checksum update when setting ECT(1)
2020-12-08 10:40:25 +01:00
inet_frag.h
inet: frags: re-introduce skb coalescing for local delivery
2019-08-08 15:55:10 -07:00
inet_hashtables.h
dccp: Fix possible memleak in dccp_init and dccp_fini
2020-06-17 16:40:32 +02:00
inet_sock.h
ip: support SO_MARK cmsg
2019-09-13 21:44:19 +02:00
inet_timewait_sock.h
tcp: honor SO_PRIORITY in TIME_WAIT state
2019-09-27 12:05:02 +02:00
inetpeer.h
ip.h
net/ipv4: always honour route mtu during forwarding
2020-10-29 09:57:24 +01:00
ip6_checksum.h
ip6_fib.h
ipv6: Use global sernum for dst validation with nexthop objects
2020-05-14 07:58:20 +02:00
ip6_route.h
net: ipv6: do not consider routes via gateways for anycast address check
2020-04-21 09:04:45 +02:00
ip6_tunnel.h
ip_fib.h
ipv4: nexthop version of fib_info_nh_uses_dev
2020-06-03 08:21:37 +02:00
ip_tunnels.h
ip_tunnels: Set tunnel option flag when tunnel metadata is present
2020-11-24 13:29:05 +01:00
ip_vs.h
ipvs: allow connection reuse for unconfirmed conntrack
2020-08-19 08:16:10 +02:00
ipcomp.h
ipconfig.h
ipv6.h
net: ipv6: add net argument to ip6_dst_lookup_flow
2019-12-18 16:08:40 +01:00
ipv6_frag.h
ipv6_stubs.h
net: ipv6_stub: use ip6_dst_lookup_flow instead of ip6_dst_lookup
2019-12-18 16:08:42 +01:00
ipx.h
bonding/alb: properly access headers in bond_alb_xmit()
2020-02-11 04:35:48 -08:00
iw_handler.h
kcm.h
l3mdev.h
lag.h
lapb.h
lib80211.h
llc.h
llc_c_ac.h
llc_c_ev.h
llc_c_st.h
llc_conn.h
llc: fix sk_buff leak in llc_conn_service()
2019-10-08 13:23:05 -07:00
llc_if.h
llc_pdu.h
llc_s_ac.h
llc_s_ev.h
llc_s_st.h
llc_sap.h
lwtunnel.h
mac80211.h
mac80211: populate debugfs only after cfg80211 init
2020-04-29 16:33:18 +02:00
mac802154.h
mip6.h
mld.h
mpls.h
mpls_iptunnel.h
mrp.h
ncsi.h
ndisc.h
net: avoid potential false sharing in neighbor related code
2019-12-31 16:45:03 +01:00
neighbour.h
Exempt multicast addresses from five-second neighbor lifetime
2020-11-24 13:28:56 +01:00
net_failover.h
net_namespace.h
net: make get_net_ns return error if NET_NS is disabled
2021-06-23 14:41:25 +02:00
net_ratelimit.h
netevent.h
netlabel.h
netlink.h
netlink: Fix nlmsg_parse as a wrapper for strict message parsing
2019-08-13 20:37:16 -07:00
netprio_cgroup.h
netrom.h
nexthop.h
ipv6: fix suspecious RCU usage warning
2021-03-30 14:35:25 +02:00
nl802154.h
nsh.h
p8022.h
page_pool.h
mm: fix struct page layout on 32-bit systems
2021-05-19 10:08:31 +02:00
ping.h
pkt_cls.h
net_sched: fix ops->bind_class() implementations
2020-02-01 09:34:38 +00:00
pkt_sched.h
net: sched: fix tx action rescheduling issue during deactivation
2021-06-03 08:59:13 +02:00
pptp.h
protocol.h
psample.h
net: sched: take reference to psample group in flow_action infra
2019-09-16 09:18:03 +02:00
psnap.h
raw.h
rawv6.h
red.h
sch_red: fix off-by-one checks in red_check_params()
2021-04-14 08:24:14 +02:00
regulatory.h
request_sock.h
net: add {READ|WRITE}_ONCE() annotations on ->rskq_accept_head
2019-10-09 21:34:31 -07:00
rose.h
route.h
ipv4: Revert removal of rt_uses_gateway
2019-09-20 18:23:33 -07:00
rsi_91x.h
rtnetlink.h
can: dev: Move device back to init netns on owning netns delete
2021-03-30 14:35:29 +02:00
rtnh.h
sch_generic.h
net: sched: fix packet stuck problem for lockless qdisc
2021-06-03 08:59:13 +02:00
scm.h
secure_seq.h
seg6.h
seg6_hmac.h
seg6_local.h
slhc_vj.h
smc.h
snmp.h
sock.h
net: really orphan skbs tied to closing sk
2021-06-03 08:59:13 +02:00
sock_reuseport.h
udp: correct reuseport selection with connected sockets
2019-09-16 09:02:18 +02:00
Space.h
stp.h
strparser.h
switchdev.h
tcp.h
tcp: fix SO_RCVLOWAT related hangs under mem pressure
2021-03-04 10:26:17 +01:00
tcp_states.h
timewait_sock.h
tipc.h
tls.h
net/tls: Protect from calling tls_dev_del for TLS RX twice
2020-12-08 10:40:23 +01:00
transp_v6.h
tso.h
tun_proto.h
udp.h
udp: document udp_rcv_segment special case for looped packets
2020-05-10 10:31:33 +02:00
udp_tunnel.h
udplite.h
vsock_addr.h
vxlan.h
vxlan: add adjacent link to limit depth level
2019-10-24 14:53:49 -07:00
wext.h
wimax.h
x25.h
x25device.h
xdp.h
xdp_priv.h
page_pool: do not release pool until inflight == 0.
2019-12-18 16:09:07 +01:00
xdp_sock.h
xsk: add support to allow unaligned chunk placement
2019-08-31 01:08:26 +02:00
xfrm.h
xfrm: Fix NULL pointer dereference on policy lookup
2021-04-14 08:24:14 +02:00