staging: rtl8192u: Do not use GFP_KERNEL in atomic context
[ Upstream commit acac75bb451fd39344eb54fad6602dfc9482e970 ]
'rtl8192_irq_rx_tasklet()' is a tasklet initialized in
'rtl8192_init_priv_task()'.
>From this function it is possible to allocate some memory with the
GFP_KERNEL flag, which is not allowed in the atomic context of a tasklet.
Use GFP_ATOMIC instead.
The call chain is:
rtl8192_irq_rx_tasklet (in r8192U_core.c)
--> rtl8192_rx_nomal (in r8192U_core.c)
--> ieee80211_rx (in ieee80211/ieee80211_rx.c)
--> RxReorderIndicatePacket (in ieee80211/ieee80211_rx.c)
Fixes: 79a5ccd972
("staging: rtl8192u: fix large frame size compiler warning")
Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Link: https://lore.kernel.org/r/20200813173458.758284-1-christophe.jaillet@wanadoo.fr
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
971b6d6fb1
commit
ecb76221e5
1 changed files with 1 additions and 1 deletions
|
@ -599,7 +599,7 @@ static void RxReorderIndicatePacket(struct ieee80211_device *ieee,
|
|||
|
||||
prxbIndicateArray = kmalloc_array(REORDER_WIN_SIZE,
|
||||
sizeof(struct ieee80211_rxb *),
|
||||
GFP_KERNEL);
|
||||
GFP_ATOMIC);
|
||||
if (!prxbIndicateArray)
|
||||
return;
|
||||
|
||||
|
|
Loading…
Reference in a new issue