[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <d62b4ccf-505d-e8e2-1195-48327ba4a4eb@monstr.eu>
Date: Wed, 25 Aug 2021 11:03:17 +0200
From: Michal Simek <monstr@...str.eu>
To: Mark Rutland <mark.rutland@....com>, linux-kernel@...r.kernel.org
Cc: benh@...nel.crashing.org, boqun.feng@...il.com, bp@...en8.de,
catalin.marinas@....com, dvyukov@...gle.com, elver@...gle.com,
ink@...assic.park.msu.ru, jonas@...thpole.se,
juri.lelli@...hat.com, linux@...linux.org.uk, luto@...nel.org,
mattst88@...il.com, mingo@...hat.com, mpe@...erman.id.au,
paulmck@...nel.org, paulus@...ba.org, peterz@...radead.org,
rth@...ddle.net, shorne@...il.com,
stefan.kristiansson@...nalahti.fi, tglx@...utronix.de,
vincent.guittot@...aro.org, will@...nel.org
Subject: Re: [PATCH v4 07/10] microblaze: snapshot thread flags
On 8/3/21 11:54 AM, Mark Rutland wrote:
> Some thread flags can be set remotely, and so even when IRQs are
> disabled, the flags can change under our feet. Generally this is
> unlikely to cause a problem in practice, but it is somewhat unsound, and
> KCSAN will legitimately warn that there is a data race.
>
> To avoid such issues, a snapshot of the flags has to be taken prior to
> using them. Some places already use READ_ONCE() for that, others do not.
>
> Convert them all to the new flag accessor helpers.
>
> Signed-off-by: Mark Rutland <mark.rutland@....com>
> Cc: Michal Simek <monstr@...str.eu>
> ---
> arch/microblaze/kernel/signal.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/microblaze/kernel/signal.c b/arch/microblaze/kernel/signal.c
> index fc61eb0eb8dd..23e8a9336a29 100644
> --- a/arch/microblaze/kernel/signal.c
> +++ b/arch/microblaze/kernel/signal.c
> @@ -283,7 +283,7 @@ static void do_signal(struct pt_regs *regs, int in_syscall)
> #ifdef DEBUG_SIG
> pr_info("do signal: %p %d\n", regs, in_syscall);
> pr_info("do signal2: %lx %lx %ld [%lx]\n", regs->pc, regs->r1,
> - regs->r12, current_thread_info()->flags);
> + regs->r12, read_thread_flags());
> #endif
>
> if (get_signal(&ksig)) {
>
Tested-by: Michal Simek <michal.simek@...inx.com>
Thanks,
Michal
--
Michal Simek, Ing. (M.Eng), OpenPGP -> KeyID: FE3D1F91
w: www.monstr.eu p: +42-0-721842854
Maintainer of Linux kernel - Xilinx Microblaze
Maintainer of Linux kernel - Xilinx Zynq ARM and ZynqMP ARM64 SoCs
U-Boot custodian - Xilinx Microblaze/Zynq/ZynqMP/Versal SoCs
Powered by blists - more mailing lists