• Sean Wang's avatar
    mt76: mt7921s: fix possible kernel crash due to invalid Rx count · 2b7f3574
    Sean Wang authored
    Return the proper error code when out-of-range the Rx aggregation count
    are reported from the hardware that would create the unreasonable extreme
    large Rx buffer.
    
    [  100.873810]  show_stack+0x20/0x2c
    [  100.873823]  dump_stack+0xc4/0x140
    [  100.873839]  bad_page+0x110/0x114
    [  100.873854]  check_new_pages+0xf8/0xfc
    [  100.873869]  rmqueue+0x5a0/0x640
    [  100.873884]  get_page_from_freelist+0x124/0x20c
    [  100.873898]  __alloc_pages_nodemask+0x114/0x2a4
    [  100.873918]  mt76s_rx_run_queue+0xd4/0x2e4 [mt76_sdio 8280a88a0c8c9cf203f16e194f99ac293bdbb2f5]
    [  100.873938]  mt76s_rx_handler+0xd4/0x2a0 [mt76_sdio 8280a88a0c8c9cf203f16e194f99ac293bdbb2f5]
    [  100.873957]  mt76s_txrx_worker+0xac/0x17c [mt76_sdio 8280a88a0c8c9cf203f16e194f99ac293bdbb2f5]
    [  100.873977]  mt7921s_txrx_worker+0x5c/0xd8 [mt7921s d0bdbc018082dbc8dc1407614be3c2e7bd64423b]
    [  100.874003]  __mt76_worker_fn+0xe8/0x170 [mt76 b80af3483a8f9d48e916c12d8dbfaa0d3cd15337]
    [  100.874018]  kthread+0x148/0x3ac
    [  100.874032]  ret_from_fork+0x10/0x30
    [  100.874067] Kernel Offset: 0x1fe2000000 from 0xffffffc010000000
    [  100.874079] PHYS_OFFSET: 0xffffffe800000000
    [  100.874090] CPU features: 0x0240002,2188200c
    
    Fixes: 48fab5bb ("mt76: mt7921: introduce mt7921s support")
    Signed-off-by: default avatarSean Wang <sean.wang@mediatek.com>
    Signed-off-by: default avatarFelix Fietkau <nbd@nbd.name>
    2b7f3574
sdio.c 7.64 KB