]> www.infradead.org Git - users/jedix/linux-maple.git/commitdiff
net: wwan: t7xx: Fix off-by-one error in t7xx_dpmaif_rx_buf_alloc()
authorJinjie Ruan <ruanjinjie@huawei.com>
Fri, 1 Nov 2024 02:53:16 +0000 (10:53 +0800)
committerJakub Kicinski <kuba@kernel.org>
Sun, 3 Nov 2024 15:59:30 +0000 (07:59 -0800)
The error path in t7xx_dpmaif_rx_buf_alloc(), free and unmap the already
allocated and mapped skb in a loop, but the loop condition terminates when
the index reaches zero, which fails to free the first allocated skb at
index zero.

Check with i-- so that skb at index 0 is freed as well.

Cc: stable@vger.kernel.org
Fixes: d642b012df70 ("net: wwan: t7xx: Add data path interface")
Acked-by: Sergey Ryazanov <ryazanov.s.a@gmail.com>
Signed-off-by: Jinjie Ruan <ruanjinjie@huawei.com>
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://patch.msgid.link/20241101025316.3234023-1-ruanjinjie@huawei.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c

index 210d84c67ef9df78d8e53100b7c3052c0f8768f4..7a9c09cd4fdcfe3b762d85e35f304e285a50c88b 100644 (file)
@@ -226,7 +226,7 @@ int t7xx_dpmaif_rx_buf_alloc(struct dpmaif_ctrl *dpmaif_ctrl,
        return 0;
 
 err_unmap_skbs:
-       while (--i > 0)
+       while (i--)
                t7xx_unmap_bat_skb(dpmaif_ctrl->dev, bat_req->bat_skb, i);
 
        return ret;