Hi Matthias, 2017-04-22 6:39 GMT+09:00 Matthias Kaehlcke <mka@xxxxxxxxxxxx>: > clang generates plenty of these warnings in different parts of the code, > to an extent that the warnings are little more than noise. Disable the > 'address-of-packed-member' warning. > > Signed-off-by: Matthias Kaehlcke <mka@xxxxxxxxxxxx> As far as I compiled arch/x86/configs/x86_64_defconfig, all address-of-packed-member warnings came from the single point: ./arch/x86/include/asm/processor.h:534:30: warning: taking address of packed member 'sp0' of class or structure 'x86_hw_tss' may result in an unaligned pointer value [-Waddress-of-packed-member] return this_cpu_read_stable(cpu_tss.x86_tss.sp0); ^~~~~~~~~~~~~~~~~~~ ./arch/x86/include/asm/percpu.h:391:59: note: expanded from macro 'this_cpu_read_stable' #define this_cpu_read_stable(var) percpu_stable_op("mov", var) ^~~ ./arch/x86/include/asm/percpu.h:228:16: note: expanded from macro 'percpu_stable_op' : "p" (&(var))); \ ^~~ For this case, I was able to fix it with the following patch: diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h index 9fa0360..de25d1c 100644 --- a/arch/x86/include/asm/percpu.h +++ b/arch/x86/include/asm/percpu.h @@ -211,26 +211,27 @@ do { \ #define percpu_stable_op(op, var) \ ({ \ typeof(var) pfo_ret__; \ + void *__p = &(var); \ switch (sizeof(var)) { \ case 1: \ asm(op "b "__percpu_arg(P1)",%0" \ : "=q" (pfo_ret__) \ - : "p" (&(var))); \ + : "p" (__p)); \ break; \ case 2: \ asm(op "w "__percpu_arg(P1)",%0" \ : "=r" (pfo_ret__) \ - : "p" (&(var))); \ + : "p" (__p)); \ break; \ case 4: \ asm(op "l "__percpu_arg(P1)",%0" \ : "=r" (pfo_ret__) \ - : "p" (&(var))); \ + : "p" (__p)); \ break; \ case 8: \ asm(op "q "__percpu_arg(P1)",%0" \ : "=r" (pfo_ret__) \ - : "p" (&(var))); \ + : "p" (__p)); \ break; \ default: __bad_percpu_size(); \ } \ I'd like to see as much effort as possible before we decide to hide this kind of warning. Is it OK with you ? -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html