• H
    gso: Stop fraglists from escaping · 278b2513
    Herbert Xu 提交于
    As it stands skb fraglists can get past the check in dev_queue_xmit
    if the skb is marked as GSO.  In particular, if the packet doesn't
    have the proper checksums for GSO, but can otherwise be handled by
    the underlying device, we will not perform the fraglist check on it
    at all.
    
    If the underlying device cannot handle fraglists, then this will
    break.
    
    The fix is as simple as moving the fraglist check from the device
    check into skb_gso_ok.
    
    This has caused crashes with Xen when used together with GRO which
    can generate GSO packets with fraglists.
    Signed-off-by: NHerbert Xu <herbert@gondor.apana.org.au>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    278b2513
netdevice.h 59.1 KB