Skip to content
Snippets Groups Projects
  1. May 10, 2021
  2. May 09, 2021
  3. May 08, 2021
    • Masahiro Yamada's avatar
      linux/kconfig.h: replace IF_ENABLED() with PTR_IF() in <linux/kernel.h> · 0ab1438b
      Masahiro Yamada authored
      
      <linux/kconfig.h> is included from all the kernel-space source files,
      including C, assembly, linker scripts. It is intended to contain a
      minimal set of macros to evaluate CONFIG options.
      
      IF_ENABLED() is an intruder here because (x ? y : z) is C code, which
      should not be included from assembly files or linker scripts.
      
      Also, <linux/kconfig.h> is no longer self-contained because NULL is
      defined in <linux/stddef.h>.
      
      Move IF_ENABLED() out to <linux/kernel.h> as PTR_IF(). PTF_IF()
      takes the general boolean expression instead of a CONFIG option
      so that it fits better in <linux/kernel.h>.
      
      Signed-off-by: default avatarMasahiro Yamada <masahiroy@kernel.org>
      Reviewed-by: default avatarKees Cook <keescook@chromium.org>
      0ab1438b
  4. May 07, 2021
  5. May 06, 2021
    • Arnd Bergmann's avatar
      smp: Fix smp_call_function_single_async prototype · 1139aeb1
      Arnd Bergmann authored
      
      As of commit 966a9671 ("smp: Avoid using two cache lines for struct
      call_single_data"), the smp code prefers 32-byte aligned call_single_data
      objects for performance reasons, but the block layer includes an instance
      of this structure in the main 'struct request' that is more senstive
      to size than to performance here, see 4ccafe03 ("block: unalign
      call_single_data in struct request").
      
      The result is a violation of the calling conventions that clang correctly
      points out:
      
      block/blk-mq.c:630:39: warning: passing 8-byte aligned argument to 32-byte aligned parameter 2 of 'smp_call_function_single_async' may result in an unaligned pointer access [-Walign-mismatch]
                      smp_call_function_single_async(cpu, &rq->csd);
      
      It does seem that the usage of the call_single_data without cache line
      alignment should still be allowed by the smp code, so just change the
      function prototype so it accepts both, but leave the default alignment
      unchanged for the other users. This seems better to me than adding
      a local hack to shut up an otherwise correct warning in the caller.
      
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Acked-by: default avatarJens Axboe <axboe@kernel.dk>
      Link: https://lkml.kernel.org/r/20210505211300.3174456-1-arnd@kernel.org
      1139aeb1
  6. May 05, 2021
Loading