Message ID | 20120320135754.GA30155@kvack.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On 20/03/12 13:57, Benjamin LaHaise wrote: > While testing L2TP functionality, I came across a bug in getsockname(). The > IP address returned within the pppol2tp_addr's addr memember was not being > set to the IP address in use. This bug is caused by using inet_sk() on the > wrong socket (the L2TP socket rather than the underlying UDP socket), and was > likely introduced during the addition of L2TPv3 support. > > Signed-off-by: Benjamin LaHaise <bcrl@kvack.org> Signed-off-by: James Chapman <jchapman@katalix.com> > --- > net/l2tp/l2tp_ppp.c | 2 +- > 1 files changed, 1 insertions(+), 1 deletions(-) > > diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c > index 96bc7a6..9b07191 100644 > --- a/net/l2tp/l2tp_ppp.c > +++ b/net/l2tp/l2tp_ppp.c > @@ -915,7 +915,7 @@ static int pppol2tp_getname(struct socket *sock, struct sockaddr *uaddr, > goto end_put_sess; > } > > - inet = inet_sk(sk); > + inet = inet_sk(tunnel->sock); > if (tunnel->version == 2) { > struct sockaddr_pppol2tp sp; > len = sizeof(sp); -- 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
From: James Chapman <jchapman@katalix.com> Date: Tue, 20 Mar 2012 14:49:02 +0000 > On 20/03/12 13:57, Benjamin LaHaise wrote: >> While testing L2TP functionality, I came across a bug in getsockname(). The >> IP address returned within the pppol2tp_addr's addr memember was not being >> set to the IP address in use. This bug is caused by using inet_sk() on the >> wrong socket (the L2TP socket rather than the underlying UDP socket), and was >> likely introduced during the addition of L2TPv3 support. >> >> Signed-off-by: Benjamin LaHaise <bcrl@kvack.org> > > Signed-off-by: James Chapman <jchapman@katalix.com> Applied and queued up for -stable, thanks. -- 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/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c index 96bc7a6..9b07191 100644 --- a/net/l2tp/l2tp_ppp.c +++ b/net/l2tp/l2tp_ppp.c @@ -915,7 +915,7 @@ static int pppol2tp_getname(struct socket *sock, struct sockaddr *uaddr, goto end_put_sess; } - inet = inet_sk(sk); + inet = inet_sk(tunnel->sock); if (tunnel->version == 2) { struct sockaddr_pppol2tp sp; len = sizeof(sp);
While testing L2TP functionality, I came across a bug in getsockname(). The IP address returned within the pppol2tp_addr's addr memember was not being set to the IP address in use. This bug is caused by using inet_sk() on the wrong socket (the L2TP socket rather than the underlying UDP socket), and was likely introduced during the addition of L2TPv3 support. Signed-off-by: Benjamin LaHaise <bcrl@kvack.org> --- net/l2tp/l2tp_ppp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)