From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.129.124]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4E89146EF70 for ; Fri, 21 Aug 2026 13:50:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.129.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787320233; cv=none; b=m7nLRm7Epk9AFVtRsBIAZGD4MAZK6WjsJiOr3C+aSxO9xnLoMTc4JdYc9ff56KiU//ARlX5zDloscCYOVxEwfX1tO/r7bKy+ySWmczOyqVQiRYmaOf5tTqzlS6zdaR9ghM2zWqkS8KP6XTTyPwUi5CNMBeBoXnEQPEHdxhxs1ow= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787320233; c=relaxed/simple; bh=Zd3eu4CkgFeBhr/VK4WvRpDleYfM+eWkV5wG/8fEo0s=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=r3s83xkwDgfxfpqdSAPfYVW7JBWRx2W3OM16uCbCJJN4EsLYFRNKyxBviNp9yCowQ+otOXAD9ruwcE8NvwH+6DHbDHXoHTj5/jN6oZ3oozywQ7+LfYLG0L70NVt1yCs8l832+xGteJtxy1eU81SNlE1SNPDiok7nvYnk88rHJyQ= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com; spf=pass smtp.mailfrom=redhat.com; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b=MLeOSWhH; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=VSSF298b; arc=none smtp.client-ip=170.10.129.124 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=redhat.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=redhat.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=redhat.com header.i=@redhat.com header.b="MLeOSWhH"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="VSSF298b" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787320231; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=ZNohwqjvouRlAnKm9iB5tZeW1CKNRcmkGAU02I+Ttyg=; b=MLeOSWhH0OofD2ygWGpJemnG6FtEsOXI3bm8VALVT55cgbF7joqsgfr8PUILjDfY3gDi5l WHok52I67u9WSFVY6UXBqC0OMuCaw8djQECtm/6ur5gbLo74pzp0BrWqB6dXRLP+gUg/2n KSVSzay1/l8l9nsVeWFp0RiMhe4bExM= Received: from mail-pj1-f69.google.com (mail-pj1-f69.google.com [209.85.216.69]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-649-9Tkz3_vUM2CMxwDiqMvghg-1; Fri, 21 Aug 2026 09:50:29 -0400 X-MC-Unique: 9Tkz3_vUM2CMxwDiqMvghg-1 X-Mimecast-MFC-AGG-ID: 9Tkz3_vUM2CMxwDiqMvghg_1787320229 Received: by mail-pj1-f69.google.com with SMTP id 98e67ed59e1d1-38dde0df80bso1619608a91.3 for ; Fri, 21 Aug 2026 06:50:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787320229; x=1787925029; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=ZNohwqjvouRlAnKm9iB5tZeW1CKNRcmkGAU02I+Ttyg=; b=VSSF298bNGA01310lxmqqHls8pJVDod7CoG1gqJdc4NwWuhssRrIr+CteYv0BdZQxz pgkupLFD246Tap2HeBbR76eUIlAzmr2kD4r4uP5tQ9R/0TKAwRlWoG2GTIhygjySYHH6 sI9bqBJc1iF7JmsgJIPQaqJCMgZVjv3p8hckK0Mw8qY9rMi7Qb+n4hewyNJ+s7JvLMtx z2xZEDwOjx0qdemWOt95x2A5J27PKagQVLt1aFc7WfvL4NG8JITSJSVfTv9+0cZkXj4R VDf5DU0/8VVmw14ygkXNDjxawS8+bBtHKJQHUM0Z+9uqto9LPstfO0xDpvIa5+rqX11e ZKIw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787320229; x=1787925029; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=ZNohwqjvouRlAnKm9iB5tZeW1CKNRcmkGAU02I+Ttyg=; b=SS9hKH0vWV8y8rjw4+OHxWH8mWWAV+C9sS1wu8lfWqvp3ZicbEe0BSVk59aSN+Jvts j4ahzT+s06vqSktgY0yCHGQFnm8hAXtTMex+ODkDUIGGrO+LH1F8LriGcqVQVZ/vzF16 XrPKSP2NNGexRad0YelLRCpMSnV3FcQL+IBmkuP/fQW3jUOFVkC2zGbled7WjeNsYzYi 9kXvl9VOztzRZjygW7cJkC23JEJAnHMw4LN71jZ543upRE9ECpxkloYs1Ggs1ocYim95 uKgkEpnYQddhJRoGpsuoEKeXRxHSq88YtUEy4g0OV36BGFtFadZZI0Qb/n5W40KgaqE5 F/zw== X-Forwarded-Encrypted: i=1; AHgh+RpNnr5RqEOCGpGV5htN0U9EPcpeFj4eqWA1y7qgrRrsgWKg9DRUsI8EvqkOQRsL67hpz1Myindza4m7FNs=@vger.kernel.org X-Gm-Message-State: AFuF++npQHQjMSLY+jHg3zSoCFQ+I/mg/CLyrRBroozBsg3N/TkRf+wZ IxheH0xZMj4N4ZtSAB2LAQ/BJxk922/0/DmDmBvbwTq/yCmEHn5+Hx1Y5/lGibTPoAn4JqdQWM8 /6bWxY19ENom9JEYj5j6PpNtkp82HH3k4LYdsqwAt1U/1TaAiHwAoRv0GtTgHhPv/Mw== X-Gm-Gg: AR+sD13+/AldVDdVtX+wzXLMCI7vUvKuLNpsSyVJ1Xr3cXSbH9N7Rmru5MXhW8j91d3 +E04VwB1rXP8vhhCUfZWZJKKgQRpONDAsBDHAw/7opg/GTa/0NPXSqlxt5ogPBzAx8pVYLvTSIl ezEoR4pb/0O4vFEyGUWYl0qsv+6fj3kfdTLRhFDkQxZNVEl3aq97nTgRvJR/q8CTc67WmJEhGUG Ug+hS/YiJpWglp1CGhDIngRn3omQKHreesZQIjgANlYBJ4DoSL9IeRJE2YXMgRvdbU0E853MD79 GcLCzOzhkjfncbI63iOd/0HwmTba2uOVCds8WMbw7HFMt7oTknGETJUsNKzmxwIO0NOHtNPGFwO Nz2s09HcsxzTvtTuWBkiiGVbLfu71Aczo X-Received: by 2002:a17:90b:55cc:b0:37c:6910:5758 with SMTP id 98e67ed59e1d1-395c334042emr13744011a91.1.1787320228656; Fri, 21 Aug 2026 06:50:28 -0700 (PDT) X-Received: by 2002:a17:90b:55cc:b0:37c:6910:5758 with SMTP id 98e67ed59e1d1-395c334042emr13743913a91.1.1787320228164; Fri, 21 Aug 2026 06:50:28 -0700 (PDT) Received: from mpilaniy-mac.redhat.corp ([122.171.22.116]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-395c4c194d2sm3300502a91.15.2026.08.21.06.50.21 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 21 Aug 2026 06:50:27 -0700 (PDT) From: Mukesh Pilaniya Date: Fri, 21 Aug 2026 19:19:58 +0530 Subject: [PATCH v3 2/2] kexec: fix error propagation in kexec_image_probe_default() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260821-mpilaniy-v3-2-76b355399d2e@redhat.com> References: <20260821-mpilaniy-v3-0-76b355399d2e@redhat.com> In-Reply-To: <20260821-mpilaniy-v3-0-76b355399d2e@redhat.com> To: Catalin Marinas , Will Deacon , Mark Rutland , Huacai Chen , WANG Xuerui , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Andrew Morton , Baoquan He , Mike Rapoport , Pasha Tatashin , Pratyush Yadav , Tao Liu , Philipp Rudo Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, loongarch@lists.linux.dev, linux-riscv@lists.infradead.org, kexec@lists.infradead.org, Mukesh Pilaniya X-Mailer: b4 0.15.2 kexec_image_probe_default() overwrites ret with each loader's probe return value and returns whatever the last loader returned when no probe matches. The error code reaching userspace depends on whichever loader happens to be last in kexec_file_loaders[]. Only continue to the next loader when a probe returns -ENOEXEC. Propagate any other error such as -ENOMEM immediately. Return -ENOEXEC only when all loaders have been tried and none matched. Suggested-by: Pratyush Yadav Signed-off-by: Mukesh Pilaniya Reviewed-by: Pratyush Yadav Reviewed-by: Philipp Rudo --- kernel/kexec_file.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/kernel/kexec_file.c b/kernel/kexec_file.c index 59fb9d71e9d8..c11a815e2235 100644 --- a/kernel/kexec_file.c +++ b/kernel/kexec_file.c @@ -68,17 +68,19 @@ int kexec_image_probe_default(struct kimage *image, void *buf, unsigned long buf_len) { const struct kexec_file_ops * const *fops; - int ret = -ENOEXEC; for (fops = &kexec_file_loaders[0]; *fops && (*fops)->probe; ++fops) { - ret = (*fops)->probe(buf, buf_len); - if (!ret) { + int err = (*fops)->probe(buf, buf_len); + + if (!err) { image->fops = *fops; - return ret; + return 0; } + if (err != -ENOEXEC) + return err; } - return ret; + return -ENOEXEC; } static void *kexec_image_load_default(struct kimage *image) -- Git-155)