Re: [PATCH net v2] net: hdlc_ppp: Fix issues when mod_timer is called while timer is running

From: David Miller
Date: Mon Dec 28 2020 - 18:12:28 EST


From: Xie He <xie.he.0141@xxxxxxxxx>
Date: Sun, 27 Dec 2020 18:53:39 -0800

> ppp_cp_event is called directly or indirectly by ppp_rx with "ppp->lock"
> held. It may call mod_timer to add a new timer. However, at the same time
> ppp_timer may be already running and waiting for "ppp->lock". In this
> case, there's no need for ppp_timer to continue running and it can just
> exit.
>
> If we let ppp_timer continue running, it may call add_timer. This causes
> kernel panic because add_timer can't be called with a timer pending.
> This patch fixes this problem.
>
> Fixes: e022c2f07ae5 ("WAN: new synchronous PPP implementation for generic HDLC.")
> Cc: Krzysztof Halasa <khc@xxxxxxxxx>
> Signed-off-by: Xie He <xie.he.0141@xxxxxxxxx>

Applied and queued up for -stable, thanks!