lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 4 Feb 2016 15:35:53 -0800 From: Salam Noureddine <noureddine@...sta.com> To: "David S. Miller" <davem@...emloft.net>, Eric Dumazet <edumazet@...gle.com>, Jiri Pirko <jiri@...lanox.com>, Alexei Starovoitov <ast@...mgrid.com>, Daniel Borkmann <daniel@...earbox.net>, "Eric W. Biederman" <ebiederm@...ssion.com>, Julian Anastasov <ja@....bg>, netdev@...r.kernel.org Cc: Salam Noureddine <noureddine@...sta.com> Subject: [PATCH v2 net-next 1/4] net: add event_list to struct net and provide utility functions Signed-off-by: Salam Noureddine <noureddine@...sta.com> --- include/net/net_namespace.h | 22 ++++++++++++++++++++++ net/core/net_namespace.c | 1 + 2 files changed, 23 insertions(+) diff --git a/include/net/net_namespace.h b/include/net/net_namespace.h index 4089abc..6dbc0b2 100644 --- a/include/net/net_namespace.h +++ b/include/net/net_namespace.h @@ -58,6 +58,7 @@ struct net { struct list_head list; /* list of network namespaces */ struct list_head cleanup_list; /* namespaces on death row */ struct list_head exit_list; /* Use only net_mutex */ + struct list_head event_list; /* net_device notifier list */ struct user_namespace *user_ns; /* Owning user namespace */ spinlock_t nsid_lock; @@ -380,4 +381,25 @@ static inline void fnhe_genid_bump(struct net *net) atomic_inc(&net->fnhe_genid); } +#ifdef CONFIG_NET_NS +static inline void net_add_event_list(struct list_head *head, struct net *net) +{ + if (list_empty(&net->event_list)) + list_add_tail(&net->event_list, head); +} + +static inline void net_del_event_list(struct net *net) +{ + list_del_init(&net->event_list); +} +#else +static inline void net_add_event_list(struct list_head *head, struct net *net) +{ +} + +static inline void net_del_event_list(struct net *net) +{ +} +#endif + #endif /* __NET_NET_NAMESPACE_H */ diff --git a/net/core/net_namespace.c b/net/core/net_namespace.c index 2c2eb1b..58e84ce 100644 --- a/net/core/net_namespace.c +++ b/net/core/net_namespace.c @@ -282,6 +282,7 @@ static __net_init int setup_net(struct net *net, struct user_namespace *user_ns) net->user_ns = user_ns; idr_init(&net->netns_ids); spin_lock_init(&net->nsid_lock); + INIT_LIST_HEAD(&net->event_list); list_for_each_entry(ops, &pernet_list, list) { error = ops_init(ops, net); -- 1.8.1.4
Powered by blists - more mailing lists