[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Ykbe46hLAfJ8TsnW@linutronix.de>
Date: Fri, 1 Apr 2022 13:15:47 +0200
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: "Zhang, Qiang1" <qiang1.zhang@...el.com>
Cc: "ryabinin.a.a@...il.com" <ryabinin.a.a@...il.com>,
"glider@...gle.com" <glider@...gle.com>,
"andreyknvl@...il.com" <andreyknvl@...il.com>,
"dvyukov@...gle.com" <dvyukov@...gle.com>,
"akpm@...ux-foundation.org" <akpm@...ux-foundation.org>,
"kasan-dev@...glegroups.com" <kasan-dev@...glegroups.com>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-rt-users@...r.kernel.org" <linux-rt-users@...r.kernel.org>
Subject: Re: [PATCH] kasan: Fix sleeping function called from invalid context
in PREEMPT_RT
On 2022-04-01 10:10:38 [+0000], Zhang, Qiang1 wrote:
> >Could we fix in a way that we don't involve freeing memory from in-IRQ?
> >This could trigger a lockdep splat if the local-lock in SLUB is acquired from in-IRQ context on !PREEMPT_RT.
>
> Hi, I will move qlist_free_all() from IPI context to task context,
> This operation and the next release members
> in the quarantine pool operate similarly
>
> I don't know the phenomenon you described. Can you explain it in detail?
If you mean by phenomenon my second sentence then the kernel option
CONFIG_PROVE_RAW_LOCK_NESTING will trigger on !PREEMPT_RT in a code
sequence like
raw_spin_lock()
spin_lock();
which is wrong on PREEMPT_RT. So we have a warning on both
configurations.
The call chain in your case will probably not lead to a warning since
there is no raw_spinlock_t involved within the IPI call. We worked on
avoiding memory allocation and freeing from in-IRQ context therefore I
would prefer to have something that works for both and not just ifdef
around the RT-case.
> Thanks
> Zqiang
Sebastian
Powered by blists - more mailing lists