lkml.org 
[lkml]   [2020]   [Oct]   [27]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.9 200/757] staging: rtl8192u: Do not use GFP_KERNEL in atomic context
    Date
    From: Christophe JAILLET <christophe.jaillet@wanadoo.fr>

    [ 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: 79a5ccd97209 ("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>
    ---
    drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
    index 195d963c4fbb4..b6fee7230ce05 100644
    --- a/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
    +++ b/drivers/staging/rtl8192u/ieee80211/ieee80211_rx.c
    @@ -597,7 +597,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;

    --
    2.25.1


    \
     
     \ /
      Last update: 2020-10-27 17:11    [W:4.028 / U:0.084 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site