• Sabrina Dubroca's avatar
    net: ipv4: don't let PMTU updates increase route MTU · 28d35bcd
    Sabrina Dubroca authored
    When an MTU update with PMTU smaller than net.ipv4.route.min_pmtu is
    received, we must clamp its value. However, we can receive a PMTU
    exception with PMTU < old_mtu < ip_rt_min_pmtu, which would lead to an
    increase in PMTU.
    
    To fix this, take the smallest of the old MTU and ip_rt_min_pmtu.
    
    Before this patch, in case of an update, the exception's MTU would
    always change. Now, an exception can have only its lock flag updated,
    but not the MTU, so we need to add a check on locking to the following
    "is this exception getting updated, or close to expiring?" test.
    
    Fixes: d52e5a7e ("ipv4: lock mtu in fnhe when received PMTU < net.ipv4.route.min_pmtu")
    Signed-off-by: default avatarSabrina Dubroca <sd@queasysnail.net>
    Reviewed-by: default avatarStefano Brivio <sbrivio@redhat.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    28d35bcd
route.c 78.7 KB