wifi: ath12k: fix one more memcpy size error
PATCH 1/1 wifi: ath12k: fix one more memcpy size error
From: Arnd Bergmann <[email protected]>
A previous patch addressed a fortified-memcpy warning on older compilers, but there is still a warning on gcc-14 in some configurations:
In file included from include/linux/string.h:390,
from drivers/net/wireless/ath/ath12k/wow.c:7:drivers/net/wireless/ath/ath12k/wow.c: In function 'ath12k_wow_convert_8023_to_80211.isra':include/linux/fortify-string.h:114:33: error: '__builtin_memcpy' accessing 18446744073709551610 or more bytes at offsets 0 and 0 overlaps 9223372036854775797 bytes at offset -9223372036854775803 [-Werror=restrict] include/linux/fortify-string.h:679:26: note: in expansion of macro '__fortify_memcpy_chk'
679 | #define memcpy(p, q, s) __fortify_memcpy_chk(p, q, s, \
| ^~~~~~~~~~~~~~~~~~~~
drivers/net/wireless/ath/ath12k/wow.c:199:25: note: in expansion of macro 'memcpy'
199 | memcpy(pat + a3_ofs - pkt_ofs,
| ^~~~~~Address this the same way as the other two, using size_add().
--- drivers/net/wireless/ath/ath12k/wow.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/net/wireless/ath/ath12k/wow.c +1 -1
@@ -191,7 +191,7 @@ ath12k_wow_convert_8023_to_80211(struct ath12k *ar,memcpy (bytemask, eth_bytemask, eth_pat_len); pat_len = eth_pat_len; - }else if (eth_pkt_ofs + eth_pat_len < prot_ofs) { + }else if (size_add (eth_pkt_ofs, eth_pat_len) < prot_ofs) {memcpy (pat, eth_pat,ETH_ALEN - eth_pkt_ofs);memcpy (bytemask, eth_bytemask,ETH_ALEN - eth_pkt_ofs);
Signature · 1 line
2.39.2
Quoted 16 lines · Arnd Bergmann
From: Arnd Bergmann <[email protected]>
A previous patch addressed a fortified-memcpy warning on older compilers, but there is still a warning on gcc-14 in some configurations:
In file included from
include/linux/string.h:390,
fromdrivers/net/wireless/ath/ath12k/wow.c:7:drivers/net/wireless/ath/ath12k/wow.c: In function 'ath12k_wow_convert_8023_to_80211.isra':include/linux/fortify-string.h:114:33: error: '__builtin_memcpy' accessing 18446744073709551610 or more bytes at offsets 0 and 0 overlaps 9223372036854775797 bytes at offset -9223372036854775803 [-Werror=restrict]include/linux/fortify-string.h:679:26: note: in expansion of macro '__fortify_memcpy_chk'679 | #define memcpy(p, q, s) __fortify_memcpy_chk(p, q, s, \ | ^~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/wow.c:199:25: note: in expansion of macro 'memcpy' 199 | memcpy(pat + a3_ofs - pkt_ofs, | ^~~~~~
Quoted 5 lines
Address this the same way as the other two, using
size_add().Fixes b49991d83bba ("wifi: ath12k: fix build vs old compiler")Fixes 4a3c212eee0e ("wifi: ath12k: add basic WoW functionalities")Signed-off-by Arnd Bergmann <[email protected]>
Signature · 3 lines
https://patchwork.kernel.org/project/linux-wireless/list/ https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Jeff Johnson
AppliedQuoted 8 lines · Arnd Bergmann
A previous patch addressed a fortified-memcpy warning on older compilers, but there is still a warning on gcc-14 in some configurations:
In file included from
include/linux/string.h:390,
fromdrivers/net/wireless/ath/ath12k/wow.c:7:drivers/net/wireless/ath/ath12k/wow.c: In function 'ath12k_wow_convert_8023_to_80211.isra':include/linux/fortify-string.h:114:33: error: '__builtin_memcpy' accessing 18446744073709551610 or more bytes at offsets 0 and 0 overlaps 9223372036854775797 bytes at offset -9223372036854775803 [-Werror=restrict]include/linux/fortify-string.h:679:26: note: in expansion of macro '__fortify_memcpy_chk'
Quoted 7 lines
679 | #define memcpy(p, q, s) __fortify_memcpy_chk(p, q, s, \ | ^~~~~~~~~~~~~~~~~~~~ drivers/net/wireless/ath/ath12k/wow.c:199:25: note: in expansion of macro 'memcpy' 199 | memcpy(pat + a3_ofs - pkt_ofs, | ^~~~~~[...]
Applied, thanks!
[1/1] wifi: ath12k: fix one more memcpy size error
commit: 19c23eb61fa4c802e6e0aaf74d6f7dcbe99f0ba3
Best regards,
Signature · 1 line
Jeff Johnson <[email protected]>