mirror of
https://github.com/torvalds/linux
synced 2024-11-05 18:23:50 +00:00
xfrm: move the checking for old xfrm_policy hold_queue to beginning
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.li@gmail.com> Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
This commit is contained in:
parent
586f2eb416
commit
de2ad486cb
1 changed files with 3 additions and 3 deletions
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue