Skip to content
  • Linus Torvalds's avatar
    Merge branch 'rwonce/rework' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux · 4152d146
    Linus Torvalds authored
    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
    4152d146