git://git.onelab.eu
/
linux-2.6.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fedora kernel-2.6.17-1.2142_FC4 patched with stable patch-2.6.17.4-vs2.0.2-rc26.diff
[linux-2.6.git]
/
include
/
linux
/
inetdevice.h
diff --git
a/include/linux/inetdevice.h
b/include/linux/inetdevice.h
index
7e1e15f
..
92297ff
100644
(file)
--- a/
include/linux/inetdevice.h
+++ b/
include/linux/inetdevice.h
@@
-25,6
+25,7
@@
struct ipv4_devconf
int arp_filter;
int arp_announce;
int arp_ignore;
int arp_filter;
int arp_announce;
int arp_ignore;
+ int arp_accept;
int medium_id;
int no_xfrm;
int no_policy;
int medium_id;
int no_xfrm;
int no_policy;
@@
-142,13
+143,21
@@
static __inline__ int bad_mask(u32 mask, u32 addr)
#define endfor_ifa(in_dev) }
#define endfor_ifa(in_dev) }
+static inline struct in_device *__in_dev_get_rcu(const struct net_device *dev)
+{
+ struct in_device *in_dev = dev->ip_ptr;
+ if (in_dev)
+ in_dev = rcu_dereference(in_dev);
+ return in_dev;
+}
+
static __inline__ struct in_device *
in_dev_get(const struct net_device *dev)
{
struct in_device *in_dev;
rcu_read_lock();
static __inline__ struct in_device *
in_dev_get(const struct net_device *dev)
{
struct in_device *in_dev;
rcu_read_lock();
- in_dev =
dev->ip_ptr
;
+ in_dev =
__in_dev_get_rcu(dev)
;
if (in_dev)
atomic_inc(&in_dev->refcnt);
rcu_read_unlock();
if (in_dev)
atomic_inc(&in_dev->refcnt);
rcu_read_unlock();
@@
-156,7
+165,7
@@
in_dev_get(const struct net_device *dev)
}
static __inline__ struct in_device *
}
static __inline__ struct in_device *
-__in_dev_get(const struct net_device *dev)
+__in_dev_get
_rtnl
(const struct net_device *dev)
{
return (struct in_device*)dev->ip_ptr;
}
{
return (struct in_device*)dev->ip_ptr;
}