summaryrefslogtreecommitdiff
path: root/include/net/netns/generic.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/netns/generic.h')
-rw-r--r--include/net/netns/generic.h16
1 files changed, 9 insertions, 7 deletions
diff --git a/include/net/netns/generic.h b/include/net/netns/generic.h
index 65ccce69b040..f15daaa89385 100644
--- a/include/net/netns/generic.h
+++ b/include/net/netns/generic.h
@@ -25,12 +25,14 @@
*/
struct net_generic {
- struct {
- unsigned int len;
- struct rcu_head rcu;
- } s;
-
- void *ptr[0];
+ union {
+ struct {
+ unsigned int len;
+ struct rcu_head rcu;
+ } s;
+
+ void *ptr[0];
+ };
};
static inline void *net_generic(const struct net *net, unsigned int id)
@@ -40,7 +42,7 @@ static inline void *net_generic(const struct net *net, unsigned int id)
rcu_read_lock();
ng = rcu_dereference(net->gen);
- ptr = ng->ptr[id - 1];
+ ptr = ng->ptr[id];
rcu_read_unlock();
return ptr;