diff options
Diffstat (limited to 'net/unix/af_unix.c')
| -rw-r--r-- | net/unix/af_unix.c | 32 | 
1 files changed, 16 insertions, 16 deletions
| diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index b8788fd5e3c..2851d0d1504 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -252,7 +252,7 @@ static struct sock *__unix_find_socket_byname(struct net *net,  	sk_for_each(s, node, &unix_socket_table[hash ^ type]) {  		struct unix_sock *u = unix_sk(s); -		if (s->sk_net != net) +		if (!net_eq(sock_net(s), net))  			continue;  		if (u->addr->len == len && @@ -289,7 +289,7 @@ static struct sock *unix_find_socket_byinode(struct net *net, struct inode *i)  		    &unix_socket_table[i->i_ino & (UNIX_HASH_SIZE - 1)]) {  		struct dentry *dentry = unix_sk(s)->dentry; -		if (s->sk_net != net) +		if (!net_eq(sock_net(s), net))  			continue;  		if(dentry && dentry->d_inode == i) @@ -654,7 +654,7 @@ static int unix_release(struct socket *sock)  static int unix_autobind(struct socket *sock)  {  	struct sock *sk = sock->sk; -	struct net *net = sk->sk_net; +	struct net *net = sock_net(sk);  	struct unix_sock *u = unix_sk(sk);  	static u32 ordernum = 1;  	struct unix_address * addr; @@ -758,7 +758,7 @@ fail:  static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)  {  	struct sock *sk = sock->sk; -	struct net *net = sk->sk_net; +	struct net *net = sock_net(sk);  	struct unix_sock *u = unix_sk(sk);  	struct sockaddr_un *sunaddr=(struct sockaddr_un *)uaddr;  	struct dentry * dentry = NULL; @@ -899,7 +899,7 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr,  			      int alen, int flags)  {  	struct sock *sk = sock->sk; -	struct net *net = sk->sk_net; +	struct net *net = sock_net(sk);  	struct sockaddr_un *sunaddr=(struct sockaddr_un*)addr;  	struct sock *other;  	unsigned hash; @@ -996,7 +996,7 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,  {  	struct sockaddr_un *sunaddr=(struct sockaddr_un *)uaddr;  	struct sock *sk = sock->sk; -	struct net *net = sk->sk_net; +	struct net *net = sock_net(sk);  	struct unix_sock *u = unix_sk(sk), *newu, *otheru;  	struct sock *newsk = NULL;  	struct sock *other = NULL; @@ -1025,7 +1025,7 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,  	err = -ENOMEM;  	/* create new sock for complete connection */ -	newsk = unix_create1(sk->sk_net, NULL); +	newsk = unix_create1(sock_net(sk), NULL);  	if (newsk == NULL)  		goto out; @@ -1312,7 +1312,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,  {  	struct sock_iocb *siocb = kiocb_to_siocb(kiocb);  	struct sock *sk = sock->sk; -	struct net *net = sk->sk_net; +	struct net *net = sock_net(sk);  	struct unix_sock *u = unix_sk(sk);  	struct sockaddr_un *sunaddr=msg->msg_name;  	struct sock *other = NULL; @@ -2016,13 +2016,14 @@ struct unix_iter_state {  	struct seq_net_private p;  	int i;  }; -static struct sock *unix_seq_idx(struct unix_iter_state *iter, loff_t pos) +static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos)  { +	struct unix_iter_state *iter = seq->private;  	loff_t off = 0;  	struct sock *s;  	for (s = first_unix_socket(&iter->i); s; s = next_unix_socket(&iter->i, s)) { -		if (s->sk_net != iter->p.net) +		if (sock_net(s) != seq_file_net(seq))  			continue;  		if (off == pos)  			return s; @@ -2035,9 +2036,8 @@ static struct sock *unix_seq_idx(struct unix_iter_state *iter, loff_t pos)  static void *unix_seq_start(struct seq_file *seq, loff_t *pos)  	__acquires(unix_table_lock)  { -	struct unix_iter_state *iter = seq->private;  	spin_lock(&unix_table_lock); -	return *pos ? unix_seq_idx(iter, *pos - 1) : ((void *) 1); +	return *pos ? unix_seq_idx(seq, *pos - 1) : SEQ_START_TOKEN;  }  static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos) @@ -2046,11 +2046,11 @@ static void *unix_seq_next(struct seq_file *seq, void *v, loff_t *pos)  	struct sock *sk = v;  	++*pos; -	if (v == (void *)1) +	if (v == SEQ_START_TOKEN)  		sk = first_unix_socket(&iter->i);  	else  		sk = next_unix_socket(&iter->i, sk); -	while (sk && (sk->sk_net != iter->p.net)) +	while (sk && (sock_net(sk) != seq_file_net(seq)))  		sk = next_unix_socket(&iter->i, sk);  	return sk;  } @@ -2064,7 +2064,7 @@ static void unix_seq_stop(struct seq_file *seq, void *v)  static int unix_seq_show(struct seq_file *seq, void *v)  { -	if (v == (void *)1) +	if (v == SEQ_START_TOKEN)  		seq_puts(seq, "Num       RefCount Protocol Flags    Type St "  			 "Inode Path\n");  	else { @@ -2176,7 +2176,7 @@ static int __init af_unix_init(void)  	rc = proto_register(&unix_proto, 1);  	if (rc != 0) {  		printk(KERN_CRIT "%s: Cannot create unix_sock SLAB cache!\n", -		       __FUNCTION__); +		       __func__);  		goto out;  	} | 
