: Eliminate explicit init_net references.
Subsystems (2)
PATCH 3/4 : Eliminate explicit init_net references.
Happily, in all the rest places (->bind callbacks only), that require the struct net, we have a socket, so get the net from it.
Signed-off-by Pavel Emelyanov <[email protected]>
--- net/ipv4/raw.c | 2 +- net/ipv6/raw.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-)
net/ipv4/raw.c +1 -1
@@ -625,7 +625,7 @@ static int raw_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len)if (sk->sk_state !=TCP_CLOSE || addr_len <sizeof (struct sockaddr_in )) goto out; - chk_addr_ret =inet_addr_type (&init_net, addr->sin_addr.s_addr); + chk_addr_ret =inet_addr_type (sk->sk_net, addr->sin_addr.s_addr); ret = -EADDRNOTAVAIL ;if (addr->sin_addr.s_addr && chk_addr_ret !=RTN_LOCAL && chk_addr_ret !=RTN_MULTICAST && chk_addr_ret !=RTN_BROADCAST )
net/ipv6/raw.c +2 -2
@@ -291,7 +291,7 @@ static int rawv6_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len)if (!sk->sk_bound_dev_if) goto out; - dev =dev_get_by_index (&init_net, sk->sk_bound_dev_if); + dev =dev_get_by_index (sk->sk_net, sk->sk_bound_dev_if);if (!dev) { err = -ENODEV ; goto out;
@@ -304,7 +304,7 @@ static int rawv6_bind(struct sock *sk, struct sockaddr *uaddr, int addr_len) v4addr =LOOPBACK4_IPV6 ;if (!(addr_type &IPV6_ADDR_MULTICAST )) { err = -EADDRNOTAVAIL ; -if (!ipv6_chk_addr (&init_net, &addr->sin6_addr, +if (!ipv6_chk_addr (sk->sk_net, &addr->sin6_addr, dev,0 )) {if (dev)dev_put (dev);
Signature · 1 line
1.5.3.4
From: Pavel Emelyanov <[email protected]>
Date: Mon, 14 Jan 2008 16:11:17 +0300
Quoted 4 lines
Happily, in all the rest places (->bind callbacks only), that require the struct net, we have a socket, so get the net from it.
Signed-off-by Pavel Emelyanov <[email protected]>
Applied.