• Subash Abhinov Kasiviswanathan's avatar
    net: qualcomm: rmnet: Fix incorrect allocation flag in receive path · ec405641
    Subash Abhinov Kasiviswanathan authored
    The incoming skb needs to be reallocated in case the headroom
    is not sufficient to adjust the ethernet header. This allocation
    needs to be atomic otherwise it results in this splat
    
     [<600601bb>] ___might_sleep+0x185/0x1a3
     [<603f6314>] ? _raw_spin_unlock_irqrestore+0x0/0x27
     [<60069bb0>] ? __wake_up_common_lock+0x95/0xd1
     [<600602b0>] __might_sleep+0xd7/0xe2
     [<60065598>] ? enqueue_task_fair+0x112/0x209
     [<600eea13>] __kmalloc_track_caller+0x5d/0x124
     [<600ee9b6>] ? __kmalloc_track_caller+0x0/0x124
     [<602696d5>] __kmalloc_reserve.isra.34+0x30/0x7e
     [<603f629b>] ? _raw_spin_lock_irqsave+0x0/0x3d
     [<6026b744>] pskb_expand_head+0xbf/0x310
     [<6025ca6a>] rmnet_rx_handler+0x7e/0x16b
     [<6025c9ec>] ? rmnet_rx_handler+0x0/0x16b
     [<6027ad0c>] __netif_receive_skb_core+0x301/0x96f
     [<60033c17>] ? set_signals+0x0/0x40
     [<6027bbcb>] __netif_receive_skb+0x24/0x8e
    
    Fixes: 74692caf ("net: qualcomm: rmnet: Process packets over ethernet")
    Signed-off-by: default avatarSean Tranchetti <stranche@codeaurora.org>
    Signed-off-by: default avatarSubash Abhinov Kasiviswanathan <subashab@codeaurora.org>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    ec405641
rmnet_handlers.c 5.46 KB