• Herbert Xu's avatar
    tun: Fix TUN_PKT_STRIP setting · 12e8c6a7
    Herbert Xu authored
    commit 2eb783c4 upstream.
    
    We set the flag TUN_PKT_STRIP if the user buffer provided is too
    small to contain the entire packet plus meta-data.  However, this
    has been broken ever since we added GSO meta-data.  VLAN acceleration
    also has the same problem.
    
    This patch fixes this by taking both into account when setting the
    TUN_PKT_STRIP flag.
    
    The fact that this has been broken for six years without anyone
    realising means that nobody actually uses this flag.
    
    Fixes: f43798c2 ("tun: Allow GSO using virtio_net_hdr")
    Signed-off-by: default avatarHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    [bwh: Backported to 3.2:
     - No VLAN acceleration support
     - Adjust context]
    Signed-off-by: default avatarBen Hutchings <ben@decadent.org.uk>
    12e8c6a7
tun.c 38.4 KB