From mboxrd@z Thu Jan 1 00:00:00 1970 From: Libo Chen Subject: [RFC PATCH net-next 4/4] cls_cgroup: restore classid from skb->sk_classid Date: Fri, 3 Jan 2014 11:11:17 +0800 Message-ID: <52C62A55.4070901@huawei.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Cc: netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, containers-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org, Serge Hallyn , LKML , cgroups-u79uwXL29TY76Z2rM5mHXA@public.gmane.org To: , David Miller Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org Errors-To: containers-bounces-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org List-Id: netdev.vger.kernel.org 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 --- 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