Messages in this thread | | | Date | Tue, 17 May 2022 14:44:08 +0800 (GMT+08:00) | From | duoming@zju ... | Subject | Re: [PATCH net v2] NFC: nci: fix sleep in atomic context bugs caused by nci_skb_alloc |
| |
Hello,
On Tue, 17 May 2022 08:25:04 +0200 Krzysztof wrote:
> On 17/05/2022 03:25, Duoming Zhou wrote: > > There are sleep in atomic context bugs when the request to secure > > element of st-nci is timeout. The root cause is that nci_skb_alloc > > with GFP_KERNEL parameter is called in st_nci_se_wt_timeout which is > > a timer handler. The call paths that could trigger bugs are shown below: > > > > (interrupt context 1) > > st_nci_se_wt_timeout > > nci_hci_send_event > > nci_hci_send_data > > nci_skb_alloc(..., GFP_KERNEL) //may sleep > > > > (interrupt context 2) > > st_nci_se_wt_timeout > > nci_hci_send_event > > nci_hci_send_data > > nci_send_data > > nci_queue_tx_data_frags > > nci_skb_alloc(..., GFP_KERNEL) //may sleep > > > > This patch changes allocation mode of nci_skb_alloc from GFP_KERNEL to > > GFP_ATOMIC in order to prevent atomic context sleeping. The GFP_ATOMIC > > flag makes memory allocation operation could be used in atomic context. > > > > Fixes: ed06aeefdac3 ("nfc: st-nci: Rename st21nfcb to st-nci") > > Signed-off-by: Duoming Zhou <duoming@zju.edu.cn> > > --- > > Changes in v2: > > - Change the Fixes tag to commit st_nci_se_wt_timeout was added. > > Please add Acked-by/Reviewed-by tags when posting new versions. However, > there's no need to repost patches *only* to add the tags. The upstream > maintainer will do that for acks received on the version they apply. > > https://elixir.bootlin.com/linux/v5.13/source/Documentation/process/submitting-patches.rst#L543 > > If a tag was not added on purpose, please state why and what changed.
Thank you very much, I will read the documentation carefully. I'm sorry, I forgot the Reviewed-by tag.
> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Best regards, Duoming Zhou | |