Message ID | 20210408194458.501617-1-nathan@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | block: Disable -Walign-mismatch for blk-mq.c | expand |
On 4/8/21 12:44 PM, Nathan Chancellor wrote: > LLVM 13 adds a new warning, -Walign-mismatch, which has an instance in > blk_mq_complete_send_ipi(): > > 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); > ^ > 1 warning generated. > > This is expected after commit 4ccafe032005 ("block: unalign > call_single_data in struct request"), which purposefully unaligned the > structure to save space. Given that there is no real alignment > requirement and there have been no reports of issues since that change, > it should be safe to disable the warning for this one translation unit. > > Link: https://github.com/ClangBuiltLinux/linux/issues/1328 > Link: https://lore.kernel.org/r/20210310182307.zzcbi5w5jrmveld4@archlinux-ax161/ > Link: https://lore.kernel.org/r/20210330230249.709221-1-jiancai@google.com/ > Signed-off-by: Nathan Chancellor <nathan@kernel.org> Reviewed-by: Guenter Roeck <linux@roeck-us.net> > --- > block/Makefile | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/block/Makefile b/block/Makefile > index 8d841f5f986f..d69ac0bd8e61 100644 > --- a/block/Makefile > +++ b/block/Makefile > @@ -10,6 +10,7 @@ obj-$(CONFIG_BLOCK) := bio.o elevator.o blk-core.o blk-sysfs.o \ > blk-mq-sysfs.o blk-mq-cpumap.o blk-mq-sched.o ioctl.o \ > genhd.o ioprio.o badblocks.o partitions/ blk-rq-qos.o > > +CFLAGS_blk-mq.o := $(call cc-disable-warning, align-mismatch) > obj-$(CONFIG_BOUNCE) += bounce.o > obj-$(CONFIG_BLK_SCSI_REQUEST) += scsi_ioctl.o > obj-$(CONFIG_BLK_DEV_BSG) += bsg.o > > base-commit: e49d033bddf5b565044e2abe4241353959bc9120 >
diff --git a/block/Makefile b/block/Makefile index 8d841f5f986f..d69ac0bd8e61 100644 --- a/block/Makefile +++ b/block/Makefile @@ -10,6 +10,7 @@ obj-$(CONFIG_BLOCK) := bio.o elevator.o blk-core.o blk-sysfs.o \ blk-mq-sysfs.o blk-mq-cpumap.o blk-mq-sched.o ioctl.o \ genhd.o ioprio.o badblocks.o partitions/ blk-rq-qos.o +CFLAGS_blk-mq.o := $(call cc-disable-warning, align-mismatch) obj-$(CONFIG_BOUNCE) += bounce.o obj-$(CONFIG_BLK_SCSI_REQUEST) += scsi_ioctl.o obj-$(CONFIG_BLK_DEV_BSG) += bsg.o
LLVM 13 adds a new warning, -Walign-mismatch, which has an instance in blk_mq_complete_send_ipi(): 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); ^ 1 warning generated. This is expected after commit 4ccafe032005 ("block: unalign call_single_data in struct request"), which purposefully unaligned the structure to save space. Given that there is no real alignment requirement and there have been no reports of issues since that change, it should be safe to disable the warning for this one translation unit. Link: https://github.com/ClangBuiltLinux/linux/issues/1328 Link: https://lore.kernel.org/r/20210310182307.zzcbi5w5jrmveld4@archlinux-ax161/ Link: https://lore.kernel.org/r/20210330230249.709221-1-jiancai@google.com/ Signed-off-by: Nathan Chancellor <nathan@kernel.org> --- block/Makefile | 1 + 1 file changed, 1 insertion(+) base-commit: e49d033bddf5b565044e2abe4241353959bc9120