diff options
Diffstat (limited to 'net/xfrm/xfrm_state.c')
| -rw-r--r-- | net/xfrm/xfrm_state.c | 21 | 
1 files changed, 1 insertions, 20 deletions
| diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c index 290479d0746d..e845066547c4 100644 --- a/net/xfrm/xfrm_state.c +++ b/net/xfrm/xfrm_state.c @@ -372,8 +372,6 @@ static void xfrm_state_gc_task(struct work_struct *work)  	hlist_for_each_entry_safe(x, tmp, &gc_list, gclist)  		xfrm_state_gc_destroy(x); - -	wake_up(&net->xfrm.km_waitq);  }  static inline unsigned long make_jiffies(long secs) @@ -388,7 +386,6 @@ static enum hrtimer_restart xfrm_timer_handler(struct hrtimer * me)  {  	struct tasklet_hrtimer *thr = container_of(me, struct tasklet_hrtimer, timer);  	struct xfrm_state *x = container_of(thr, struct xfrm_state, mtimer); -	struct net *net = xs_net(x);  	unsigned long now = get_seconds();  	long next = LONG_MAX;  	int warn = 0; @@ -458,12 +455,8 @@ resched:  	goto out;  expired: -	if (x->km.state == XFRM_STATE_ACQ && x->id.spi == 0) { +	if (x->km.state == XFRM_STATE_ACQ && x->id.spi == 0)  		x->km.state = XFRM_STATE_EXPIRED; -		wake_up(&net->xfrm.km_waitq); -		next = 2; -		goto resched; -	}  	err = __xfrm_state_delete(x);  	if (!err) @@ -635,7 +628,6 @@ restart:  out:  	spin_unlock_bh(&net->xfrm.xfrm_state_lock); -	wake_up(&net->xfrm.km_waitq);  	return err;  }  EXPORT_SYMBOL(xfrm_state_flush); @@ -948,8 +940,6 @@ static void __xfrm_state_insert(struct xfrm_state *x)  	if (x->replay_maxage)  		mod_timer(&x->rtimer, jiffies + x->replay_maxage); -	wake_up(&net->xfrm.km_waitq); -  	net->xfrm.state_num++;  	xfrm_hash_grow_check(net, x->bydst.next != NULL); @@ -1658,16 +1648,12 @@ EXPORT_SYMBOL(km_state_notify);  void km_state_expired(struct xfrm_state *x, int hard, u32 portid)  { -	struct net *net = xs_net(x);  	struct km_event c;  	c.data.hard = hard;  	c.portid = portid;  	c.event = XFRM_MSG_EXPIRE;  	km_state_notify(x, &c); - -	if (hard) -		wake_up(&net->xfrm.km_waitq);  }  EXPORT_SYMBOL(km_state_expired); @@ -1710,16 +1696,12 @@ EXPORT_SYMBOL(km_new_mapping);  void km_policy_expired(struct xfrm_policy *pol, int dir, int hard, u32 portid)  { -	struct net *net = xp_net(pol);  	struct km_event c;  	c.data.hard = hard;  	c.portid = portid;  	c.event = XFRM_MSG_POLEXPIRE;  	km_policy_notify(pol, dir, &c); - -	if (hard) -		wake_up(&net->xfrm.km_waitq);  }  EXPORT_SYMBOL(km_policy_expired); @@ -2028,7 +2010,6 @@ int __net_init xfrm_state_init(struct net *net)  	INIT_WORK(&net->xfrm.state_hash_work, xfrm_hash_resize);  	INIT_HLIST_HEAD(&net->xfrm.state_gc_list);  	INIT_WORK(&net->xfrm.state_gc_work, xfrm_state_gc_task); -	init_waitqueue_head(&net->xfrm.km_waitq);  	spin_lock_init(&net->xfrm.xfrm_state_lock);  	return 0; | 
