Message ID | 1351219727-6085-1-git-send-email-windsdaemon@gmail.com |
---|---|
State | Changes Requested, archived |
Delegated to: | David Miller |
Headers | show |
From: Jing Wang <windsdaemon@gmail.com> Date: Fri, 26 Oct 2012 10:48:47 +0800 > > Signed-off-by: Jing Wang <windsdaemon@gmail.com> What compile warning? You need to describe what problem you are solving, rather than assume we can figure it out by reading your patch. > - > + This doesn't do anything and should be in your patch. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Thanks for your review and i'm sorry about this, the warning is : CC net/unix/af_unix.o net/unix/af_unix.c: In function 'unix_bind': net/unix/af_unix.c:895: warning: 'path.dentry' may be used uninitialized in this function net/unix/af_unix.c:895: warning: 'path.mnt' may be used uninitialized in this function 于 2012年10月26日 11:16, David Miller 写道: > From: Jing Wang <windsdaemon@gmail.com> > Date: Fri, 26 Oct 2012 10:48:47 +0800 > >> Signed-off-by: Jing Wang <windsdaemon@gmail.com> > What compile warning? You need to describe what problem > you are solving, rather than assume we can figure it out > by reading your patch. > >> - >> + > This doesn't do anything and should be in your patch. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Jing Wang <windsdaemon@gmail.com> writes: > Signed-off-by: Jing Wang <windsdaemon@gmail.com> > --- > net/unix/af_unix.c | 9 ++++++--- > 1 files changed, 6 insertions(+), 3 deletions(-) > > diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c > index 5b5c876..3f7d9d5 100644 > --- a/net/unix/af_unix.c > +++ b/net/unix/af_unix.c > @@ -860,6 +860,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) > unsigned int hash; > struct unix_address *addr; > struct hlist_head *list; > + struct path path; > + umode_t mode; This code motion to the top level in the function is also wrong. > err = -EINVAL; > if (sunaddr->sun_family != AF_UNIX) > @@ -890,11 +892,12 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) > addr->len = addr_len; > addr->hash = hash ^ sk->sk_type; > atomic_set(&addr->refcnt, 1); > - > + > if (sun_path[0]) { > - struct path path; > - umode_t mode = S_IFSOCK | > + mode = S_IFSOCK | > (SOCK_INODE(sock)->i_mode & ~current_umask()); > + > + memset(&path, 0, sizeof(path)); > err = unix_mknod(sun_path, mode, &path); > if (err) { > if (err == -EEXIST) Eric -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 5b5c876..3f7d9d5 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -860,6 +860,8 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) unsigned int hash; struct unix_address *addr; struct hlist_head *list; + struct path path; + umode_t mode; err = -EINVAL; if (sunaddr->sun_family != AF_UNIX) @@ -890,11 +892,12 @@ static int unix_bind(struct socket *sock, struct sockaddr *uaddr, int addr_len) addr->len = addr_len; addr->hash = hash ^ sk->sk_type; atomic_set(&addr->refcnt, 1); - + if (sun_path[0]) { - struct path path; - umode_t mode = S_IFSOCK | + mode = S_IFSOCK | (SOCK_INODE(sock)->i_mode & ~current_umask()); + + memset(&path, 0, sizeof(path)); err = unix_mknod(sun_path, mode, &path); if (err) { if (err == -EEXIST)
Signed-off-by: Jing Wang <windsdaemon@gmail.com> --- net/unix/af_unix.c | 9 ++++++--- 1 files changed, 6 insertions(+), 3 deletions(-)