if skb->sk is NULL, we can try to restore from skb->bk_classid, because we may have saved it. Signed-off-by: Libo Chen <clbchenlibo.chen@xxxxxxxxxx> --- net/sched/cls_cgroup.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/net/sched/cls_cgroup.c b/net/sched/cls_cgroup.c index d228a5d..6ab0e69 100644 --- a/net/sched/cls_cgroup.c +++ b/net/sched/cls_cgroup.c @@ -141,9 +141,10 @@ static int cls_cgroup_classify(struct sk_buff *skb, const struct tcf_proto *tp, */ if (in_serving_softirq()) { /* If there is an sk_classid we'll use that. */ - if (!skb->sk) - return -1; - classid = skb->sk->sk_classid; + if (skb->sk) + classid = skb->sk->sk_classid; + else + classid = skb->backup_classid; } if (!classid) -- 1.8.2.2 _______________________________________________ Containers mailing list Containers@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/containers