706e44cd76
[ Upstream commit cb4c132ebfeac5962f7258ffc831caa0c4dada1a ] When compiling with clang 16.0.6 and CONFIG_FORTIFY_SOURCE=y, I've noticed the following (somewhat confusing due to absence of an actual source code location): In file included from drivers/net/wireless/ath/ath10k/debug.c:8: In file included from ./include/linux/module.h:13: In file included from ./include/linux/stat.h:19: In file included from ./include/linux/time.h:60: In file included from ./include/linux/time32.h:13: In file included from ./include/linux/timex.h:67: In file included from ./arch/x86/include/asm/timex.h:5: In file included from ./arch/x86/include/asm/processor.h:23: In file included from ./arch/x86/include/asm/msr.h:11: In file included from ./arch/x86/include/asm/cpumask.h:5: In file included from ./include/linux/cpumask.h:12: In file included from ./include/linux/bitmap.h:11: In file included from ./include/linux/string.h:254: ./include/linux/fortify-string.h:592:4: warning: call to '__read_overflow2_field' declared with 'warning' attribute: detected read beyond size of field (2nd parameter); maybe use struct_group()? [-Wattribute-warning] __read_overflow2_field(q_size_field, size); The compiler actually complains on 'ath10k_debug_get_et_strings()' where fortification logic inteprets call to 'memcpy()' as an attempt to copy the whole 'ath10k_gstrings_stats' array from it's first member and so issues an overread warning. This warning may be silenced by passing an address of the whole array and not the first member to 'memcpy()'. Signed-off-by: Dmitry Antipov <dmantipov@yandex.ru> Acked-by: Jeff Johnson <quic_jjohnson@quicinc.com> Signed-off-by: Kalle Valo <quic_kvalo@quicinc.com> Link: https://lore.kernel.org/r/20230829093652.234537-1-dmantipov@yandex.ru Signed-off-by: Sasha Levin <sashal@kernel.org> |
||
---|---|---|
.. | ||
ahb.c | ||
ahb.h | ||
bmi.c | ||
bmi.h | ||
ce.c | ||
ce.h | ||
core.c | ||
core.h | ||
coredump.c | ||
coredump.h | ||
debug.c | ||
debug.h | ||
debugfs_sta.c | ||
hif.h | ||
htc.c | ||
htc.h | ||
htt.c | ||
htt.h | ||
htt_rx.c | ||
htt_tx.c | ||
hw.c | ||
hw.h | ||
Kconfig | ||
mac.c | ||
mac.h | ||
Makefile | ||
p2p.c | ||
p2p.h | ||
pci.c | ||
pci.h | ||
qmi.c | ||
qmi.h | ||
qmi_wlfw_v01.c | ||
qmi_wlfw_v01.h | ||
rx_desc.h | ||
sdio.c | ||
sdio.h | ||
snoc.c | ||
snoc.h | ||
spectral.c | ||
spectral.h | ||
swap.c | ||
swap.h | ||
targaddrs.h | ||
testmode.c | ||
testmode.h | ||
testmode_i.h | ||
thermal.c | ||
thermal.h | ||
trace.c | ||
trace.h | ||
txrx.c | ||
txrx.h | ||
usb.c | ||
usb.h | ||
wmi-ops.h | ||
wmi-tlv.c | ||
wmi-tlv.h | ||
wmi.c | ||
wmi.h | ||
wow.c | ||
wow.h |