Re: [PATCH v3] staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context
From: Dan Carpenter
Date: Fri Nov 05 2021 - 09:26:24 EST
On Mon, Nov 01, 2021 at 08:18:47PM +0100, Fabio M. De Francesco wrote:
> Use the GFP_ATOMIC flag of kzalloc() with two memory allocation in
> report_del_sta_event(). This function is called while holding spinlocks,
> therefore it is not allowed to sleep. With the GFP_ATOMIC type flag, the
> allocation is high priority and must not sleep.
>
> This issue is detected by Smatch which emits the following warning:
> "drivers/staging/r8188eu/core/rtw_mlme_ext.c:6848 report_del_sta_event()
> warn: sleeping in atomic context".
>
> After the change, the post-commit hook output the following message:
> "CHECK: Prefer kzalloc(sizeof(*pcmd_obj)...) over
> kzalloc(sizeof(struct cmd_obj)...)".
>
> According to the above "CHECK", use the preferred style in the first
> kzalloc().
>
> Fixes: 79f712ea994d ("staging: r8188eu: Remove wrappers for kalloc() and kzalloc()")
This is not the correct Fixes tag. The original allocation wrappers
checked in_interrupt() they did not check in_atomic() so they had same
bug. The correct tag is:
Fixes: 15865124feed ("staging: r8188eu: introduce new core dir for RTL8188eu driver")
regards,
dan carpenter