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
| ||
|
Date: Fri, 21 Oct 2022 22:35:23 +0800 From: Guo Ren <guoren@...nel.org> To: Andrea Parri <parri.andrea@...il.com> Cc: Jisheng Zhang <jszhang@...nel.org>, Paul Walmsley <paul.walmsley@...ive.com>, Palmer Dabbelt <palmer@...belt.com>, Albert Ou <aou@...s.berkeley.edu>, linux-riscv@...ts.infradead.org, linux-kernel@...r.kernel.org Subject: Re: [PATCH] riscv: fix race when vmap stack overflow On Fri, Oct 21, 2022 at 4:36 PM Andrea Parri <parri.andrea@...il.com> wrote: > > > > > + atomic_set_release(&spin_shadow_stack, 0); > > > > > > Have not really looked the details: should there be a matching acquire? > > > > I use atomic_set_release here, because I need earlier memory > > operations finished to make sure the sp is ready then set the spin > > flag. > > > > The following memory operations order is not important, because we > > just care about sp value. > > > > Also, we use relax amoswap before, because sp has naturelly > > dependency. But giving them RCsc is okay here, because we don't care > > about performance here. > > Thanks for the clarification. > > I'm not really suggesting to add unneeded synchronization, even more > so in local/private constructs as in this case. It just felt odd to > see the release without a pairing acquire, so I asked. ;-) Okay, let's keep: handle_kernel_stack_overflow: +1: la sp, spin_shadow_stack + amoswap.w sp, sp, (sp) + bnez sp, 1b + .... + smp_store_release(&spin_shadow_stack, 0); > > Thanks, > Andrea > > > > eg: > > handle_kernel_stack_overflow: > > +1: la sp, spin_shadow_stack > > + amoswap.w.aqrl sp, sp, (sp) > > + bnez sp, 1b > > + > > .... > > + smp_store_release(&spin_shadow_stack, 0); > > + smp_mb(); -- Best Regards Guo Ren
Powered by blists - more mailing lists