From: Doron Roberts-Kedes <doro...@fb.com> Date: Fri, 20 Apr 2018 12:11:11 -0700
> struct sock's sk_rcvtimeo is initialized to > LONG_MAX/MAX_SCHEDULE_TIMEOUT in sock_init_data. Calling > mod_delayed_work with a timeout of LONG_MAX causes spurious execution of > the work function. timer->expires is set equal to jiffies + LONG_MAX. > When timer_base->clk falls behind the current value of jiffies, > the delta between timer_base->clk and jiffies + LONG_MAX causes the > expiration to be in the past. Returning early from strp_start_timer if > timeo == LONG_MAX solves this problem. > > Found while testing net/tls_sw recv path. > > Fixes: 43a0c6751a322847 ("strparser: Stream parser for messages") > Reviewed-by: Tejun Heo <t...@kernel.org> > Signed-off-by: Doron Roberts-Kedes <doro...@fb.com> Applied and queued up for -stable, thanks.