protocol.c (d7f6884ae0ae6e406ec3500fcde16e8f51642460) | protocol.c (e5ed639913eea3e4783a550291775ab78dd84966) |
---|---|
1/* SCTP kernel reference Implementation 2 * (C) Copyright IBM Corp. 2001, 2004 3 * Copyright (c) 1999-2000 Cisco, Inc. 4 * Copyright (c) 1999-2001 Motorola, Inc. 5 * Copyright (c) 2001 Intel Corp. 6 * Copyright (c) 2001 Nokia, Inc. 7 * Copyright (c) 2001 La Monte H.P. Yarroll 8 * --- 133 unchanged lines hidden (view full) --- 142static void sctp_v4_copy_addrlist(struct list_head *addrlist, 143 struct net_device *dev) 144{ 145 struct in_device *in_dev; 146 struct in_ifaddr *ifa; 147 struct sctp_sockaddr_entry *addr; 148 149 rcu_read_lock(); | 1/* SCTP kernel reference Implementation 2 * (C) Copyright IBM Corp. 2001, 2004 3 * Copyright (c) 1999-2000 Cisco, Inc. 4 * Copyright (c) 1999-2001 Motorola, Inc. 5 * Copyright (c) 2001 Intel Corp. 6 * Copyright (c) 2001 Nokia, Inc. 7 * Copyright (c) 2001 La Monte H.P. Yarroll 8 * --- 133 unchanged lines hidden (view full) --- 142static void sctp_v4_copy_addrlist(struct list_head *addrlist, 143 struct net_device *dev) 144{ 145 struct in_device *in_dev; 146 struct in_ifaddr *ifa; 147 struct sctp_sockaddr_entry *addr; 148 149 rcu_read_lock(); |
150 if ((in_dev = __in_dev_get(dev)) == NULL) { | 150 if ((in_dev = __in_dev_get_rcu(dev)) == NULL) { |
151 rcu_read_unlock(); 152 return; 153 } 154 155 for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { 156 /* Add the address to the local list. */ 157 addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); 158 if (addr) { --- 1093 unchanged lines hidden --- | 151 rcu_read_unlock(); 152 return; 153 } 154 155 for (ifa = in_dev->ifa_list; ifa; ifa = ifa->ifa_next) { 156 /* Add the address to the local list. */ 157 addr = t_new(struct sctp_sockaddr_entry, GFP_ATOMIC); 158 if (addr) { --- 1093 unchanged lines hidden --- |