lkml.org 
[lkml]   [2017]   [Dec]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.9 065/148] vti6: Dont report path MTU below IPV6_MIN_MTU.
    Date
    4.9-stable review patch.  If anyone has any objections, please let me know.

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

    From: Steffen Klassert <steffen.klassert@secunet.com>


    [ Upstream commit e3dc847a5f85b43ee2bfc8eae407a7e383483228 ]

    In vti6_xmit(), the check for IPV6_MIN_MTU before we
    send a ICMPV6_PKT_TOOBIG message is missing. So we might
    report a PMTU below 1280. Fix this by adding the required
    check.

    Fixes: ccd740cbc6e ("vti6: Add pmtu handling to vti6_xmit.")
    Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    net/ipv6/ip6_vti.c | 8 ++++++--
    1 file changed, 6 insertions(+), 2 deletions(-)

    --- a/net/ipv6/ip6_vti.c
    +++ b/net/ipv6/ip6_vti.c
    @@ -485,11 +485,15 @@ vti6_xmit(struct sk_buff *skb, struct ne
    if (!skb->ignore_df && skb->len > mtu) {
    skb_dst(skb)->ops->update_pmtu(dst, NULL, skb, mtu);

    - if (skb->protocol == htons(ETH_P_IPV6))
    + if (skb->protocol == htons(ETH_P_IPV6)) {
    + if (mtu < IPV6_MIN_MTU)
    + mtu = IPV6_MIN_MTU;
    +
    icmpv6_send(skb, ICMPV6_PKT_TOOBIG, 0, mtu);
    - else
    + } else {
    icmp_send(skb, ICMP_DEST_UNREACH, ICMP_FRAG_NEEDED,
    htonl(mtu));
    + }

    return -EMSGSIZE;
    }

    \
     
     \ /
      Last update: 2017-12-12 13:58    [W:4.041 / U:0.960 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site