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-next>] [day] [month] [year] [list]
Message-Id: <1507818377-7546-1-git-send-email-will.deacon@arm.com>
Date:   Thu, 12 Oct 2017 15:26:14 +0100
From:   Will Deacon <will.deacon@....com>
To:     paulmck@...ux.vnet.ibm.com
Cc:     linux-kernel@...r.kernel.org, mcree@...on.net.nz,
        peterz@...radead.org, rth@...ddle.net, ink@...assic.park.msu.ru,
        mattst88@...il.com, linux-alpha@...r.kernel.org,
        Will Deacon <will.deacon@....com>
Subject: [PATCH 0/3] Remove lockless_dereference

Hi all,

These patches remove lockless_dereference from the kernel. It's only used
in a handful of places relative to READ_ONCE and ACCESS_ONCE and is only
required for correctness on Alpha. Consequently, READ_ONCE is strengthened
on Alpha systems to include the smp_read_barrier_depends implicitly and
Alpha's release and release atomic_t and atomic64_t operations are also
upgraded.

The nastiest part about all of this was actually fixing the circular
includes of compiler.h, which is an existing problem that doesn't crop
up in practice because lockless_dereference is rarely used.

Thanks,

Will

--->8

Will Deacon (3):
  linux/compiler.h: Split into compiler.h and compiler-types.h
  locking/barriers: Kill lockless_dereference
  alpha: atomics: Add smp_read_barrier_depends() to release/relaxed
    atomics

 Documentation/memory-barriers.txt                  |  12 -
 .../translations/ko_KR/memory-barriers.txt         |  12 -
 arch/alpha/include/asm/atomic.h                    |  13 +
 arch/arm/include/asm/ptrace.h                      |   3 +-
 arch/x86/events/core.c                             |   2 +-
 arch/x86/include/asm/mmu_context.h                 |   4 +-
 arch/x86/kernel/ldt.c                              |   2 +-
 drivers/md/dm-mpath.c                              |  20 +-
 fs/dcache.c                                        |   4 +-
 fs/overlayfs/ovl_entry.h                           |   2 +-
 fs/overlayfs/readdir.c                             |   2 +-
 include/linux/compiler-clang.h                     |   2 +-
 include/linux/compiler-gcc.h                       |   2 +-
 include/linux/compiler-intel.h                     |   2 +-
 include/linux/compiler-types.h                     | 274 ++++++++++++++++++++
 include/linux/compiler.h                           | 286 +--------------------
 include/linux/linkage.h                            |   2 +-
 include/linux/rculist.h                            |   4 +-
 include/linux/rcupdate.h                           |   4 +-
 include/uapi/linux/stddef.h                        |   2 +-
 kernel/events/core.c                               |   4 +-
 kernel/seccomp.c                                   |   2 +-
 kernel/task_work.c                                 |   2 +-
 mm/slab.h                                          |   2 +-
 scripts/headers_install.sh                         |   2 +-
 25 files changed, 325 insertions(+), 341 deletions(-)
 create mode 100644 include/linux/compiler-types.h

-- 
2.1.4

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ