lkml.org 
[lkml]   [2014]   [Jun]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.8 050/121] l2tp: take PMTU from tunnel UDP socket
    Date
    3.8.13.24 -stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Dmitry Petukhov <dmgenp@gmail.com>

    [ Upstream commit f34c4a35d87949fbb0e0f31eba3c054e9f8199ba ]

    When l2tp driver tries to get PMTU for the tunnel destination, it uses
    the pointer to struct sock that represents PPPoX socket, while it
    should use the pointer that represents UDP socket of the tunnel.

    Signed-off-by: Dmitry Petukhov <dmgenp@gmail.com>
    Signed-off-by: David S. Miller <davem@davemloft.net>
    Signed-off-by: Kamal Mostafa <kamal@canonical.com>
    ---
    net/l2tp/l2tp_ppp.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c
    index ddf43a3..26dbd9a 100644
    --- a/net/l2tp/l2tp_ppp.c
    +++ b/net/l2tp/l2tp_ppp.c
    @@ -781,9 +781,9 @@ static int pppol2tp_connect(struct socket *sock, struct sockaddr *uservaddr,
    session->deref = pppol2tp_session_sock_put;

    /* If PMTU discovery was enabled, use the MTU that was discovered */
    - dst = sk_dst_get(sk);
    + dst = sk_dst_get(tunnel->sock);
    if (dst != NULL) {
    - u32 pmtu = dst_mtu(__sk_dst_get(sk));
    + u32 pmtu = dst_mtu(__sk_dst_get(tunnel->sock));
    if (pmtu != 0)
    session->mtu = session->mru = pmtu -
    PPPOL2TP_HEADER_OVERHEAD;
    --
    1.9.1


    \
     
     \ /
      Last update: 2014-06-18 00:21    [W:4.697 / U:0.004 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site