36 lines
1.3 KiB
Diff
36 lines
1.3 KiB
Diff
From 1615cc0c7d979a1c211f349c8c28ee8afb9ad57d Mon Sep 17 00:00:00 2001
|
||
From: Oleksandr Natalenko <oleksandr@natalenko.name>
|
||
Date: Thu, 1 May 2025 20:22:53 +0200
|
||
Subject: wifi: mac80211: mark copy_mesh_setup() as noinline
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
With -O3 and GCC v15.1, the following happens:
|
||
|
||
```
|
||
In function ‘fortify_memcpy_chk’,
|
||
inlined from ‘copy_mesh_setup’ at net/mac80211/cfg.c:2541:2,
|
||
inlined from ‘ieee80211_join_mesh’ at net/mac80211/cfg.c:2694:8:
|
||
./include/linux/fortify-string.h:571:25: warning: call to ‘__write_overflow_field’ declared with attribute warning: detected write beyond size of field (1st parameter); maybe use struct_group()? [-Wattribute-warning]
|
||
```
|
||
|
||
Maybe, it's time to abandon -O3 altogether?
|
||
|
||
Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
|
||
---
|
||
net/mac80211/cfg.c | 2 +-
|
||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||
|
||
--- a/net/mac80211/cfg.c
|
||
+++ b/net/mac80211/cfg.c
|
||
@@ -2515,7 +2515,7 @@ static inline bool _chg_mesh_attr(enum n
|
||
return (mask >> (parm-1)) & 0x1;
|
||
}
|
||
|
||
-static int copy_mesh_setup(struct ieee80211_if_mesh *ifmsh,
|
||
+static noinline int copy_mesh_setup(struct ieee80211_if_mesh *ifmsh,
|
||
const struct mesh_setup *setup)
|
||
{
|
||
u8 *new_ie;
|