[PATCH] netlink: fix potential race issue in netlink_native_seq_show()

From: nai lin
Date: Wed Jan 17 2024 - 03:38:24 EST


Access to the nlk group should be protected by netlink_lock_table() like
commit <f773608026ee> ("netlink: access nlk groups safely in netlink bind
and getname"), otherwise there will be potential race conditions.

Signed-off-by: nai lin <ayano2023th@xxxxxxxxx>
---
net/netlink/af_netlink.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/netlink/af_netlink.c b/net/netlink/af_netlink.c
index 4ed8ffd58ff3..61ad81fb80f5 100644
--- a/net/netlink/af_netlink.c
+++ b/net/netlink/af_netlink.c
@@ -2693,6 +2693,7 @@ static int netlink_native_seq_show(struct seq_file *seq, void *v)
struct sock *s = v;
struct netlink_sock *nlk = nlk_sk(s);

+ netlink_lock_table();
seq_printf(seq, "%pK %-3d %-10u %08x %-8d %-8d %-5d %-8d %-8u %-8lu\n",
s,
s->sk_protocol,
@@ -2705,7 +2706,7 @@ static int netlink_native_seq_show(struct seq_file *seq, void *v)
atomic_read(&s->sk_drops),
sock_i_ino(s)
);
-
+ netlink_unlock_table();
}
return 0;
}
--
2.25.1