Merge branch 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux
Pull READ/WRITE_ONCE rework from Will Deacon: "This the READ_ONCE rework I've been working on for a while, which bumps the minimum GCC version and improves code-gen on arm64 when stack protector is enabled" [ Side note: I'm _really_ tempted to raise the minimum gcc version to 4.9, so that we can just say that we require _Generic() support. That would allow us to more cleanly handle a lot of the cases where we depend on very complex macros with 'sizeof' or __builtin_choose_expr() with __builtin_types_compatible_p() etc. This branch has a workaround for sparse not handling _Generic(), either, but that was already fixed in the sparse development branch, so it's really just gcc-4.9 that we'd require. - Linus ] * 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux: compiler_types.h: Use unoptimized __unqual_scalar_typeof for sparse compiler_types.h: Optimize __unqual_scalar_typeof compilation time compiler.h: Enforce that READ_ONCE_NOCHECK() access size is sizeof(long) compiler-types.h: Include naked type in __pick_integer_type() match READ_ONCE: Fix comment describing 2x32-bit atomicity gcov: Remove old GCC 3.4 support arm64: barrier: Use '__unqual_scalar_typeof' for acquire/release macros locking/barriers: Use '__unqual_scalar_typeof' for load-acquire macros READ_ONCE: Drop pointer qualifiers when reading from scalar types READ_ONCE: Enforce atomicity for {READ,WRITE}_ONCE() memory accesses READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE() arm64: csum: Disable KASAN for do_csum() fault_inject: Don't rely on "return value" from WRITE_ONCE() net: tls: Avoid assigning 'const' pointer to non-const pointer netfilter: Avoid assigning 'const' pointer to non-const pointer compiler/gcc: Raise minimum GCC version for kernel builds to 4.8
No related branches found
No related tags found
Showing
- Documentation/process/changes.rst 1 addition, 1 deletionDocumentation/process/changes.rst
- arch/arm/crypto/Kconfig 6 additions, 6 deletionsarch/arm/crypto/Kconfig
- arch/arm64/include/asm/barrier.h 8 additions, 8 deletionsarch/arm64/include/asm/barrier.h
- arch/arm64/lib/csum.c 12 additions, 8 deletionsarch/arm64/lib/csum.c
- crypto/Kconfig 0 additions, 1 deletioncrypto/Kconfig
- drivers/xen/time.c 1 addition, 1 deletiondrivers/xen/time.c
- include/asm-generic/barrier.h 8 additions, 8 deletionsinclude/asm-generic/barrier.h
- include/linux/compiler-gcc.h 2 additions, 3 deletionsinclude/linux/compiler-gcc.h
- include/linux/compiler.h 69 additions, 79 deletionsinclude/linux/compiler.h
- include/linux/compiler_types.h 47 additions, 0 deletionsinclude/linux/compiler_types.h
- init/Kconfig 0 additions, 1 deletioninit/Kconfig
- kernel/gcov/Kconfig 0 additions, 24 deletionskernel/gcov/Kconfig
- kernel/gcov/Makefile 1 addition, 2 deletionskernel/gcov/Makefile
- kernel/gcov/gcc_3_4.c 0 additions, 573 deletionskernel/gcov/gcc_3_4.c
- lib/fault-inject.c 3 additions, 1 deletionlib/fault-inject.c
- net/netfilter/core.c 1 addition, 1 deletionnet/netfilter/core.c
- net/tls/tls_main.c 1 addition, 1 deletionnet/tls/tls_main.c
- scripts/gcc-plugins/Kconfig 1 addition, 1 deletionscripts/gcc-plugins/Kconfig
Loading
Please register or sign in to comment