diff options
author | M Chetan Kumar <m.chetan.kumar@linux.intel.com> | 2022-11-24 16:08:17 +0530 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-11-28 11:31:59 +0000 |
commit | 2290a1d46bf30f9e0bcf49ad20d5c30d0e099989 (patch) | |
tree | ba4a49e239306624b442b7d24378fa18f2aa0e61 /drivers/net | |
parent | 4a99e3c8ed888577b947cbed97d88c9706896105 (diff) | |
download | linux-2290a1d46bf30f9e0bcf49ad20d5c30d0e099989.tar.gz |
net: wwan: iosm: fix crash in peek throughput test
Peek throughput UL test is resulting in crash. If the UL
transfer block free list is exhaust, the peeked skb is freed.
In the next transfer freed skb is referred from UL list which
results in crash.
Don't free the skb if UL transfer blocks are unavailable. The
pending skb will be picked for transfer on UL transfer block
available.
Fixes: 1f52d7b62285 ("net: wwan: iosm: Enable M.2 7360 WWAN card support")
Signed-off-by: M Chetan Kumar <m.chetan.kumar@linux.intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r-- | drivers/net/wwan/iosm/iosm_ipc_mux_codec.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c b/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c index c16365123660..738420bd14af 100644 --- a/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c +++ b/drivers/net/wwan/iosm/iosm_ipc_mux_codec.c @@ -1207,10 +1207,9 @@ static int mux_ul_dg_update_tbl_index(struct iosm_mux *ipc_mux, qlth_n_ql_size, ul_list); ipc_mux_ul_adb_finish(ipc_mux); if (ipc_mux_ul_adb_allocate(ipc_mux, adb, &ipc_mux->size_needed, - IOSM_AGGR_MUX_SIG_ADBH)) { - dev_kfree_skb(src_skb); + IOSM_AGGR_MUX_SIG_ADBH)) return -ENOMEM; - } + ipc_mux->size_needed = le32_to_cpu(adb->adbh->block_length); ipc_mux->size_needed += offsetof(struct mux_adth, dg); |