diff options
Diffstat (limited to 'net/ipv6')
| -rw-r--r-- | net/ipv6/addrconf.c | 32 | ||||
| -rw-r--r-- | net/ipv6/addrlabel.c | 18 | ||||
| -rw-r--r-- | net/ipv6/inet6_connection_sock.c | 5 | ||||
| -rw-r--r-- | net/ipv6/ip6_fib.c | 12 | ||||
| -rw-r--r-- | net/ipv6/raw.c | 3 | ||||
| -rw-r--r-- | net/ipv6/xfrm6_tunnel.c | 10 | 
6 files changed, 30 insertions, 50 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 4dc0d44a5d3..f2c7e615f90 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -1419,11 +1419,10 @@ int ipv6_chk_addr(struct net *net, const struct in6_addr *addr,  		  struct net_device *dev, int strict)  {  	struct inet6_ifaddr *ifp; -	struct hlist_node *node;  	unsigned int hash = inet6_addr_hash(addr);  	rcu_read_lock_bh(); -	hlist_for_each_entry_rcu(ifp, node, &inet6_addr_lst[hash], addr_lst) { +	hlist_for_each_entry_rcu(ifp, &inet6_addr_lst[hash], addr_lst) {  		if (!net_eq(dev_net(ifp->idev->dev), net))  			continue;  		if (ipv6_addr_equal(&ifp->addr, addr) && @@ -1445,9 +1444,8 @@ static bool ipv6_chk_same_addr(struct net *net, const struct in6_addr *addr,  {  	unsigned int hash = inet6_addr_hash(addr);  	struct inet6_ifaddr *ifp; -	struct hlist_node *node; -	hlist_for_each_entry(ifp, node, &inet6_addr_lst[hash], addr_lst) { +	hlist_for_each_entry(ifp, &inet6_addr_lst[hash], addr_lst) {  		if (!net_eq(dev_net(ifp->idev->dev), net))  			continue;  		if (ipv6_addr_equal(&ifp->addr, addr)) { @@ -1487,10 +1485,9 @@ struct inet6_ifaddr *ipv6_get_ifaddr(struct net *net, const struct in6_addr *add  {  	struct inet6_ifaddr *ifp, *result = NULL;  	unsigned int hash = inet6_addr_hash(addr); -	struct hlist_node *node;  	rcu_read_lock_bh(); -	hlist_for_each_entry_rcu_bh(ifp, node, &inet6_addr_lst[hash], addr_lst) { +	hlist_for_each_entry_rcu_bh(ifp, &inet6_addr_lst[hash], addr_lst) {  		if (!net_eq(dev_net(ifp->idev->dev), net))  			continue;  		if (ipv6_addr_equal(&ifp->addr, addr)) { @@ -2907,11 +2904,10 @@ static int addrconf_ifdown(struct net_device *dev, int how)  	/* Step 2: clear hash table */  	for (i = 0; i < IN6_ADDR_HSIZE; i++) {  		struct hlist_head *h = &inet6_addr_lst[i]; -		struct hlist_node *n;  		spin_lock_bh(&addrconf_hash_lock);  	restart: -		hlist_for_each_entry_rcu(ifa, n, h, addr_lst) { +		hlist_for_each_entry_rcu(ifa, h, addr_lst) {  			if (ifa->idev == idev) {  				hlist_del_init_rcu(&ifa->addr_lst);  				addrconf_del_timer(ifa); @@ -3218,8 +3214,7 @@ static struct inet6_ifaddr *if6_get_first(struct seq_file *seq, loff_t pos)  	}  	for (; state->bucket < IN6_ADDR_HSIZE; ++state->bucket) { -		struct hlist_node *n; -		hlist_for_each_entry_rcu_bh(ifa, n, &inet6_addr_lst[state->bucket], +		hlist_for_each_entry_rcu_bh(ifa, &inet6_addr_lst[state->bucket],  					 addr_lst) {  			if (!net_eq(dev_net(ifa->idev->dev), net))  				continue; @@ -3244,9 +3239,8 @@ static struct inet6_ifaddr *if6_get_next(struct seq_file *seq,  {  	struct if6_iter_state *state = seq->private;  	struct net *net = seq_file_net(seq); -	struct hlist_node *n = &ifa->addr_lst; -	hlist_for_each_entry_continue_rcu_bh(ifa, n, addr_lst) { +	hlist_for_each_entry_continue_rcu_bh(ifa, addr_lst) {  		if (!net_eq(dev_net(ifa->idev->dev), net))  			continue;  		state->offset++; @@ -3255,7 +3249,7 @@ static struct inet6_ifaddr *if6_get_next(struct seq_file *seq,  	while (++state->bucket < IN6_ADDR_HSIZE) {  		state->offset = 0; -		hlist_for_each_entry_rcu_bh(ifa, n, +		hlist_for_each_entry_rcu_bh(ifa,  				     &inet6_addr_lst[state->bucket], addr_lst) {  			if (!net_eq(dev_net(ifa->idev->dev), net))  				continue; @@ -3357,11 +3351,10 @@ int ipv6_chk_home_addr(struct net *net, const struct in6_addr *addr)  {  	int ret = 0;  	struct inet6_ifaddr *ifp = NULL; -	struct hlist_node *n;  	unsigned int hash = inet6_addr_hash(addr);  	rcu_read_lock_bh(); -	hlist_for_each_entry_rcu_bh(ifp, n, &inet6_addr_lst[hash], addr_lst) { +	hlist_for_each_entry_rcu_bh(ifp, &inet6_addr_lst[hash], addr_lst) {  		if (!net_eq(dev_net(ifp->idev->dev), net))  			continue;  		if (ipv6_addr_equal(&ifp->addr, addr) && @@ -3383,7 +3376,6 @@ static void addrconf_verify(unsigned long foo)  {  	unsigned long now, next, next_sec, next_sched;  	struct inet6_ifaddr *ifp; -	struct hlist_node *node;  	int i;  	rcu_read_lock_bh(); @@ -3395,7 +3387,7 @@ static void addrconf_verify(unsigned long foo)  	for (i = 0; i < IN6_ADDR_HSIZE; i++) {  restart: -		hlist_for_each_entry_rcu_bh(ifp, node, +		hlist_for_each_entry_rcu_bh(ifp,  					 &inet6_addr_lst[i], addr_lst) {  			unsigned long age; @@ -3866,7 +3858,6 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,  	struct net_device *dev;  	struct inet6_dev *idev;  	struct hlist_head *head; -	struct hlist_node *node;  	s_h = cb->args[0];  	s_idx = idx = cb->args[1]; @@ -3876,7 +3867,7 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,  	for (h = s_h; h < NETDEV_HASHENTRIES; h++, s_idx = 0) {  		idx = 0;  		head = &net->dev_index_head[h]; -		hlist_for_each_entry_rcu(dev, node, head, index_hlist) { +		hlist_for_each_entry_rcu(dev, head, index_hlist) {  			if (idx < s_idx)  				goto cont;  			if (h > s_h || idx > s_idx) @@ -4222,7 +4213,6 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb)  	struct net_device *dev;  	struct inet6_dev *idev;  	struct hlist_head *head; -	struct hlist_node *node;  	s_h = cb->args[0];  	s_idx = cb->args[1]; @@ -4231,7 +4221,7 @@ static int inet6_dump_ifinfo(struct sk_buff *skb, struct netlink_callback *cb)  	for (h = s_h; h < NETDEV_HASHENTRIES; h++, s_idx = 0) {  		idx = 0;  		head = &net->dev_index_head[h]; -		hlist_for_each_entry_rcu(dev, node, head, index_hlist) { +		hlist_for_each_entry_rcu(dev, head, index_hlist) {  			if (idx < s_idx)  				goto cont;  			idev = __in6_dev_get(dev); diff --git a/net/ipv6/addrlabel.c b/net/ipv6/addrlabel.c index ff76eecfd62..aad64352cb6 100644 --- a/net/ipv6/addrlabel.c +++ b/net/ipv6/addrlabel.c @@ -173,9 +173,8 @@ static struct ip6addrlbl_entry *__ipv6_addr_label(struct net *net,  						  const struct in6_addr *addr,  						  int type, int ifindex)  { -	struct hlist_node *pos;  	struct ip6addrlbl_entry *p; -	hlist_for_each_entry_rcu(p, pos, &ip6addrlbl_table.head, list) { +	hlist_for_each_entry_rcu(p, &ip6addrlbl_table.head, list) {  		if (__ip6addrlbl_match(net, p, addr, type, ifindex))  			return p;  	} @@ -261,9 +260,9 @@ static int __ip6addrlbl_add(struct ip6addrlbl_entry *newp, int replace)  	if (hlist_empty(&ip6addrlbl_table.head)) {  		hlist_add_head_rcu(&newp->list, &ip6addrlbl_table.head);  	} else { -		struct hlist_node *pos, *n; +		struct hlist_node *n;  		struct ip6addrlbl_entry *p = NULL; -		hlist_for_each_entry_safe(p, pos, n, +		hlist_for_each_entry_safe(p, n,  					  &ip6addrlbl_table.head, list) {  			if (p->prefixlen == newp->prefixlen &&  			    net_eq(ip6addrlbl_net(p), ip6addrlbl_net(newp)) && @@ -319,13 +318,13 @@ static int __ip6addrlbl_del(struct net *net,  			    int ifindex)  {  	struct ip6addrlbl_entry *p = NULL; -	struct hlist_node *pos, *n; +	struct hlist_node *n;  	int ret = -ESRCH;  	ADDRLABEL(KERN_DEBUG "%s(prefix=%pI6, prefixlen=%d, ifindex=%d)\n",  		  __func__, prefix, prefixlen, ifindex); -	hlist_for_each_entry_safe(p, pos, n, &ip6addrlbl_table.head, list) { +	hlist_for_each_entry_safe(p, n, &ip6addrlbl_table.head, list) {  		if (p->prefixlen == prefixlen &&  		    net_eq(ip6addrlbl_net(p), net) &&  		    p->ifindex == ifindex && @@ -380,11 +379,11 @@ static int __net_init ip6addrlbl_net_init(struct net *net)  static void __net_exit ip6addrlbl_net_exit(struct net *net)  {  	struct ip6addrlbl_entry *p = NULL; -	struct hlist_node *pos, *n; +	struct hlist_node *n;  	/* Remove all labels belonging to the exiting net */  	spin_lock(&ip6addrlbl_table.lock); -	hlist_for_each_entry_safe(p, pos, n, &ip6addrlbl_table.head, list) { +	hlist_for_each_entry_safe(p, n, &ip6addrlbl_table.head, list) {  		if (net_eq(ip6addrlbl_net(p), net)) {  			hlist_del_rcu(&p->list);  			ip6addrlbl_put(p); @@ -505,12 +504,11 @@ static int ip6addrlbl_dump(struct sk_buff *skb, struct netlink_callback *cb)  {  	struct net *net = sock_net(skb->sk);  	struct ip6addrlbl_entry *p; -	struct hlist_node *pos;  	int idx = 0, s_idx = cb->args[0];  	int err;  	rcu_read_lock(); -	hlist_for_each_entry_rcu(p, pos, &ip6addrlbl_table.head, list) { +	hlist_for_each_entry_rcu(p, &ip6addrlbl_table.head, list) {  		if (idx >= s_idx &&  		    net_eq(ip6addrlbl_net(p), net)) {  			if ((err = ip6addrlbl_fill(skb, p, diff --git a/net/ipv6/inet6_connection_sock.c b/net/ipv6/inet6_connection_sock.c index b386a2ce4c6..9bfab19ff3c 100644 --- a/net/ipv6/inet6_connection_sock.c +++ b/net/ipv6/inet6_connection_sock.c @@ -31,7 +31,6 @@ int inet6_csk_bind_conflict(const struct sock *sk,  			    const struct inet_bind_bucket *tb, bool relax)  {  	const struct sock *sk2; -	const struct hlist_node *node;  	int reuse = sk->sk_reuse;  	int reuseport = sk->sk_reuseport;  	kuid_t uid = sock_i_uid((struct sock *)sk); @@ -41,7 +40,7 @@ int inet6_csk_bind_conflict(const struct sock *sk,  	 * See comment in inet_csk_bind_conflict about sock lookup  	 * vs net namespaces issues.  	 */ -	sk_for_each_bound(sk2, node, &tb->owners) { +	sk_for_each_bound(sk2, &tb->owners) {  		if (sk != sk2 &&  		    (!sk->sk_bound_dev_if ||  		     !sk2->sk_bound_dev_if || @@ -58,7 +57,7 @@ int inet6_csk_bind_conflict(const struct sock *sk,  		}  	} -	return node != NULL; +	return sk2 != NULL;  }  EXPORT_SYMBOL_GPL(inet6_csk_bind_conflict); diff --git a/net/ipv6/ip6_fib.c b/net/ipv6/ip6_fib.c index 710cafd2e1a..192dd1a0e18 100644 --- a/net/ipv6/ip6_fib.c +++ b/net/ipv6/ip6_fib.c @@ -224,7 +224,6 @@ struct fib6_table *fib6_get_table(struct net *net, u32 id)  {  	struct fib6_table *tb;  	struct hlist_head *head; -	struct hlist_node *node;  	unsigned int h;  	if (id == 0) @@ -232,7 +231,7 @@ struct fib6_table *fib6_get_table(struct net *net, u32 id)  	h = id & (FIB6_TABLE_HASHSZ - 1);  	rcu_read_lock();  	head = &net->ipv6.fib_table_hash[h]; -	hlist_for_each_entry_rcu(tb, node, head, tb6_hlist) { +	hlist_for_each_entry_rcu(tb, head, tb6_hlist) {  		if (tb->tb6_id == id) {  			rcu_read_unlock();  			return tb; @@ -363,7 +362,6 @@ static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)  	struct rt6_rtnl_dump_arg arg;  	struct fib6_walker_t *w;  	struct fib6_table *tb; -	struct hlist_node *node;  	struct hlist_head *head;  	int res = 0; @@ -398,7 +396,7 @@ static int inet6_dump_fib(struct sk_buff *skb, struct netlink_callback *cb)  	for (h = s_h; h < FIB6_TABLE_HASHSZ; h++, s_e = 0) {  		e = 0;  		head = &net->ipv6.fib_table_hash[h]; -		hlist_for_each_entry_rcu(tb, node, head, tb6_hlist) { +		hlist_for_each_entry_rcu(tb, head, tb6_hlist) {  			if (e < s_e)  				goto next;  			res = fib6_dump_table(tb, skb, cb); @@ -1520,14 +1518,13 @@ void fib6_clean_all_ro(struct net *net, int (*func)(struct rt6_info *, void *arg  		    int prune, void *arg)  {  	struct fib6_table *table; -	struct hlist_node *node;  	struct hlist_head *head;  	unsigned int h;  	rcu_read_lock();  	for (h = 0; h < FIB6_TABLE_HASHSZ; h++) {  		head = &net->ipv6.fib_table_hash[h]; -		hlist_for_each_entry_rcu(table, node, head, tb6_hlist) { +		hlist_for_each_entry_rcu(table, head, tb6_hlist) {  			read_lock_bh(&table->tb6_lock);  			fib6_clean_tree(net, &table->tb6_root,  					func, prune, arg); @@ -1540,14 +1537,13 @@ void fib6_clean_all(struct net *net, int (*func)(struct rt6_info *, void *arg),  		    int prune, void *arg)  {  	struct fib6_table *table; -	struct hlist_node *node;  	struct hlist_head *head;  	unsigned int h;  	rcu_read_lock();  	for (h = 0; h < FIB6_TABLE_HASHSZ; h++) {  		head = &net->ipv6.fib_table_hash[h]; -		hlist_for_each_entry_rcu(table, node, head, tb6_hlist) { +		hlist_for_each_entry_rcu(table, head, tb6_hlist) {  			write_lock_bh(&table->tb6_lock);  			fib6_clean_tree(net, &table->tb6_root,  					func, prune, arg); diff --git a/net/ipv6/raw.c b/net/ipv6/raw.c index c65907db8c4..330b5e7b7df 100644 --- a/net/ipv6/raw.c +++ b/net/ipv6/raw.c @@ -71,10 +71,9 @@ static struct sock *__raw_v6_lookup(struct net *net, struct sock *sk,  		unsigned short num, const struct in6_addr *loc_addr,  		const struct in6_addr *rmt_addr, int dif)  { -	struct hlist_node *node;  	bool is_multicast = ipv6_addr_is_multicast(loc_addr); -	sk_for_each_from(sk, node) +	sk_for_each_from(sk)  		if (inet_sk(sk)->inet_num == num) {  			struct ipv6_pinfo *np = inet6_sk(sk); diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c index 6cc48012b73..de2bcfaaf75 100644 --- a/net/ipv6/xfrm6_tunnel.c +++ b/net/ipv6/xfrm6_tunnel.c @@ -89,9 +89,8 @@ static struct xfrm6_tunnel_spi *__xfrm6_tunnel_spi_lookup(struct net *net, const  {  	struct xfrm6_tunnel_net *xfrm6_tn = xfrm6_tunnel_pernet(net);  	struct xfrm6_tunnel_spi *x6spi; -	struct hlist_node *pos; -	hlist_for_each_entry_rcu(x6spi, pos, +	hlist_for_each_entry_rcu(x6spi,  			     &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr(saddr)],  			     list_byaddr) {  		if (xfrm6_addr_equal(&x6spi->addr, saddr)) @@ -120,9 +119,8 @@ static int __xfrm6_tunnel_spi_check(struct net *net, u32 spi)  	struct xfrm6_tunnel_net *xfrm6_tn = xfrm6_tunnel_pernet(net);  	struct xfrm6_tunnel_spi *x6spi;  	int index = xfrm6_tunnel_spi_hash_byspi(spi); -	struct hlist_node *pos; -	hlist_for_each_entry(x6spi, pos, +	hlist_for_each_entry(x6spi,  			     &xfrm6_tn->spi_byspi[index],  			     list_byspi) {  		if (x6spi->spi == spi) @@ -203,11 +201,11 @@ static void xfrm6_tunnel_free_spi(struct net *net, xfrm_address_t *saddr)  {  	struct xfrm6_tunnel_net *xfrm6_tn = xfrm6_tunnel_pernet(net);  	struct xfrm6_tunnel_spi *x6spi; -	struct hlist_node *pos, *n; +	struct hlist_node *n;  	spin_lock_bh(&xfrm6_tunnel_spi_lock); -	hlist_for_each_entry_safe(x6spi, pos, n, +	hlist_for_each_entry_safe(x6spi, n,  				  &xfrm6_tn->spi_byaddr[xfrm6_tunnel_spi_hash_byaddr(saddr)],  				  list_byaddr)  	{  |