• Jakub Kicinski's avatar
    net: don't allow user space to lift the device limits · 14d7b812
    Jakub Kicinski authored
    Up until commit 46e6b992 ("rtnetlink: allow GSO maximums to
    be set on device creation") the gso_max_segs and gso_max_size
    of a device were not controlled from user space.
    
    The quoted commit added the ability to control them because of
    the following setup:
    
     netns A  |  netns B
         veth<->veth   eth0
    
    If eth0 has TSO limitations and user wants to efficiently forward
    traffic between eth0 and the veths they should copy the TSO
    limitations of eth0 onto the veths. This would happen automatically
    for macvlans or ipvlan but veth users are not so lucky (given the
    loose coupling).
    
    Unfortunately the commit in question allowed users to also override
    the limits on real HW devices.
    
    It may be useful to control the max GSO size and someone may be using
    that ability (not that I know of any user), so create a separate set
    of knobs to reliably record the TSO limitations. Validate the user
    requests.
    Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    14d7b812
dev.c 286 KB