Subject: Re: [PATCH net] can: bcm: switch timer to HRTIMER_MODE_SOFT and remove hrtimer_tasklet

From: Greg KH <[email-masked]>
Date: Mon, 10 Jan 2022 14:16:38 +0100

On Mon, Jan 10, 2022 at 09:23:22PM +0800, Ziyang Xuan wrote:
> From: Thomas Gleixner <[email-masked]>
> 
> [ commit bf74aa86e111aa3b2fbb25db37e3a3fab71b5b68 upstream ]
> 
> Stop tx/rx cycle rely on the active state of tasklet and hrtimer
> sequentially in bcm_remove_op(), the op object will be freed if they
> are all unactive. Assume the hrtimer timeout is short, the hrtimer
> cb has been excuted after tasklet conditional judgment which must be
> false after last round tasklet_kill() and before condition
> hrtimer_active(), it is false when execute to hrtimer_active(). Bug
> is triggerd, because the stopping action is end and the op object
> will be freed, but the tasklet is scheduled. The resources of the op
> object will occur UAF bug.

That is not the changelog text of this commit.  Why modify it?

> 
> ----------------------------------------------------------------------
> 
> This patch switches the timer to HRTIMER_MODE_SOFT, which executed the
> timer callback in softirq context and removes the hrtimer_tasklet.
> 
> Reported-by: [email-masked]
> Cc: [email-masked] # 4.19
> Signed-off-by: Thomas Gleixner <[email-masked]>
> Signed-off-by: Anna-Maria Gleixner <[email-masked]>
> Acked-by: Oliver Hartkopp <[email-masked]>
> Signed-off-by: Marc Kleine-Budde <[email-masked]>
> Signed-off-by: Ziyang Xuan <[email-masked]>
> ---
>  net/can/bcm.c | 156 +++++++++++++++++---------------------------------
>  1 file changed, 52 insertions(+), 104 deletions(-)

What stable kernel tree(s) are you wanting this backported to?

thanks,

greg k-h