[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YdwxtqexaE75uCZ8@kroah.com>
Date: Mon, 10 Jan 2022 14:16:38 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Ziyang Xuan <william.xuanziyang@...wei.com>
Cc: davem@...emloft.net, kuba@...nel.org, socketcan@...tkopp.net,
mkl@...gutronix.de, netdev@...r.kernel.org, stable@...r.kernel.org,
linux-can@...r.kernel.org, tglx@...utronix.de,
anna-maria@...utronix.de
Subject: Re: [PATCH net] can: bcm: switch timer to HRTIMER_MODE_SOFT and
remove hrtimer_tasklet
On Mon, Jan 10, 2022 at 09:23:22PM +0800, Ziyang Xuan wrote:
> From: Thomas Gleixner <tglx@...utronix.de>
>
> [ 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: syzbot+652023d5376450cc8516@...kaller.appspotmail.com
> Cc: stable@...r.kernel.org # 4.19
> Signed-off-by: Thomas Gleixner <tglx@...utronix.de>
> Signed-off-by: Anna-Maria Gleixner <anna-maria@...utronix.de>
> Acked-by: Oliver Hartkopp <socketcan@...tkopp.net>
> Signed-off-by: Marc Kleine-Budde <mkl@...gutronix.de>
> Signed-off-by: Ziyang Xuan <william.xuanziyang@...wei.com>
> ---
> 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
Powered by blists - more mailing lists