Commit e27dfcea authored by Jianjun Kong's avatar Jianjun Kong Committed by David S. Miller

af_unix: clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c

clean up net/unix/af_unix.c garbage.c sysctl_net_unix.c
Signed-off-by: default avatarJianjun Kong <jianjun@zeuux.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c37ccc0d
...@@ -211,7 +211,7 @@ static int unix_mkname(struct sockaddr_un * sunaddr, int len, unsigned *hashp) ...@@ -211,7 +211,7 @@ static int unix_mkname(struct sockaddr_un * sunaddr, int len, unsigned *hashp)
* we are guaranteed that it is a valid memory location in our * we are guaranteed that it is a valid memory location in our
* kernel address buffer. * kernel address buffer.
*/ */
((char *)sunaddr)[len]=0; ((char *)sunaddr)[len] = 0;
len = strlen(sunaddr->sun_path)+1+sizeof(short); len = strlen(sunaddr->sun_path)+1+sizeof(short);
return len; return len;
} }
...@@ -392,9 +392,9 @@ static int unix_release_sock (struct sock *sk, int embrion) ...@@ -392,9 +392,9 @@ static int unix_release_sock (struct sock *sk, int embrion)
wake_up_interruptible_all(&u->peer_wait); wake_up_interruptible_all(&u->peer_wait);
skpair=unix_peer(sk); skpair = unix_peer(sk);
if (skpair!=NULL) { if (skpair != NULL) {
if (sk->sk_type == SOCK_STREAM || sk->sk_type == SOCK_SEQPACKET) { if (sk->sk_type == SOCK_STREAM || sk->sk_type == SOCK_SEQPACKET) {
unix_state_lock(skpair); unix_state_lock(skpair);
/* No more writes */ /* No more writes */
...@@ -414,7 +414,7 @@ static int unix_release_sock (struct sock *sk, int embrion) ...@@ -414,7 +414,7 @@ static int unix_release_sock (struct sock *sk, int embrion)
/* Try to flush out this socket. Throw out buffers at least */ /* Try to flush out this socket. Throw out buffers at least */
while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) { while ((skb = skb_dequeue(&sk->sk_receive_queue)) != NULL) {
if (state==TCP_LISTEN) if (state == TCP_LISTEN)
unix_release_sock(skb->sk, 1); unix_release_sock(skb->sk, 1);
/* passed fds are erased in the kfree_skb hook */ /* passed fds are erased in the kfree_skb hook */
kfree_skb(skb); kfree_skb(skb);
...@@ -630,7 +630,7 @@ static int unix_create(struct net *net, struct socket *sock, int protocol) ...@@ -630,7 +630,7 @@ static int unix_create(struct net *net, struct socket *sock, int protocol)
* nothing uses it. * nothing uses it.
*/ */
case SOCK_RAW: case SOCK_RAW:
sock->type=SOCK_DGRAM; sock->type = SOCK_DGRAM;
case SOCK_DGRAM: case SOCK_DGRAM:
sock->ops = &unix_dgram_ops; sock->ops = &unix_dgram_ops;
break; break;
...@@ -736,14 +736,14 @@ static struct sock *unix_find_other(struct net *net, ...@@ -736,14 +736,14 @@ static struct sock *unix_find_other(struct net *net,
path_put(&path); path_put(&path);
err=-EPROTOTYPE; err = -EPROTOTYPE;
if (u->sk_type != type) { if (u->sk_type != type) {
sock_put(u); sock_put(u);
goto fail; goto fail;
} }
} else { } else {
err = -ECONNREFUSED; err = -ECONNREFUSED;
u=unix_find_socket_byname(net, sunname, len, type, hash); u = unix_find_socket_byname(net, sunname, len, type, hash);
if (u) { if (u) {
struct dentry *dentry; struct dentry *dentry;
dentry = unix_sk(u)->dentry; dentry = unix_sk(u)->dentry;
...@@ -757,7 +757,7 @@ static struct sock *unix_find_other(struct net *net, ...@@ -757,7 +757,7 @@ static struct sock *unix_find_other(struct net *net,
put_fail: put_fail:
path_put(&path); path_put(&path);
fail: fail:
*error=err; *error = err;
return NULL; return NULL;
} }
...@@ -767,7 +767,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) ...@@ -767,7 +767,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct net *net = sock_net(sk); struct net *net = sock_net(sk);
struct unix_sock *u = unix_sk(sk); struct unix_sock *u = unix_sk(sk);
struct sockaddr_un *sunaddr=(struct sockaddr_un *)uaddr; struct sockaddr_un *sunaddr = (struct sockaddr_un *)uaddr;
struct dentry * dentry = NULL; struct dentry * dentry = NULL;
struct nameidata nd; struct nameidata nd;
int err; int err;
...@@ -779,7 +779,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) ...@@ -779,7 +779,7 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
if (sunaddr->sun_family != AF_UNIX) if (sunaddr->sun_family != AF_UNIX)
goto out; goto out;
if (addr_len==sizeof(short)) { if (addr_len == sizeof(short)) {
err = unix_autobind(sock); err = unix_autobind(sock);
goto out; goto out;
} }
...@@ -875,8 +875,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) ...@@ -875,8 +875,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len)
mutex_unlock(&nd.path.dentry->d_inode->i_mutex); mutex_unlock(&nd.path.dentry->d_inode->i_mutex);
path_put(&nd.path); path_put(&nd.path);
out_mknod_parent: out_mknod_parent:
if (err==-EEXIST) if (err == -EEXIST)
err=-EADDRINUSE; err = -EADDRINUSE;
unix_release_addr(addr); unix_release_addr(addr);
goto out_up; goto out_up;
} }
...@@ -911,7 +911,7 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr, ...@@ -911,7 +911,7 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr,
{ {
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct net *net = sock_net(sk); struct net *net = sock_net(sk);
struct sockaddr_un *sunaddr=(struct sockaddr_un*)addr; struct sockaddr_un *sunaddr = (struct sockaddr_un *)addr;
struct sock *other; struct sock *other;
unsigned hash; unsigned hash;
int err; int err;
...@@ -927,7 +927,7 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr, ...@@ -927,7 +927,7 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr,
goto out; goto out;
restart: restart:
other=unix_find_other(net, sunaddr, alen, sock->type, hash, &err); other = unix_find_other(net, sunaddr, alen, sock->type, hash, &err);
if (!other) if (!other)
goto out; goto out;
...@@ -961,14 +961,14 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr, ...@@ -961,14 +961,14 @@ static int unix_dgram_connect(struct socket *sock, struct sockaddr *addr,
*/ */
if (unix_peer(sk)) { if (unix_peer(sk)) {
struct sock *old_peer = unix_peer(sk); struct sock *old_peer = unix_peer(sk);
unix_peer(sk)=other; unix_peer(sk) = other;
unix_state_double_unlock(sk, other); unix_state_double_unlock(sk, other);
if (other != old_peer) if (other != old_peer)
unix_dgram_disconnected(sk, old_peer); unix_dgram_disconnected(sk, old_peer);
sock_put(old_peer); sock_put(old_peer);
} else { } else {
unix_peer(sk)=other; unix_peer(sk) = other;
unix_state_double_unlock(sk, other); unix_state_double_unlock(sk, other);
} }
return 0; return 0;
...@@ -1004,7 +1004,7 @@ static long unix_wait_for_peer(struct sock *other, long timeo) ...@@ -1004,7 +1004,7 @@ static long unix_wait_for_peer(struct sock *other, long timeo)
static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr, static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,
int addr_len, int flags) int addr_len, int flags)
{ {
struct sockaddr_un *sunaddr=(struct sockaddr_un *)uaddr; struct sockaddr_un *sunaddr = (struct sockaddr_un *)uaddr;
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct net *net = sock_net(sk); struct net *net = sock_net(sk);
struct unix_sock *u = unix_sk(sk), *newu, *otheru; struct unix_sock *u = unix_sk(sk), *newu, *otheru;
...@@ -1179,13 +1179,13 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr, ...@@ -1179,13 +1179,13 @@ static int unix_stream_connect(struct socket *sock, struct sockaddr *uaddr,
static int unix_socketpair(struct socket *socka, struct socket *sockb) static int unix_socketpair(struct socket *socka, struct socket *sockb)
{ {
struct sock *ska=socka->sk, *skb = sockb->sk; struct sock *ska = socka->sk, *skb = sockb->sk;
/* Join our sockets back to back */ /* Join our sockets back to back */
sock_hold(ska); sock_hold(ska);
sock_hold(skb); sock_hold(skb);
unix_peer(ska)=skb; unix_peer(ska) = skb;
unix_peer(skb)=ska; unix_peer(skb) = ska;
ska->sk_peercred.pid = skb->sk_peercred.pid = task_tgid_vnr(current); ska->sk_peercred.pid = skb->sk_peercred.pid = task_tgid_vnr(current);
ska->sk_peercred.uid = skb->sk_peercred.uid = current->euid; ska->sk_peercred.uid = skb->sk_peercred.uid = current->euid;
ska->sk_peercred.gid = skb->sk_peercred.gid = current->egid; ska->sk_peercred.gid = skb->sk_peercred.gid = current->egid;
...@@ -1246,7 +1246,7 @@ static int unix_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_ ...@@ -1246,7 +1246,7 @@ static int unix_getname(struct socket *sock, struct sockaddr *uaddr, int *uaddr_
{ {
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct unix_sock *u; struct unix_sock *u;
struct sockaddr_un *sunaddr=(struct sockaddr_un *)uaddr; struct sockaddr_un *sunaddr = (struct sockaddr_un *)uaddr;
int err = 0; int err = 0;
if (peer) { if (peer) {
...@@ -1323,7 +1323,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1323,7 +1323,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct net *net = sock_net(sk); struct net *net = sock_net(sk);
struct unix_sock *u = unix_sk(sk); struct unix_sock *u = unix_sk(sk);
struct sockaddr_un *sunaddr=msg->msg_name; struct sockaddr_un *sunaddr = msg->msg_name;
struct sock *other = NULL; struct sock *other = NULL;
int namelen = 0; /* fake GCC */ int namelen = 0; /* fake GCC */
int err; int err;
...@@ -1364,7 +1364,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1364,7 +1364,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
goto out; goto out;
skb = sock_alloc_send_skb(sk, len, msg->msg_flags&MSG_DONTWAIT, &err); skb = sock_alloc_send_skb(sk, len, msg->msg_flags&MSG_DONTWAIT, &err);
if (skb==NULL) if (skb == NULL)
goto out; goto out;
memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred)); memcpy(UNIXCREDS(skb), &siocb->scm->creds, sizeof(struct ucred));
...@@ -1387,7 +1387,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1387,7 +1387,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
other = unix_find_other(net, sunaddr, namelen, sk->sk_type, other = unix_find_other(net, sunaddr, namelen, sk->sk_type,
hash, &err); hash, &err);
if (other==NULL) if (other == NULL)
goto out_free; goto out_free;
} }
...@@ -1407,7 +1407,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1407,7 +1407,7 @@ static int unix_dgram_sendmsg(struct kiocb *kiocb, struct socket *sock,
err = 0; err = 0;
unix_state_lock(sk); unix_state_lock(sk);
if (unix_peer(sk) == other) { if (unix_peer(sk) == other) {
unix_peer(sk)=NULL; unix_peer(sk) = NULL;
unix_state_unlock(sk); unix_state_unlock(sk);
unix_dgram_disconnected(sk, other); unix_dgram_disconnected(sk, other);
...@@ -1473,10 +1473,10 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1473,10 +1473,10 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
struct sock_iocb *siocb = kiocb_to_siocb(kiocb); struct sock_iocb *siocb = kiocb_to_siocb(kiocb);
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct sock *other = NULL; struct sock *other = NULL;
struct sockaddr_un *sunaddr=msg->msg_name; struct sockaddr_un *sunaddr = msg->msg_name;
int err,size; int err,size;
struct sk_buff *skb; struct sk_buff *skb;
int sent=0; int sent = 0;
struct scm_cookie tmp_scm; struct scm_cookie tmp_scm;
if (NULL == siocb->scm) if (NULL == siocb->scm)
...@@ -1523,9 +1523,9 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1523,9 +1523,9 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
* Grab a buffer * Grab a buffer
*/ */
skb=sock_alloc_send_skb(sk,size,msg->msg_flags&MSG_DONTWAIT, &err); skb = sock_alloc_send_skb(sk,size,msg->msg_flags&MSG_DONTWAIT, &err);
if (skb==NULL) if (skb == NULL)
goto out_err; goto out_err;
/* /*
...@@ -1555,7 +1555,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock, ...@@ -1555,7 +1555,7 @@ static int unix_stream_sendmsg(struct kiocb *kiocb, struct socket *sock,
skb_queue_tail(&other->sk_receive_queue, skb); skb_queue_tail(&other->sk_receive_queue, skb);
unix_state_unlock(other); unix_state_unlock(other);
other->sk_data_ready(other, size); other->sk_data_ready(other, size);
sent+=size; sent += size;
} }
scm_destroy(siocb->scm); scm_destroy(siocb->scm);
...@@ -1734,7 +1734,7 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -1734,7 +1734,7 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
struct scm_cookie tmp_scm; struct scm_cookie tmp_scm;
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
struct unix_sock *u = unix_sk(sk); struct unix_sock *u = unix_sk(sk);
struct sockaddr_un *sunaddr=msg->msg_name; struct sockaddr_un *sunaddr = msg->msg_name;
int copied = 0; int copied = 0;
int check_creds = 0; int check_creds = 0;
int target; int target;
...@@ -1772,7 +1772,7 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock, ...@@ -1772,7 +1772,7 @@ static int unix_stream_recvmsg(struct kiocb *iocb, struct socket *sock,
unix_state_lock(sk); unix_state_lock(sk);
skb = skb_dequeue(&sk->sk_receive_queue); skb = skb_dequeue(&sk->sk_receive_queue);
if (skb==NULL) if (skb == NULL)
{ {
if (copied >= target) if (copied >= target)
goto unlock; goto unlock;
...@@ -1884,7 +1884,7 @@ static int unix_shutdown(struct socket *sock, int mode) ...@@ -1884,7 +1884,7 @@ static int unix_shutdown(struct socket *sock, int mode)
if (mode) { if (mode) {
unix_state_lock(sk); unix_state_lock(sk);
sk->sk_shutdown |= mode; sk->sk_shutdown |= mode;
other=unix_peer(sk); other = unix_peer(sk);
if (other) if (other)
sock_hold(other); sock_hold(other);
unix_state_unlock(sk); unix_state_unlock(sk);
...@@ -1919,7 +1919,7 @@ static int unix_shutdown(struct socket *sock, int mode) ...@@ -1919,7 +1919,7 @@ static int unix_shutdown(struct socket *sock, int mode)
static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
{ {
struct sock *sk = sock->sk; struct sock *sk = sock->sk;
long amount=0; long amount = 0;
int err; int err;
switch(cmd) switch(cmd)
...@@ -1945,7 +1945,7 @@ static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) ...@@ -1945,7 +1945,7 @@ static int unix_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg)
} else { } else {
skb = skb_peek(&sk->sk_receive_queue); skb = skb_peek(&sk->sk_receive_queue);
if (skb) if (skb)
amount=skb->len; amount = skb->len;
} }
spin_unlock(&sk->sk_receive_queue.lock); spin_unlock(&sk->sk_receive_queue.lock);
err = put_user(amount, (int __user *)arg); err = put_user(amount, (int __user *)arg);
...@@ -2077,6 +2077,7 @@ struct unix_iter_state { ...@@ -2077,6 +2077,7 @@ struct unix_iter_state {
struct seq_net_private p; struct seq_net_private p;
int i; int i;
}; };
static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos) static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos)
{ {
struct unix_iter_state *iter = seq->private; struct unix_iter_state *iter = seq->private;
...@@ -2093,7 +2094,6 @@ static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos) ...@@ -2093,7 +2094,6 @@ static struct sock *unix_seq_idx(struct seq_file *seq, loff_t pos)
return NULL; return NULL;
} }
static void *unix_seq_start(struct seq_file *seq, loff_t *pos) static void *unix_seq_start(struct seq_file *seq, loff_t *pos)
__acquires(unix_table_lock) __acquires(unix_table_lock)
{ {
...@@ -2173,7 +2173,6 @@ static const struct seq_operations unix_seq_ops = { ...@@ -2173,7 +2173,6 @@ static const struct seq_operations unix_seq_ops = {
.show = unix_seq_show, .show = unix_seq_show,
}; };
static int unix_seq_open(struct inode *inode, struct file *file) static int unix_seq_open(struct inode *inode, struct file *file)
{ {
return seq_open_net(inode, file, &unix_seq_ops, return seq_open_net(inode, file, &unix_seq_ops,
......
...@@ -104,8 +104,8 @@ static struct sock *unix_get_socket(struct file *filp) ...@@ -104,8 +104,8 @@ static struct sock *unix_get_socket(struct file *filp)
* Socket ? * Socket ?
*/ */
if (S_ISSOCK(inode->i_mode)) { if (S_ISSOCK(inode->i_mode)) {
struct socket * sock = SOCKET_I(inode); struct socket *sock = SOCKET_I(inode);
struct sock * s = sock->sk; struct sock *s = sock->sk;
/* /*
* PF_UNIX ? * PF_UNIX ?
...@@ -124,7 +124,7 @@ static struct sock *unix_get_socket(struct file *filp) ...@@ -124,7 +124,7 @@ static struct sock *unix_get_socket(struct file *filp)
void unix_inflight(struct file *fp) void unix_inflight(struct file *fp)
{ {
struct sock *s = unix_get_socket(fp); struct sock *s = unix_get_socket(fp);
if(s) { if (s) {
struct unix_sock *u = unix_sk(s); struct unix_sock *u = unix_sk(s);
spin_lock(&unix_gc_lock); spin_lock(&unix_gc_lock);
if (atomic_long_inc_return(&u->inflight) == 1) { if (atomic_long_inc_return(&u->inflight) == 1) {
...@@ -141,7 +141,7 @@ void unix_inflight(struct file *fp) ...@@ -141,7 +141,7 @@ void unix_inflight(struct file *fp)
void unix_notinflight(struct file *fp) void unix_notinflight(struct file *fp)
{ {
struct sock *s = unix_get_socket(fp); struct sock *s = unix_get_socket(fp);
if(s) { if (s) {
struct unix_sock *u = unix_sk(s); struct unix_sock *u = unix_sk(s);
spin_lock(&unix_gc_lock); spin_lock(&unix_gc_lock);
BUG_ON(list_empty(&u->link)); BUG_ON(list_empty(&u->link));
...@@ -154,7 +154,7 @@ void unix_notinflight(struct file *fp) ...@@ -154,7 +154,7 @@ void unix_notinflight(struct file *fp)
static inline struct sk_buff *sock_queue_head(struct sock *sk) static inline struct sk_buff *sock_queue_head(struct sock *sk)
{ {
return (struct sk_buff *) &sk->sk_receive_queue; return (struct sk_buff *)&sk->sk_receive_queue;
} }
#define receive_queue_for_each_skb(sk, next, skb) \ #define receive_queue_for_each_skb(sk, next, skb) \
......
...@@ -61,4 +61,3 @@ void unix_sysctl_unregister(struct net *net) ...@@ -61,4 +61,3 @@ void unix_sysctl_unregister(struct net *net)
unregister_sysctl_table(net->unx.ctl); unregister_sysctl_table(net->unx.ctl);
kfree(table); kfree(table);
} }
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment