lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
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

Powered by Openwall GNU/*/Linux Powered by OpenVZ