release 6.15.2 (preliminary)
This commit is contained in:
34
debian/patches/patchset-pf/kbuild/0001-ice-mark-ice_write_prof_mask_reg-as-noinline.patch
vendored
Normal file
34
debian/patches/patchset-pf/kbuild/0001-ice-mark-ice_write_prof_mask_reg-as-noinline.patch
vendored
Normal file
@@ -0,0 +1,34 @@
|
||||
From 3400d11fad849dae6015e448c83d6e90f8a6ef35 Mon Sep 17 00:00:00 2001
|
||||
From: Oleksandr Natalenko <oleksandr@natalenko.name>
|
||||
Date: Tue, 8 Apr 2025 12:02:36 +0200
|
||||
Subject: ice: mark ice_write_prof_mask_reg() as noinline
|
||||
|
||||
The following happens during build:
|
||||
|
||||
```
|
||||
drivers/net/ethernet/intel/ice/ice.o: error: objtool: ice_free_prof_mask.isra.0() falls through to next function ice_free_flow_profs.cold()
|
||||
drivers/net/ethernet/intel/ice/ice.o: error: objtool: ice_free_prof_mask.isra.0.cold() is missing an ELF size annotation
|
||||
```
|
||||
|
||||
Marking ice_write_prof_mask_reg() as noinline solves this, although I'm
|
||||
not sure if this is a proper solution. Apparently, this happens with -O3
|
||||
only, the `default` case is never reachable, but the optimiser generates
|
||||
branching to a random code location.
|
||||
|
||||
Link: https://lore.kernel.org/lkml/6nzfoyak4cewjpmdflg5yi7jh2mqqdsfqgljoolx5lvdo2p65p@rwjfl7cqkfoo/
|
||||
Signed-off-by: Oleksandr Natalenko <oleksandr@natalenko.name>
|
||||
---
|
||||
drivers/net/ethernet/intel/ice/ice_flex_pipe.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
--- a/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
|
||||
+++ b/drivers/net/ethernet/intel/ice/ice_flex_pipe.c
|
||||
@@ -1404,7 +1404,7 @@ static int ice_prof_inc_ref(struct ice_h
|
||||
* @idx: index of the FV which will use the mask
|
||||
* @mask: the 16-bit mask
|
||||
*/
|
||||
-static void
|
||||
+static noinline void
|
||||
ice_write_prof_mask_reg(struct ice_hw *hw, enum ice_block blk, u16 mask_idx,
|
||||
u16 idx, u16 mask)
|
||||
{
|
35
debian/patches/patchset-pf/kbuild/0002-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch
vendored
Normal file
35
debian/patches/patchset-pf/kbuild/0002-wifi-mac80211-mark-copy_mesh_setup-as-noinline.patch
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
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
|
||||
@@ -2501,7 +2501,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;
|
Reference in New Issue
Block a user