Skip to content

Commit 832128c

Browse files
q2venkuba-moo
authored andcommitted
ipv6: Convert inet6_ioctl() to per-netns RTNL.
These functions are called from inet6_ioctl() with a socket's netns and hold RTNL. * SIOCSIFADDR : addrconf_add_ifaddr() * SIOCDIFADDR : addrconf_del_ifaddr() * SIOCSIFDSTADDR : addrconf_set_dstaddr() Let's use rtnl_net_lock(). Signed-off-by: Kuniyuki Iwashima <[email protected]> Link: https://patch.msgid.link/[email protected] Signed-off-by: Jakub Kicinski <[email protected]>
1 parent cdc5c11 commit 832128c

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

net/ipv6/addrconf.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2979,11 +2979,11 @@ int addrconf_set_dstaddr(struct net *net, void __user *arg)
29792979
if (copy_from_user(&ireq, arg, sizeof(struct in6_ifreq)))
29802980
return -EFAULT;
29812981

2982-
rtnl_lock();
2982+
rtnl_net_lock(net);
29832983
dev = __dev_get_by_index(net, ireq.ifr6_ifindex);
29842984
if (dev && dev->type == ARPHRD_SIT)
29852985
err = addrconf_set_sit_dstaddr(net, dev, &ireq);
2986-
rtnl_unlock();
2986+
rtnl_net_unlock(net);
29872987
return err;
29882988
}
29892989

@@ -3181,9 +3181,9 @@ int addrconf_add_ifaddr(struct net *net, void __user *arg)
31813181
cfg.pfx = &ireq.ifr6_addr;
31823182
cfg.plen = ireq.ifr6_prefixlen;
31833183

3184-
rtnl_lock();
3184+
rtnl_net_lock(net);
31853185
err = inet6_addr_add(net, ireq.ifr6_ifindex, &cfg, NULL);
3186-
rtnl_unlock();
3186+
rtnl_net_unlock(net);
31873187
return err;
31883188
}
31893189

@@ -3198,10 +3198,10 @@ int addrconf_del_ifaddr(struct net *net, void __user *arg)
31983198
if (copy_from_user(&ireq, arg, sizeof(struct in6_ifreq)))
31993199
return -EFAULT;
32003200

3201-
rtnl_lock();
3201+
rtnl_net_lock(net);
32023202
err = inet6_addr_del(net, ireq.ifr6_ifindex, 0, &ireq.ifr6_addr,
32033203
ireq.ifr6_prefixlen, NULL);
3204-
rtnl_unlock();
3204+
rtnl_net_unlock(net);
32053205
return err;
32063206
}
32073207

0 commit comments

Comments
 (0)