[NET]: Add a network namespace parameter to struct sock
Sockets need to get a reference to their network namespace, or possibly a simple hold if someone registers on the network namespace notifier and will free the sockets when the namespace is going to be destroyed. Signed-off-by: Eric W. Biederman <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
4a1c537113
commit
07feaebfcc
|
@ -115,6 +115,7 @@ struct inet_timewait_sock {
|
|||
#define tw_refcnt __tw_common.skc_refcnt
|
||||
#define tw_hash __tw_common.skc_hash
|
||||
#define tw_prot __tw_common.skc_prot
|
||||
#define tw_net __tw_common.skc_net
|
||||
volatile unsigned char tw_substate;
|
||||
/* 3 bits hole, try to pack */
|
||||
unsigned char tw_rcv_wscale;
|
||||
|
|
|
@ -105,6 +105,7 @@ struct proto;
|
|||
* @skc_refcnt: reference count
|
||||
* @skc_hash: hash value used with various protocol lookup tables
|
||||
* @skc_prot: protocol handlers inside a network family
|
||||
* @skc_net: reference to the network namespace of this socket
|
||||
*
|
||||
* This is the minimal network layer representation of sockets, the header
|
||||
* for struct sock and struct inet_timewait_sock.
|
||||
|
@ -119,6 +120,7 @@ struct sock_common {
|
|||
atomic_t skc_refcnt;
|
||||
unsigned int skc_hash;
|
||||
struct proto *skc_prot;
|
||||
struct net *skc_net;
|
||||
};
|
||||
|
||||
/**
|
||||
|
@ -195,6 +197,7 @@ struct sock {
|
|||
#define sk_refcnt __sk_common.skc_refcnt
|
||||
#define sk_hash __sk_common.skc_hash
|
||||
#define sk_prot __sk_common.skc_prot
|
||||
#define sk_net __sk_common.skc_net
|
||||
unsigned char sk_shutdown : 2,
|
||||
sk_no_check : 2,
|
||||
sk_userlocks : 4;
|
||||
|
|
Loading…
Reference in New Issue