linux-stable/include
Arnd Bergmann 5fa3243274 smp: Fix smp_call_function_single_async prototype
commit 1139aeb1c5 upstream.

As of commit 966a967116 ("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 4ccafe0320 ("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: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Jens Axboe <axboe@kernel.dk>
Link: https://lkml.kernel.org/r/20210505211300.3174456-1-arnd@kernel.org
[nc: Fix conflicts]
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2021-05-22 10:57:35 +02:00
..
acpi ACPI: scan: Use unique number for instance_no 2021-03-30 14:40:12 +02:00
asm-generic vmlinux.lds.h: add DWARF v5 sections 2021-03-03 18:22:36 +01:00
clocksource
crypto crypto: api - check for ERR pointers in crypto_destroy_tfm() 2021-05-22 10:57:16 +02:00
drm drm: mst: Fix query_payload ack reply struct 2019-12-31 12:36:46 +01:00
dt-bindings dt-bindings: reset: meson8b: fix duplicate reset IDs 2020-01-23 08:20:29 +01:00
keys KEYS: Don't write out to userspace while holding key semaphore 2020-04-24 08:01:25 +02:00
kvm KVM: arm/arm64: Sync ICH_VMCR_EL2 back when about to block 2019-08-25 10:50:18 +02:00
linux smp: Fix smp_call_function_single_async prototype 2021-05-22 10:57:35 +02:00
math-emu math-emu/soft-fp.h: (_FP_ROUND_ZERO) cast 0 to void to fix warning 2019-12-17 20:38:02 +01:00
media media: v4l2-device.h: Explicitly compare grp{id,mask} to zero in v4l2_device macros 2020-02-28 16:36:00 +01:00
memory
misc
net Bluetooth: verify AMP hci_chan before amp_destroy 2021-05-22 10:57:24 +02:00
pcmcia
ras
rdma IB/mlx4: Avoid implicit enumerated type conversion 2019-11-24 08:23:05 +01:00
scsi Fix misc new gcc warnings 2021-05-22 10:57:21 +02:00
soc irqchip/eznps: Fix build error for !ARC700 builds 2020-09-23 10:46:27 +02:00
sound ALSA: compress: fix partial_drain completion state 2020-07-22 09:22:17 +02:00
target scsi: target: fix hang when multiple threads try to destroy the same iscsi session 2020-04-24 08:00:58 +02:00
trace memcg: fix a crash in wb_workfn when a device disappears 2021-02-23 14:00:30 +01:00
uapi tty: actually undefine superseded ASYNC flags 2021-05-22 10:57:29 +02:00
video
xen Xen/gntdev: correct error checking in gntdev_map_grant_pages() 2021-02-23 14:00:33 +01:00