[RFC PATCH net-next 4/4] cls_cgroup: restore classid from skb->sk_classid

From: Libo Chen
Date: Thu Jan 02 2014 - 22:12:14 EST



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


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/