]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
firmware: arm_ffa: Skip free_pages on RX buffer alloc failure
authorSudeep Holla <sudeep.holla@kernel.org>
Tue, 28 Apr 2026 18:33:26 +0000 (19:33 +0100)
committerSudeep Holla <sudeep.holla@kernel.org>
Wed, 29 Apr 2026 15:50:34 +0000 (16:50 +0100)
If the RX buffer allocation fails in ffa_init(), the error path jumps to
free_pages even though no buffer has been allocated yet. Route that case
directly to free_drv_info so the cleanup path is only used after at
least one RX/TX buffer allocation has succeeded.

Fixes: 3bbfe9871005 ("firmware: arm_ffa: Add initial Arm FFA driver support")
Link: https://patch.msgid.link/20260428-ffa_fixes-v2-2-8595ae450034@kernel.org
Signed-off-by: Sudeep Holla <sudeep.holla@kernel.org>
drivers/firmware/arm_ffa/driver.c

index eb2782848283762a74d9c4fe72339c29a111819b..e6a051b20cb722e07f12e3066635ad05336d28dc 100644 (file)
@@ -2067,7 +2067,7 @@ static int __init ffa_init(void)
        drv_info->rx_buffer = alloc_pages_exact(rxtx_bufsz, GFP_KERNEL);
        if (!drv_info->rx_buffer) {
                ret = -ENOMEM;
-               goto free_pages;
+               goto free_drv_info;
        }
 
        drv_info->tx_buffer = alloc_pages_exact(rxtx_bufsz, GFP_KERNEL);