]> git.hungrycats.org Git - linux/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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 14 Nov 2024 12:15:16 +0000 (13:15 +0100)
commit 3b557be89fc688dbd9ccf704a70f7600a094f13a upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/net/wwan/t7xx/t7xx_hif_dpmaif_rx.c

index 91a0eb19e0d89e0ca50d639726051d8c3e6fb8fc..f4f924d75103a4109a734070790e849cdd78e8c1 100644 (file)
@@ -262,7 +262,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;