• Karthikeyan Kathirvel's avatar
    wifi: ath12k: fix out-of-bound access of qmi_invoke_handler() · e1bdff48
    Karthikeyan Kathirvel authored
    Currently, there is no terminator entry for ath12k_qmi_msg_handlers hence
    facing below KASAN warning,
    
     ==================================================================
     BUG: KASAN: global-out-of-bounds in qmi_invoke_handler+0xa4/0x148
     Read of size 8 at addr ffffffd00a6428d8 by task kworker/u8:2/1273
    
     CPU: 0 PID: 1273 Comm: kworker/u8:2 Not tainted 5.4.213 #0
     Workqueue: qmi_msg_handler qmi_data_ready_work
     Call trace:
      dump_backtrace+0x0/0x20c
      show_stack+0x14/0x1c
      dump_stack+0xe0/0x138
      print_address_description.isra.5+0x30/0x330
      __kasan_report+0x16c/0x1bc
      kasan_report+0xc/0x14
      __asan_load8+0xa8/0xb0
      qmi_invoke_handler+0xa4/0x148
      qmi_handle_message+0x18c/0x1bc
      qmi_data_ready_work+0x4ec/0x528
      process_one_work+0x2c0/0x440
      worker_thread+0x324/0x4b8
      kthread+0x210/0x228
      ret_from_fork+0x10/0x18
    
     The address belongs to the variable:
      ath12k_mac_mon_status_filter_default+0x4bd8/0xfffffffffffe2300 [ath12k]
     [...]
     ==================================================================
    
    Add a dummy terminator entry at the end to assist the qmi_invoke_handler()
    in traversing up to the terminator entry without accessing an
    out-of-boundary index.
    
    Tested-on: QCN9274 hw2.0 PCI WLAN.WBE.1.0.1-00029-QCAHKSWPL_SILICONZ-1
    
    Fixes: d8899132 ("wifi: ath12k: driver for Qualcomm Wi-Fi 7 devices")
    Reviewed-by: default avatarJeff Johnson <quic_jjohnson@quicinc.com>
    Signed-off-by: default avatarKarthikeyan Kathirvel <quic_kathirve@quicinc.com>
    Signed-off-by: default avatarKalle Valo <quic_kvalo@quicinc.com>
    Link: https://msgid.link/20240416080234.2882725-1-quic_kathirve@quicinc.com
    e1bdff48
qmi.c 83.2 KB