mirror of
https://github.com/torvalds/linux.git
synced 2026-09-14 16:10:02 +02:00
bfa_fcs_fdmi_get_portattr() gets inlined into multiple places and has
two fairly large variables on the stack, to the point of causing a
warning in some randconfig builds:
drivers/scsi/bfa/bfa_fcs_lport.c:2198:1: error: stack frame size (1560) exceeds limit (1280) in 'bfa_fcs_lport_fdmi_build_portattr_block' [-Werror,-Wframe-larger-than]
2198 | bfa_fcs_lport_fdmi_build_portattr_block(struct bfa_fcs_lport_fdmi_s *fdmi,
| ^
drivers/scsi/bfa/bfa_fcs_lport.c:1856:1: error: stack frame size (1600) exceeds limit (1280) in 'bfa_fcs_lport_fdmi_build_rhba_pyld' [-Werror,-Wframe-larger-than]
1856 | bfa_fcs_lport_fdmi_build_rhba_pyld(struct bfa_fcs_lport_fdmi_s *fdmi, u8 *pyld)
| ^
Mark the inner function as noinline_for_stack to keep it separate from
the other variables and prevent multiple copies of the same variable to
get inlined here.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Link: https://patch.msgid.link/20260611125601.3385418-1-arnd@kernel.org
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
|
||
|---|---|---|
| .. | ||
| bfa_core.c | ||
| bfa_cs.h | ||
| bfa_defs_fcs.h | ||
| bfa_defs_svc.h | ||
| bfa_defs.h | ||
| bfa_fc.h | ||
| bfa_fcbuild.c | ||
| bfa_fcbuild.h | ||
| bfa_fcpim.c | ||
| bfa_fcpim.h | ||
| bfa_fcs_fcpim.c | ||
| bfa_fcs_lport.c | ||
| bfa_fcs_rport.c | ||
| bfa_fcs.c | ||
| bfa_fcs.h | ||
| bfa_hw_cb.c | ||
| bfa_hw_ct.c | ||
| bfa_ioc_cb.c | ||
| bfa_ioc_ct.c | ||
| bfa_ioc.c | ||
| bfa_ioc.h | ||
| bfa_modules.h | ||
| bfa_plog.h | ||
| bfa_port.c | ||
| bfa_port.h | ||
| bfa_svc.c | ||
| bfa_svc.h | ||
| bfa.h | ||
| bfad_attr.c | ||
| bfad_bsg.c | ||
| bfad_bsg.h | ||
| bfad_debugfs.c | ||
| bfad_drv.h | ||
| bfad_im.c | ||
| bfad_im.h | ||
| bfad.c | ||
| bfi_ms.h | ||
| bfi_reg.h | ||
| bfi.h | ||
| Makefile | ||