Replace kfree_skb() used in do_xdp_generic() with kfree_skb_reason().
The drop reason SKB_DROP_REASON_XDP is introduced for this case.
Signed-off-by: Menglong Dong <imagedong@tencent.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
                                         * full (see netdev_max_backlog in
                                         * net.rst) or RPS flow limit
                                         */
+       SKB_DROP_REASON_XDP,            /* dropped by XDP in input path */
        SKB_DROP_REASON_MAX,
 };
 
 
        EM(SKB_DROP_REASON_TC_EGRESS, TC_EGRESS)                \
        EM(SKB_DROP_REASON_QDISC_DROP, QDISC_DROP)              \
        EM(SKB_DROP_REASON_CPU_BACKLOG, CPU_BACKLOG)            \
+       EM(SKB_DROP_REASON_XDP, XDP)                            \
        EMe(SKB_DROP_REASON_MAX, MAX)
 
 #undef EM
 
        }
        return XDP_PASS;
 out_redir:
-       kfree_skb(skb);
+       kfree_skb_reason(skb, SKB_DROP_REASON_XDP);
        return XDP_DROP;
 }
 EXPORT_SYMBOL_GPL(do_xdp_generic);