diff options
author | Kuniyuki Iwashima <kuniyu@amazon.com> | 2024-08-09 16:54:05 -0700 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2024-08-15 18:56:14 -0700 |
commit | 100465a91a900699db9c64fb55063affd15c4362 (patch) | |
tree | fddf8131f42813982bda8d1a1aa16dbc754daa4a /net/ipv4 | |
parent | ecdae5168460f7260c0f8dad069aa06f9ba0706e (diff) | |
download | lwn-100465a91a900699db9c64fb55063affd15c4362.tar.gz lwn-100465a91a900699db9c64fb55063affd15c4362.zip |
ipv4: Initialise ifa->hash in inet_alloc_ifa().
Whenever ifa is allocated, we call INIT_HLIST_NODE(&ifa->hash).
Let's move it to inet_alloc_ifa().
Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Link: https://patch.msgid.link/20240809235406.50187-5-kuniyu@amazon.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/ipv4')
-rw-r--r-- | net/ipv4/devinet.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/net/ipv4/devinet.c b/net/ipv4/devinet.c index baf036bfad76..b5d2a9fd46c7 100644 --- a/net/ipv4/devinet.c +++ b/net/ipv4/devinet.c @@ -227,6 +227,8 @@ static struct in_ifaddr *inet_alloc_ifa(struct in_device *in_dev) in_dev_hold(in_dev); ifa->ifa_dev = in_dev; + INIT_HLIST_NODE(&ifa->hash); + return ifa; } @@ -889,7 +891,6 @@ static struct in_ifaddr *rtm_to_ifaddr(struct net *net, struct nlmsghdr *nlh, if (!tb[IFA_ADDRESS]) tb[IFA_ADDRESS] = tb[IFA_LOCAL]; - INIT_HLIST_NODE(&ifa->hash); ifa->ifa_prefixlen = ifm->ifa_prefixlen; ifa->ifa_mask = inet_make_mask(ifm->ifa_prefixlen); ifa->ifa_flags = tb[IFA_FLAGS] ? nla_get_u32(tb[IFA_FLAGS]) : @@ -1186,7 +1187,7 @@ int devinet_ioctl(struct net *net, unsigned int cmd, struct ifreq *ifr) ifa = inet_alloc_ifa(in_dev); if (!ifa) break; - INIT_HLIST_NODE(&ifa->hash); + if (colon) memcpy(ifa->ifa_label, ifr->ifr_name, IFNAMSIZ); else @@ -1588,7 +1589,6 @@ static int inetdev_event(struct notifier_block *this, unsigned long event, struct in_ifaddr *ifa = inet_alloc_ifa(in_dev); if (ifa) { - INIT_HLIST_NODE(&ifa->hash); ifa->ifa_local = ifa->ifa_address = htonl(INADDR_LOOPBACK); ifa->ifa_prefixlen = 8; |