Message ID | 1339531699-7377-1-git-send-email-levinsasha928@gmail.com |
---|---|
State | Not Applicable, archived |
Delegated to: | David Miller |
Headers | show |
On Mon, 2012-06-25 at 19:17 +0200, Samuel Ortiz wrote: > Hi Sasha, > > On Tue, Jun 12, 2012 at 10:08:19PM +0200, Sasha Levin wrote: > > Not having 'local' is a valid case when a socket was created but never > > bound or connected to anything, so avoid putting 'local' if it was > > never created. > > > > Signed-off-by: Sasha Levin <levinsasha928@gmail.com> > > --- > > net/nfc/llcp/sock.c | 3 ++- > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c > > index 2c0b317..54daa10 100644 > > --- a/net/nfc/llcp/sock.c > > +++ b/net/nfc/llcp/sock.c > > @@ -710,7 +710,8 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock) > > > > sock->parent = NULL; > > > > - nfc_llcp_local_put(sock->local); > > + if (sock->local) > > + nfc_llcp_local_put(sock->local); > nfc_llcp_local_put() already checks for its argument being NULL or not. nfc_llcp_local_put() triggers a warning in this case as well, which means that this code path shouldn't be happening. Should we remove the WARN_ON from nfc_llcp_local_put() instead? -- 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
Hi Sasha, On Tue, Jun 12, 2012 at 10:08:19PM +0200, Sasha Levin wrote: > Not having 'local' is a valid case when a socket was created but never > bound or connected to anything, so avoid putting 'local' if it was > never created. > > Signed-off-by: Sasha Levin <levinsasha928@gmail.com> > --- > net/nfc/llcp/sock.c | 3 ++- > 1 files changed, 2 insertions(+), 1 deletions(-) > > diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c > index 2c0b317..54daa10 100644 > --- a/net/nfc/llcp/sock.c > +++ b/net/nfc/llcp/sock.c > @@ -710,7 +710,8 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock) > > sock->parent = NULL; > > - nfc_llcp_local_put(sock->local); > + if (sock->local) > + nfc_llcp_local_put(sock->local); nfc_llcp_local_put() already checks for its argument being NULL or not. Cheers, Samuel.
On Mon, Jun 25, 2012 at 07:15:46PM +0200, Sasha Levin wrote: > On Mon, 2012-06-25 at 19:17 +0200, Samuel Ortiz wrote: > > Hi Sasha, > > > > On Tue, Jun 12, 2012 at 10:08:19PM +0200, Sasha Levin wrote: > > > Not having 'local' is a valid case when a socket was created but never > > > bound or connected to anything, so avoid putting 'local' if it was > > > never created. > > > > > > Signed-off-by: Sasha Levin <levinsasha928@gmail.com> > > > --- > > > net/nfc/llcp/sock.c | 3 ++- > > > 1 files changed, 2 insertions(+), 1 deletions(-) > > > > > > diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c > > > index 2c0b317..54daa10 100644 > > > --- a/net/nfc/llcp/sock.c > > > +++ b/net/nfc/llcp/sock.c > > > @@ -710,7 +710,8 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock) > > > > > > sock->parent = NULL; > > > > > > - nfc_llcp_local_put(sock->local); > > > + if (sock->local) > > > + nfc_llcp_local_put(sock->local); > > nfc_llcp_local_put() already checks for its argument being NULL or not. > > nfc_llcp_local_put() triggers a warning in this case as well, which > means that this code path shouldn't be happening. > > Should we remove the WARN_ON from nfc_llcp_local_put() instead? Yes, that would be better. Cheers, Samuel.
diff --git a/net/nfc/llcp/sock.c b/net/nfc/llcp/sock.c index 2c0b317..54daa10 100644 --- a/net/nfc/llcp/sock.c +++ b/net/nfc/llcp/sock.c @@ -710,7 +710,8 @@ void nfc_llcp_sock_free(struct nfc_llcp_sock *sock) sock->parent = NULL; - nfc_llcp_local_put(sock->local); + if (sock->local) + nfc_llcp_local_put(sock->local); } static int llcp_sock_create(struct net *net, struct socket *sock,
Not having 'local' is a valid case when a socket was created but never bound or connected to anything, so avoid putting 'local' if it was never created. Signed-off-by: Sasha Levin <levinsasha928@gmail.com> --- net/nfc/llcp/sock.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-)