• K
    net: tracepoint of net_dev_xmit sees freed skb and causes panic · ec764bf0
    Koki Sanagi 提交于
    Because there is a possibility that skb is kfree_skb()ed and zero cleared
    after ndo_start_xmit, we should not see the contents of skb like skb->len and
    skb->dev->name after ndo_start_xmit. But trace_net_dev_xmit does that
    and causes panic by NULL pointer dereference.
    This patch fixes trace_net_dev_xmit not to see the contents of skb directly.
    
    If you want to reproduce this panic,
    
    1. Get tracepoint of net_dev_xmit on
    2. Create 2 guests on KVM
    2. Make 2 guests use virtio_net
    4. Execute netperf from one to another for a long time as a network burden
    5. host will panic(It takes about 30 minutes)
    Signed-off-by: NKoki Sanagi <sanagi.koki@jp.fujitsu.com>
    Signed-off-by: NDavid S. Miller <davem@davemloft.net>
    ec764bf0
dev.c 158.2 KB