diff options
Diffstat (limited to 'net/unix/af_unix.c')
| -rw-r--r-- | net/unix/af_unix.c | 14 | 
1 files changed, 7 insertions, 7 deletions
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 0ebc777a6660..3c95304a0817 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -117,7 +117,7 @@  static struct hlist_head unix_socket_table[UNIX_HASH_SIZE + 1];  static DEFINE_SPINLOCK(unix_table_lock); -static atomic_t unix_nr_socks = ATOMIC_INIT(0); +static atomic_long_t unix_nr_socks;  #define unix_sockets_unbound	(&unix_socket_table[UNIX_HASH_SIZE]) @@ -360,13 +360,13 @@ static void unix_sock_destructor(struct sock *sk)  	if (u->addr)  		unix_release_addr(u->addr); -	atomic_dec(&unix_nr_socks); +	atomic_long_dec(&unix_nr_socks);  	local_bh_disable();  	sock_prot_inuse_add(sock_net(sk), sk->sk_prot, -1);  	local_bh_enable();  #ifdef UNIX_REFCNT_DEBUG -	printk(KERN_DEBUG "UNIX %p is destroyed, %d are still alive.\n", sk, -		atomic_read(&unix_nr_socks)); +	printk(KERN_DEBUG "UNIX %p is destroyed, %ld are still alive.\n", sk, +		atomic_long_read(&unix_nr_socks));  #endif  } @@ -606,8 +606,8 @@ static struct sock *unix_create1(struct net *net, struct socket *sock)  	struct sock *sk = NULL;  	struct unix_sock *u; -	atomic_inc(&unix_nr_socks); -	if (atomic_read(&unix_nr_socks) > 2 * get_max_files()) +	atomic_long_inc(&unix_nr_socks); +	if (atomic_long_read(&unix_nr_socks) > 2 * get_max_files())  		goto out;  	sk = sk_alloc(net, PF_UNIX, GFP_KERNEL, &unix_proto); @@ -632,7 +632,7 @@ static struct sock *unix_create1(struct net *net, struct socket *sock)  	unix_insert_socket(unix_sockets_unbound, sk);  out:  	if (sk == NULL) -		atomic_dec(&unix_nr_socks); +		atomic_long_dec(&unix_nr_socks);  	else {  		local_bh_disable();  		sock_prot_inuse_add(sock_net(sk), sk->sk_prot, 1);  | 
