lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87ttc0x287.fsf@kernel.org>
Date: Thu, 21 Nov 2024 13:20:24 +0200
From: Kalle Valo <kvalo@...nel.org>
To: Jeff Johnson <quic_jjohnson@...cinc.com>
Cc: Jeff Johnson <jjohnson@...nel.org>,  "Nathan Chancellor"
 <nathan@...nel.org>,  Nick Desaulniers <ndesaulniers@...gle.com>,  Bill
 Wendling <morbo@...gle.com>,  Justin Stitt <justinstitt@...gle.com>,
  "Arnd Bergmann" <arnd@...nel.org>,  <linux-wireless@...r.kernel.org>,
  <ath11k@...ts.infradead.org>,  <linux-kernel@...r.kernel.org>,
  <llvm@...ts.linux.dev>
Subject: Re: [PATCH 2/3] wifi: ath11k: mark ath11k_dp_rx_mon_mpdu_pop() as
 noinline

Jeff Johnson <quic_jjohnson@...cinc.com> writes:

> When compiling the ath11k driver using clang with KASAN enabled, the
> following warning is observed:
>
> drivers/net/wireless/ath/ath11k/dp_rx.c:5244:5: warning: stack frame size (1304) exceeds limit (1024) in 'ath11k_dp_rx_process_mon_status' [-Wframe-larger-than]
>
> This is similar to the issue found in ath12k/qmi.c that was discussed
> in [1] and fixed with [2]. The issue is that clang inlining can
> explode stack usage.
>
> ath11k_dp_rx_process_mon_status() itself is a pretty
> lightweight function, but it dispatches to several other functions
> which do the real work:
>
> ath11k_dp_rx_process_mon_status()
> 	ath11k_dp_rx_reap_mon_status_ring()
> 	ath11k_dp_rx_mon_dest_process()
> 		ath11k_dp_rx_mon_mpdu_pop() *
> 		ath11k_dp_rx_mon_deliver()
> 			ath11k_dp_rx_mon_merg_msdus()
> 			ath11k_dp_rx_deliver_msdu()
> 	ath11k_dp_rx_update_peer_stats()
>
> Of these, only ath11k_dp_rx_mon_mpdu_pop() has non-trivial stack
> usage, so mark that function as 'noinline_for_stack' to prevent it
> from being inlined in ath11k_dp_rx_process_mon_status(), thereby
> eliminating the excessive stack usage.
>
> Link: https://msgid.link/bc214795-1c51-4cb7-922f-67d6ef98bff2@quicinc.com # [1]
> Link: https://patch.msgid.link/20241028-ath12k_qmi_driver_event_work-v1-1-0d532eb593fa@quicinc.com # [2]
> Signed-off-by: Jeff Johnson <quic_jjohnson@...cinc.com>

Acked-by: Kalle Valo <kvalo@...nel.org>

-- 
https://patchwork.kernel.org/project/linux-wireless/list/

https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ