[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <171723598053.967328.11354175525825246331.kvalo@kernel.org>
Date: Sat, 1 Jun 2024 09:59:42 +0000 (UTC)
From: Kalle Valo <kvalo@...nel.org>
To: Alexis Lothoré <alexis.lothore@...tlin.com>
Cc: linux-wireless@...r.kernel.org, Ajay Singh <ajay.kathat@...rochip.com>,
Claudiu Beznea <claudiu.beznea@...on.dev>,
Thomas Petazzoni <thomas.petazzoni@...tlin.com>,
Dan Carpenter <dan.carpenter@...aro.org>, linux-kernel@...r.kernel.org,
Alexis Lothoré <alexis.lothore@...tlin.com>
Subject: Re: [PATCH wireless 1/3] Revert "wifi: wilc1000: convert list
management to RCU"
Alexis Lothoré <alexis.lothore@...tlin.com> wrote:
> This reverts commit f236464f1db7bea80075e6e31ac70dc6eb80547f
>
> Commit f236464f1db7 ("wifi: wilc1000: convert list management to RCU")
> replaced SRCU with RCU, aiming to simplify RCU usage in the driver. No
> documentation or commit history hinted about why SRCU has been preferred
> in original design, so it has been assumed to be safe to do this
> conversion.
> Unfortunately, some static analyzers raised warnings, confirmed by runtime
> checker, not long after the merge. At least three different issues arose
> when switching to RCU:
> - wilc_wlan_txq_filter_dup_tcp_ack is executed in a RCU read critical
> section yet calls wait_for_completion_timeout
> - wilc_wfi_init_mon_interface calls kmalloc and register_netdevice while
> manipulating a vif retrieved from vif list
> - set_channel sends command to chip (and so, also waits for a completion)
> while holding a vif retrieved from vif list (so, in RCU read critical
> section)
>
> Some of those issues are not trivial to fix and would need bigger driver
> rework. Fix those issues by reverting the SRCU to RCU conversion commit
>
> Reported-by: Dan Carpenter <dan.carpenter@...aro.org>
> Closes: https://lore.kernel.org/linux-wireless/3b46ec7c-baee-49fd-b760-3bc12fb12eaf@moroto.mountain/
> Fixes: f236464f1db7 ("wifi: wilc1000: convert list management to RCU")
> Signed-off-by: Alexis Lothoré <alexis.lothore@...tlin.com>
3 patches applied to wireless.git, thanks.
ebfb5e8fc8b4 Revert "wifi: wilc1000: convert list management to RCU"
3596717a6fbd Revert "wifi: wilc1000: set atomic flag on kmemdup in srcu critical section"
596c195680dc wifi: wilc1000: document SRCU usage instead of SRCU
--
https://patchwork.kernel.org/project/linux-wireless/patch/20240528-wilc_revert_srcu_to_rcu-v1-1-bce096e0798c@bootlin.com/
https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches
Powered by blists - more mailing lists