[PATCH v2 0/2] staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context

Fabio M. De Francesco
2022-02-08T18:04:38Z

Use the GFP_ATOMIC flag of kzalloc() in two memory allocation in rtw_set_key().
This function is not allowed to sleep because it executes in atomic context. With
the GFP_ATOMIC type flag, the allocation is high priority and cannot sleep.

This issue is detected by Smatch which emits the following warning:
drivers/staging/r8188eu/core/rtw_mlme.c:1603 rtw_set_key() warn: sleeping in atomic context

Before the above-mentioned changes, checkpatch.pl reports the following issues:

CHECK: Prefer kzalloc(sizeof(*pcmd)...) over kzalloc(sizeof(struct cmd_obj)...)
+ pcmd = kzalloc(sizeof(struct cmd_obj), GFP_ATOMIC);

CHECK: Prefer kzalloc(sizeof(*psetkeyparm)...) over kzalloc(sizeof(struct setkey_parm)...)
+ psetkeyparm = kzalloc(sizeof(struct setkey_parm), GFP_ATOMIC).

According to the above "CHECK[S]", use the preferred style in the two kzalloc().

Changes from v1: Split one patch into two according to a requirement by
Greg Kroah-Hartman.

Fabio M. De Francesco (2):
staging: r8188eu: Use size of dereferenced pointers in kzalloc()
staging: r8188eu: Use kzalloc() with GFP_ATOMIC in atomic context