Jinwei Chen 58b1c384df qcacmn: Fix skb memory leak in RX REO error path
If host receive REO error code 0 - NULL REO queue descriptor from
REO exception ring, it will be raw data and likely spread across
multiple msdu buffers for amsdu packets. in this case, only the
last msdu will contain the valid rx msdu length, but currently host
use msdu length from head skb (msdu length is 0), then the sub-skbs
followed after head skb will be leaked as following,
(1) dp_rx_sg_create() fail to add sub-skbs into frag_list of head_skb,
then sub-skbs still exist in head_skb->next.
(2) As peer_id is not valid, dp_rx_null_q_desc_handle()->
dp_rx_chain_msdus_be() will configure head_skb->next = NULL during
DP_RX_LIST_APPEND, then all sub-skbs get leaked.

Get msdu length from last skb and overwrite it in head_skb, then
dp_rx_sg_create() will process all skbs correctly.

Change-Id: I1953afb4e3b44450ff5e8269ef0f4f0c38e1d446
CRs-Fixed: 3476534
2023-04-27 04:08:20 -07:00
2023-01-19 02:54:51 -08:00
2023-01-18 13:49:26 -08:00
2023-01-29 16:01:35 -08:00
2017-09-15 21:45:35 +05:30
2017-03-27 08:31:31 -07:00

 This is CNSS WLAN Host Driver for products starting from iHelium  
Leírás
No description provided
Readme 226 MiB
Languages
C 98.7%
C++ 0.9%
Makefile 0.3%
Starlark 0.1%