lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 27 Oct 2014 00:22:28 +0100 From: Daniel Borkmann <dborkman@...hat.com> To: Lubomir Rintel <lkundrak@...sk> CC: netdev@...r.kernel.org, "David S. Miller" <davem@...emloft.net>, Hannes Frederic Sowa <hannes@...essinduktion.org> Subject: Re: [PATCH v2] ipv6: notify userspace when we added or changed an ipv6 token On 10/26/2014 11:41 PM, Lubomir Rintel wrote: > NetworkManager might want to know that it changed when the router advertisement > arrives. > > Signed-off-by: Lubomir Rintel <lkundrak@...sk> > Cc: Hannes Frederic Sowa <hannes@...essinduktion.org> > Cc: Daniel Borkmann <dborkman@...hat.com> The reason why I asked regarding the rtmsg_ifinfo() vs inet6_ifinfo_notify() in v1 is actually that this is an idev-only specific action. By using inet6_ifinfo_notify() for notification, the kernel would actually need to do much less work: the notification only needs inet6_fill_ifinfo() as that would contain the new token, while the rtmsg_ifinfo() is rather dev-centric and fills out attributes about the _whole_ device (which surely includes the IPv6 idev attributes, but also a lot more, which might actually be unnecessary here), see also: $ git grep -n rtmsg_ifinfo net/ipv6/ $ git grep -n inet6_ifinfo_notify net/ipv6/ net/ipv6/addrconf.c:2919: inet6_ifinfo_notify(RTM_NEWLINK, idev); net/ipv6/addrconf.c:4650:void inet6_ifinfo_notify(int event, struct inet6_dev *idev) net/ipv6/ndisc.c:1239: inet6_ifinfo_notify(RTM_NEWLINK, in6_dev); net/ipv6/ndisc.c:1256: inet6_ifinfo_notify(RTM_NEWLINK, in6_dev); net/ipv6/ndisc.c:1712: inet6_ifinfo_notify(RTM_NEWLINK, idev); Maybe I'm missing something, so can you elaborate why it's _absolutely not_ possible to use inet6_ifinfo_notify()? > --- > Changes since v1: > - Do not call device notifier chain with netdev_state_change() > > net/ipv6/addrconf.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c > index 3e118df..f6f92f5 100644 > --- a/net/ipv6/addrconf.c > +++ b/net/ipv6/addrconf.c > @@ -4528,6 +4528,7 @@ static int inet6_set_iftoken(struct inet6_dev *idev, struct in6_addr *token) > } > > write_unlock_bh(&idev->lock); > + rtmsg_ifinfo(RTM_NEWLINK, dev, 0, GFP_KERNEL); > addrconf_verify_rtnl(); > return 0; > } > -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists