Skip to content
Snippets Groups Projects
  1. May 23, 2019
  2. May 22, 2019
  3. May 16, 2019
    • Yu Ouyang's avatar
      qcacld-3.0: fix reassociation issue · 0b5f2836
      Yu Ouyang authored
      While getting reassociation request frame, user space hostapd will
      trigger diassociate with reason code 13. Association can't be
      established.
      
      The root cause is host driver forwards more 6 bytes to user space.
      The 6 bytes is current AP address in association request frame.
      Hostapd can't paras association request frame because the additional
      6 bytes.
      
      Skip current AP address before forwarding reassociation request
      frame to user space.
      
      Change-Id: I94a7c26289f24a1f0716fe64c4ee58eae1a913c6
      CRs-Fixed: 2435392
      0b5f2836
  4. May 15, 2019
    • Harprit Chhabada's avatar
      qcacld-3.0: Fix OOB in wma_stats_event_handler · 6bce39c0
      Harprit Chhabada authored
      In wma_stats_event_handler several fields lengths are added
      together to check against param_buf->num_data (the overall
      length of the buffer).
      The problem is that num_pdev_stats, num_vdev_stats and
      num_peer_stats represent the number of structures of each
      type rather than the total number of bytes.
      Therefore update the logic to compare the expected size of
      the entire payload to the actual payload.
      
      Change-Id: I94af679480e62a61d4b25a1f370b2f199985f874
      CRs-Fixed: 2429010
      6bce39c0
  5. May 08, 2019
    • bings's avatar
      qcacld-3.0: Free req when error happens in sap_goto_channel_sel · 21d2dfae
      bings authored
      Memory leak happens if req is allocated in sap_goto_channel_sel without
      freeing when error happens in sap_goto_channel_sel.
      
      When error happens in sap_goto_channel_sel, free the allocated buffer
      in sap_goto_channel_sel.
      
      Change-Id: Id0d59e5716c46c4b5d5b48fdd064f9a4f6e27bfe
      CRs-Fixed: 2448929
      21d2dfae
  6. Apr 30, 2019
  7. Apr 26, 2019
  8. Apr 18, 2019
    • Jianmin Zhu's avatar
      qcacld-3.0: Fix scan queue not unregistered · 736eacb9
      Jianmin Zhu authored
      Scan queue isn't unregistered, lead to scheduler queue leakage,
      after driver module start/stop several times, scheduler queues
      are used out, can't register any more.
      
      Change-Id: I98d81591aee25a5e18e560766fb077733eb1b671
      CRs-Fixed: 2431696
      736eacb9
  9. Apr 11, 2019
    • Min Liu's avatar
      qcacld-3.0: Delete peer when vdev start timeout · a1069204
      Min Liu authored
      When failure status is received in vdev start response from FW,
      host will call wma_remove_peer to delete peer.
      However, this operation is not done in the timeout handler of vdev
      start request and it will lead to peer leak when vdev start response
      failed to be received from FW.
      Add peer deletion in vdev start request timeout handler accordingly.
      
      Change-Id: I419369d09be1bd4b7e19e45b11256190fd2ec267
      CRs-Fixed: 2288937
      a1069204
  10. Apr 01, 2019
  11. Mar 29, 2019
  12. Mar 28, 2019
  13. Mar 27, 2019
    • Wu Gao's avatar
      qcacld-3.0: Handle event eWNI_SME_UPPER_LAYER_ASSOC_CNF · fe670baa
      Wu Gao authored
      It doesn't handle event eWNI_SME_UPPER_LAYER_ASSOC_CNF if state isn't
      eCSR_ROAMING_STATE_JOINED, which cause memory leak. So handle this
      event and free the memory.
      
      Change-Id: Ibfbf9ac5e2d74a2c81839976b4cc1fb7deae7e60
      CRs-Fixed: 2414369
      fe670baa
  14. Mar 25, 2019
    • Rajeev Kumar Sirasanagandla's avatar
      qcacld-3.0: Avoid mem leak in vendor command acs_chan_config · 83802d18
      Rajeev Kumar Sirasanagandla authored
      While processing vendor command acs_chan_config,
      in hdd_parse_vendor_acs_chan_config() memory allocated for channel_list
      is not de-allocated in error scenario. This leads to memory leak.
      
      To address this, while returning error, free channel_list in
      hdd_parse_vendor_acs_chan_config().
      
      Change-Id: Icdd264cfaa2e4266c22bc87c234e4a21122618b6
      CRs-Fixed: 2410875
      83802d18
  15. Mar 22, 2019
    • CNSS_WLAN Service's avatar
    • Rajeev Kumar Sirasanagandla's avatar
      qcacld-3.0: Avoid out of bounds access in testmode_cmd · 0d0853ac
      Rajeev Kumar Sirasanagandla authored
      While processing cfg80211 callback testmode_cmd(), size of vendor
      attribute TM_ATTR_DATA is not validated against the maximum length
      but type casted to the internally defined structure pmo_lphb_req.
      This can lead to out of bounds access if the size of attr is less than
      size of pmo_lphb_req.
      
      To address this, validate size of TM_ATTR_DATA.
      
      Change-Id: I83b18d0935ebc6139644c02a9e51ef25a12b9176
      CRs-Fixed: 2411653
      0d0853ac
    • Rajeev Kumar Sirasanagandla's avatar
      qcacld-3.0: Avoid potential buffer overflow in EXTERNAL_ACS · c06908ca
      Rajeev Kumar Sirasanagandla authored
      While processing vendor command EXTERNAL_ACS,
      in hdd_parse_vendor_acs_chan_config() total number of channels is
      computed by parsing nested attribute ACS_CHANNEL_LIST.
      
      Initially computed number of channels is stored in int data type and
      later copied to u8 data type, this shall truncate if number of channels
      is greater than 255.
      
      Memory for channel list is allocated using truncated value but later
      the same list is accessed using computed value which shall result in
      buffer overflow.
      
      To address this, validate computed value against MAX_CHANNELS.
      
      Change-Id: Idbbf3b44fd238f7cff53bedd68f2c7627ecdfa9d
      CRs-Fixed: 2410869
      c06908ca
  16. Mar 21, 2019
    • CNSS_WLAN Service's avatar
    • Bala Venkatesh's avatar
      qcacld-3.0: Defer the channel switch if it is already in progress · f12534a6
      Bala Venkatesh authored
      When sta+sap scc enabled on dfs channel then SAP cannot operate on
      DFS channel in standalone mode. If STA+SAP are operating in SCC mode
      on a DFS channel and STA gets disconnected from reference AP then driver
      schedules a workqueue to move the SAP from DFS channel to user configured
      channel. At this time if STA again connects to reference AP within few ms
      then driver again schedules one more workqueue to move the SAP to STA's
      channel. Sometimes the second workqueue may fail to switch the channel
      if first one is not yet completed. So added event variable to schedule
      second workqueue only when first one is complete.
      
      CRs-Fixed: 2163412
      Change-Id: Ia6ce4b6264c35f6d2c809e2a3f65f535e930874e
      f12534a6
    • Wu Gao's avatar
      qcacld-3.0: Avoid memory leak if don't found session · eaa4ae89
      Wu Gao authored
      It won't free the nbuffer when tx mgmt frame and don't found session,
      then cause memory leak. So free memory to avoid memory leak.
      
      Change-Id: I4e6c2fcdcbf9fa549887602eeaeee3126edc1ef5
      CRs-Fixed: 2400974
      eaa4ae89
  17. Mar 20, 2019
  18. Mar 19, 2019
  19. Mar 18, 2019
    • Qun Zhang's avatar
      qcacld-3.0: Fix the wrong memory copy address of IBSS ssid · 288f66b4
      Qun Zhang authored
      In IBSS mode, it should copy ssid to member ssId of tSirMacSSid
      instead of member length when set bcn/probe filter. Due to the
      wrong copy, the peer IBSS bcn is filtered out, so the IBSS group
      can not be established.
      
      Change-Id: I9df11de06b0c5ef04a53ee6a25a4ef1547797980
      CRs-Fixed: 2386777
      288f66b4
  20. Mar 15, 2019
    • Rakshith Suresh Patkar's avatar
      qcacld-3.0: Unpause priority queue before all netif queues · d53dca86
      Rakshith Suresh Patkar authored
      In ol_tx_flow_pool_map_handler, we will unpause all netif
      queues. Unpausing will fail if any queue bitmap is not
      cleared and pause_map remains non zero.
      
      To avoid this, unpause priority queue before unpausing all
      non priority queues.
      
      Change-Id: If9a4e5d923b300aa03f01847da1ad64e8d6c61ef
      CRs-Fixed: 2391158
      d53dca86
  21. Mar 12, 2019
    • Ashish Kumar Dhanotiya's avatar
      qcacld-3.0: Fix OOB read in hdd_populate_wifi_signal_info · cbfde426
      Ashish Kumar Dhanotiya authored
      While handling ll stats information there is a possibility
      of OOB read in hdd_populate_wifi_signal_info api as
      FW is giving num_chan info as uint_32 and host has
      saved into int_32 type variable which may lead to an
      extremely large positive number which is getting used as
      index of for loop to populate signal info in skp which may
      lead to OOB read.
      
      Change-Id: I032eb465db30ee9e3a7ba0c4f017ed781264c47d
      CRs-fixed: 2383605
      cbfde426
  22. Mar 11, 2019
    • bings's avatar
      qcacld-3.0: Call dot11f_unpack_ie_rsn only for RSN IE · 7aa1f2dc
      bings authored
      In lim_send_mlm_assoc_ind, wpa information may be copied to rsnIEdata.
      So before calling dot11f_unpack_ie_rsn for rsnIEdata in the function
      csr_roam_chk_lnk_assoc_ind, make sure the element id is RSN IE.
      
      dot11f_unpack_ie_rsn returns failure for rsnIEdata if it contains
      WPA information, then WPA connection fails.
      
      Change-Id: I602a47326d452f33ba589a9cc99f59ce443d3162
      CRs-Fixed: 2406444
  23. Mar 08, 2019
  24. Mar 07, 2019
    • Jeff Johnson's avatar
      qcacld-3.0: Fix channel avoid frequency list corruption · 72c30f7e
      Jeff Johnson authored
      In wlan_hdd_merge_avoid_freqs() there is a test to determine if the
      merged frequency list will exceed the size of the destination buffer,
      and if so, the function returns an error. Unfortunately the method to
      determine overflow actually modifies the information in the
      destination list, and so if the error return occurs the destination
      list will contain an incorrect, too large, destination list size.
      Address this issue by determining if the list will overflow prior to
      modifying the destination list size.
      
      Change-Id: I9ede0bc24c676d6a9ef124d83c36ca9860b847f7
      CRs-Fixed: 2410138
      72c30f7e
    • Qun Zhang's avatar
      qcacld-3.0: Support firmware state check through cfg80211 vendor cmd · ec1b3030
      Qun Zhang authored
      Add the support to allow user space applications through cfg80211
      vendor command to check if wlan firmware is alive or not.
      
      Change-Id: I96bb16e01974f7689493577741a36e3832963996
      CRs-Fixed: 2399508
      ec1b3030
  25. Mar 05, 2019
  26. Mar 04, 2019
    • CNSS_WLAN Service's avatar
    • Pragaspathi Thilagaraj's avatar
      qcacld-3.0: Fix possible OOB in wma_pdev_div_info_evt_handler · 6d0d0763
      Pragaspathi Thilagaraj authored
      In the function wma_pdev_div_info_evt_handler, while handling
      WMI_PDEV_DIV_RSSI_ANTID_EVENTID  event, the corresponding event
      handler wma_pdev_div_info_evt_handler is invoked. In  the
      function wma_pdev_div_info_evt_handler, event_buf argument comes
      directly from firmware and event parameter is pulled from event
      buf. The event->num_chains_valid is used as the maximum bound on
      the array index of chain_rssi[] array which has a maximum limit
      of CHAIN_MAX_NUM(8). When event->num_chains_valid has a value
      greater than this maximum limit, OOB write could occur.
      
      Add check to validate the event->num_chains_valid against
      CHAIN_MAX_NUM(8) and return failure if it exceeds.
      
      Change-Id: I40f1aa8a7b4bcffef3cab588c78c700e88e24673
      CRs-Fixed: 2304662
      6d0d0763
    • Liangwei Dong's avatar
      qcacld-3.0: Zero local struct memory · 6381a6d6
      Liangwei Dong authored
      Zero local vairable memory before use.
      
      Change-Id: I351239f56f81195268e892f8d3de2688d9ef01ec
      CRs-Fixed: 2408599
      6381a6d6
Loading