arp: use RCU protection in arp_xmit()
arp_xmit() can be called without RTNL or RCU protection.
Use RCU protection to avoid potential UAF.
Fixes: 29a26a5680
("netfilter: Pass struct net into the netfilter hooks")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reviewed-by: David Ahern <dsahern@kernel.org>
Reviewed-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20250207135841.1948589-5-edumazet@google.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
This commit is contained in:
parent
becbd5850c
commit
a42b69f692
1 changed files with 3 additions and 1 deletions
|
@ -659,10 +659,12 @@ static int arp_xmit_finish(struct net *net, struct sock *sk, struct sk_buff *skb
|
|||
*/
|
||||
void arp_xmit(struct sk_buff *skb)
|
||||
{
|
||||
rcu_read_lock();
|
||||
/* Send it off, maybe filter it using firewalling first. */
|
||||
NF_HOOK(NFPROTO_ARP, NF_ARP_OUT,
|
||||
dev_net(skb->dev), NULL, skb, NULL, skb->dev,
|
||||
dev_net_rcu(skb->dev), NULL, skb, NULL, skb->dev,
|
||||
arp_xmit_finish);
|
||||
rcu_read_unlock();
|
||||
}
|
||||
EXPORT_SYMBOL(arp_xmit);
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue