mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-01-22 07:53:11 -05:00
7f5611cbc4
As mentioned in a previous commit of this series, using the 'net'
structure via 'current' is not recommended for different reasons:
- Inconsistency: getting info from the reader's/writer's netns vs only
from the opener's netns.
- current->nsproxy can be NULL in some cases, resulting in an 'Oops'
(null-ptr-deref), e.g. when the current task is exiting, as spotted by
syzbot [1] using acct(2).
The per-netns structure can be obtained from the table->data using
container_of(), then the 'net' one can be retrieved from the listen
socket (if available).
Fixes:
|
||
---|---|---|
.. | ||
af_rds.c | ||
bind.c | ||
cong.c | ||
connection.c | ||
ib.c | ||
ib.h | ||
ib_cm.c | ||
ib_frmr.c | ||
ib_mr.h | ||
ib_rdma.c | ||
ib_recv.c | ||
ib_ring.c | ||
ib_send.c | ||
ib_stats.c | ||
ib_sysctl.c | ||
info.c | ||
info.h | ||
Kconfig | ||
loop.c | ||
loop.h | ||
Makefile | ||
message.c | ||
page.c | ||
rdma.c | ||
rdma_transport.c | ||
rdma_transport.h | ||
rds.h | ||
rds_single_path.h | ||
recv.c | ||
send.c | ||
stats.c | ||
sysctl.c | ||
tcp.c | ||
tcp.h | ||
tcp_connect.c | ||
tcp_listen.c | ||
tcp_recv.c | ||
tcp_send.c | ||
tcp_stats.c | ||
threads.c | ||
transport.c |