diff options
| author | Eric Dumazet <edumazet@google.com> | 2024-02-13 06:32:38 +0000 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2024-02-14 11:20:13 +0000 |
| commit | c7d52737e7ebd31cc5fef46380d94b58becf9479 (patch) | |
| tree | 4bd56292d5714b0bea521695b95ae8c445c6fd13 /net/core/dev.h | |
| parent | 12692e3df2dacf2993c56aa23b6d3de921a5bdff (diff) | |
net-sysfs: use dev_addr_sem to remove races in address_show()
Using dev_base_lock is not preventing from reading garbage.
Use dev_addr_sem instead.
v4: place dev_addr_sem extern in net/core/dev.h (Jakub Kicinski)
Link: https://lore.kernel.org/netdev/20240212175845.10f6680a@kernel.org/
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core/dev.h')
| -rw-r--r-- | net/core/dev.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/core/dev.h b/net/core/dev.h index a43dfe3de50e..45892267848d 100644 --- a/net/core/dev.h +++ b/net/core/dev.h @@ -3,6 +3,7 @@ #define _NET_CORE_DEV_H #include <linux/types.h> +#include <linux/rwsem.h> struct net; struct net_device; @@ -46,6 +47,8 @@ extern int weight_p; extern int dev_weight_rx_bias; extern int dev_weight_tx_bias; +extern struct rw_semaphore dev_addr_sem; + /* rtnl helpers */ extern struct list_head net_todo_list; void netdev_run_todo(void); |