Fix pppol2tp getsockname()
Subsystems (3)
PATCH 1/1 Fix pppol2tp getsockname()
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.
--- net/l2tp/l2tp_ppp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
net/l2tp/l2tp_ppp.c +1 -1
@@ -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);
Signature · 1 line
1.7.4.1
James Chapman
maintainerQuoted 7 lines · Benjamin LaHaise
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 usinginet_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 <[email protected]>
Quoted 17 lines
--- net/l2tp/l2tp_ppp.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)net/l2tp/l2tp_ppp.c +1
-1@@ -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);
David Miller
maintainerFrom: James Chapman <[email protected]>
Date: Tue, 20 Mar 2012 14:49:02 +0000
Quoted 10 lines · Benjamin LaHaise
Quoted 7 lines
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 usinginet_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 <[email protected]>Signed-off-by James Chapman <[email protected]>
Applied and queued up for -stable, thanks.