net/sched: fix miss init the mru in qdisc_skb_cb
authorwenxu <wenxu@ucloud.cn>
Wed, 25 Nov 2020 04:01:21 +0000 (12:01 +0800)
committerJakub Kicinski <kuba@kernel.org>
Fri, 27 Nov 2020 22:36:02 +0000 (14:36 -0800)
The mru in the qdisc_skb_cb should be init as 0. Only defrag packets in the
act_ct will set the value.

Fixes: 038ebb1a713d ("net/sched: act_ct: fix miss set mru for ovs after defrag in act_ct")
Signed-off-by: wenxu <wenxu@ucloud.cn>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/core/dev.c

index 3c3070d9d26f8b362144b50f79513b0a9a956374..51b2630761241bf043e2db1d940bcf93fd4e9032 100644 (file)
@@ -3872,6 +3872,7 @@ sch_handle_egress(struct sk_buff *skb, int *ret, struct net_device *dev)
                return skb;
 
        /* qdisc_skb_cb(skb)->pkt_len was already set by the caller. */
+       qdisc_skb_cb(skb)->mru = 0;
        mini_qdisc_bstats_cpu_update(miniq, skb);
 
        switch (tcf_classify(skb, miniq->filter_list, &cl_res, false)) {
@@ -4959,6 +4960,7 @@ sch_handle_ingress(struct sk_buff *skb, struct packet_type **pt_prev, int *ret,
        }
 
        qdisc_skb_cb(skb)->pkt_len = skb->len;
+       qdisc_skb_cb(skb)->mru = 0;
        skb->tc_at_ingress = 1;
        mini_qdisc_bstats_cpu_update(miniq, skb);