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. Signed-off-by: Benjamin LaHaise <bcrl@kvack.org> Signed-off-by: James Chapman <jchapman@katalix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
a6506e1486
commit
bbdb32cb5b
|
@ -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);
|
||||
|
|
Loading…
Reference in New Issue