No description
  • C 98.2%
  • Assembly 1%
  • Makefile 0.3%
  • Shell 0.2%
  • Python 0.1%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Jinwei Chen 3222184e14 qcacmn: fix RX desc is using but freed back to pool
Crash scenario:
(1) frag data A is dropped and related RX desc A is replenished
and reused, but pdev->free_list_tail is still pointed to RX desc A.
(2) frag data B/C is coming, defrag fails then pdev->free_list_head
will point to B-->C RX desc, but pdev->free_list_tail still point to A.
(3) for defrag failing case, host only will replenish 1 RX buffer for
current case, RX desc B is replenished, while C will be free back to
RX desc pool.
(4) dp_rx_add_desc_list_to_free_list will set RX desc A-->next =
free_list, free_list point to C insted.
(5) when step (1) RX desc A replenished buffer indicated to host by
REO2Dst ring, RX desc A -->nbuf actually is pointed to another RX
desc, invalid skb accessing will happen.

Solution:
a. reset tail pointer in dp_rx_add_desc_list_to_free_list at last.
b. reset tail pointer same as head in dp_rx_add_to_free_desc_list
if head->next is NULL.
c. set correct rx_bufs number for replenish when dp_rx_defrag fails.

Change-Id: Ib297baea3605a09dd7d85d1f5ceb95db48a2e1f1
CRs-Fixed: 2603676
2020-01-25 07:43:47 -08:00
cfg
dp qcacmn: fix RX desc is using but freed back to pool 2020-01-25 07:43:47 -08:00
ftm
global_lmac_if
hal/wifi3.0
hif
htc
init_deinit/dispatcher
os_if/linux
qal
qdf qcacmn: Compile qdf as part of single module 2020-01-25 04:18:03 -08:00
scheduler
spectral
target_if
umac qcacmn: Remove dp handles from umac objects 2020-01-23 14:28:21 -08:00
utils qcacmn: Update diag log codes excluding the offset 2020-01-22 04:48:13 -08:00
wbuff
wlan_cfg
wmi qcacmn: Add the wmi interface changes for sending wlan time sync cmd 2020-01-24 00:56:32 -08:00
README.txt
VERSION.txt

 This is CNSS WLAN Host Driver for products starting from iHelium