Subject: Re: [PATCHv2 net-next] xfrm: Make xfrm_state timer monotonic

From: Steffen Klassert <[email-masked]>
Date: Wed, 14 Aug 2013 13:34:36 +0200

On Mon, Aug 12, 2013 at 01:40:07PM +0800, Fan Du wrote:
> 
> 
> On 2013年08月06日 17:22, Steffen Klassert wrote:
> >On Tue, Aug 06, 2013 at 02:57:05PM +0800, Fan Du wrote:
> >>xfrm_state timer should be independent of system clock change,
> >>so switch to monotonic clock base.
> >>
> >
> >I think a monotonic timer will reintroduce a bug on suspend/resume
> >that was fixed by commit 9e0d57fd6
> >(xfrm: SAD entries do not expire correctly after suspend-resume)
> >
> >Please make sure that this does not happen.
> 
> What about using CLOCK_BOOTTIME? it's monotonic, but includes suspend time as well.
> 
> 
> From 1dae5a22c203224ee46e2a2f95b569a04b74117b Mon Sep 17 00:00:00 2001
> From: Fan Du <[email-masked]>
> Date: Mon, 12 Aug 2013 13:33:45 +0800
> Subject: [PATCHv2 net-next] xfrm: Make xfrm_state timer monotonic
> 
> xfrm_state timer should be independent of system clock change,
> so switch to CLOCK_BOOTTIME base which is not only monotonic but
> also counting suspend time.
> 
> Signed-off-by: Fan Du <[email-masked]>
> ---
>  net/xfrm/xfrm_state.c |    2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/xfrm/xfrm_state.c b/net/xfrm/xfrm_state.c
> index 78f66fa..1df4436 100644
> --- a/net/xfrm/xfrm_state.c
> +++ b/net/xfrm/xfrm_state.c
> @@ -499,7 +499,7 @@ struct xfrm_state *xfrm_state_alloc(struct net *net)
>  		INIT_HLIST_NODE(&x->bydst);
>  		INIT_HLIST_NODE(&x->bysrc);
>  		INIT_HLIST_NODE(&x->byspi);
> -		tasklet_hrtimer_init(&x->mtimer, xfrm_timer_handler, CLOCK_REALTIME, HRTIMER_MODE_ABS);
> +		tasklet_hrtimer_init(&x->mtimer, xfrm_timer_handler, CLOCK_BOOTTIME, HRTIMER_MODE_ABS);
>  		setup_timer(&x->rtimer, xfrm_replay_timer_handler,
>  				(unsigned long)x);
>  		x->curlft.add_time = get_seconds();

This does not apply to my tree, looks like your patch is whitespace damaged.