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] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 3 Aug 2021 09:01:39 -0700
From:   "Paul E. McKenney" <paulmck@...nel.org>
To:     Mark Rutland <mark.rutland@....com>
Cc:     linux-kernel@...r.kernel.org, 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,
        monstr@...str.eu, mpe@...erman.id.au, 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 00/10] thread_info: use helpers to snapshot thread
 flags

On Tue, Aug 03, 2021 at 10:54:18AM +0100, Mark Rutland wrote:
> As thread_info::flags scan be manipulated by remote threads, it is
> necessary to use atomics or READ_ONCE() to ensure that code manipulates
> a consistent snapshot, but we open-code plain accesses to
> thread_info::flags across the kernel tree.
> 
> Generally we get away with this, but tools like KCSAN legitimately warn
> that there is a data-race, and this is potentially fragile with compiler
> optimizations, LTO, etc.
> 
> These patches introduce new helpers to snahpshot the thread flags, with
> the intent being that these should replace all plain accesses.

For the series:

Acked-by: Paul E. McKenney <paulmck@...nel.org>

> Since v1 [1]:
> * Drop RFC
> * Make read_ti_thread_flags() __always_inline
> * Clarify commit messages
> * Fix typo in arm64 patch
> * Accumulate Reviewed-by / Acked-by tags
> * Drop powerpc patch to avoid potential conflicts (per [2])
> 
> Since v2 [3]:
> * Rebase to v5.14-rc1
> * Reinstate powerpc patch
> 
> Since v3 [4]:
> * Rebase to v5.14-rc4
> 
> [1] https://lore.kernel.org/r/20210609122001.18277-1-mark.rutland@arm.com
> [2] https://lore.kernel.org/r/87k0mvtgeb.fsf@mpe.ellerman.id.au
> [3] https://lore.kernel.org/r/20210621090602.16883-1-mark.rutland@arm.com
> [4] https://lore.kernel.org/r/20210713113842.2106-1-mark.rutland@arm.com
> 
> Thanks,
> Mark.
> 
> Mark Rutland (10):
>   thread_info: add helpers to snapshot thread flags
>   entry: snapshot thread flags
>   sched: snapshot thread flags
>   alpha: snapshot thread flags
>   arm: snapshot thread flags
>   arm64: snapshot thread flags
>   microblaze: snapshot thread flags
>   openrisc: snapshot thread flags
>   powerpc: snapshot thread flags
>   x86: snapshot thread flags
> 
>  arch/alpha/kernel/signal.c          |  2 +-
>  arch/arm/kernel/signal.c            |  2 +-
>  arch/arm/mm/alignment.c             |  2 +-
>  arch/arm64/kernel/ptrace.c          |  4 ++--
>  arch/arm64/kernel/signal.c          |  2 +-
>  arch/arm64/kernel/syscall.c         |  4 ++--
>  arch/microblaze/kernel/signal.c     |  2 +-
>  arch/openrisc/kernel/signal.c       |  2 +-
>  arch/powerpc/kernel/interrupt.c     | 13 ++++++-------
>  arch/powerpc/kernel/ptrace/ptrace.c |  3 +--
>  arch/x86/kernel/process.c           |  8 ++++----
>  arch/x86/kernel/process.h           |  6 +++---
>  arch/x86/mm/tlb.c                   |  2 +-
>  include/linux/entry-kvm.h           |  2 +-
>  include/linux/thread_info.h         | 14 ++++++++++++++
>  kernel/entry/common.c               |  4 ++--
>  kernel/entry/kvm.c                  |  4 ++--
>  kernel/sched/core.c                 |  2 +-
>  18 files changed, 45 insertions(+), 33 deletions(-)
> 
> -- 
> 2.11.0
> 

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ