From: Li RongQing <roy.qing...@gmail.com>

if hold_queue of old xfrm_policy is NULL, return directly, then not need to
run other codes, especially take the spin lock

Signed-off-by: Li RongQing <roy.qing...@gmail.com>
Signed-off-by: Steffen Klassert <steffen.klass...@secunet.com>
---
 net/xfrm/xfrm_policy.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/net/xfrm/xfrm_policy.c b/net/xfrm/xfrm_policy.c
index 435bc0d..3d264e5 100644
--- a/net/xfrm/xfrm_policy.c
+++ b/net/xfrm/xfrm_policy.c
@@ -700,6 +700,9 @@ static void xfrm_policy_requeue(struct xfrm_policy *old,
        struct xfrm_policy_queue *pq = &old->polq;
        struct sk_buff_head list;
 
+       if (skb_queue_empty(&pq->hold_queue))
+               return;
+
        __skb_queue_head_init(&list);
 
        spin_lock_bh(&pq->hold_queue.lock);
@@ -708,9 +711,6 @@ static void xfrm_policy_requeue(struct xfrm_policy *old,
                xfrm_pol_put(old);
        spin_unlock_bh(&pq->hold_queue.lock);
 
-       if (skb_queue_empty(&list))
-               return;
-
        pq = &new->polq;
 
        spin_lock_bh(&pq->hold_queue.lock);
-- 
1.9.1

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to