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.133.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 6F73C3C0608 for ; Wed, 19 Aug 2026 17:47:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=170.10.133.124 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787161675; cv=none; b=lSX/fDVKYSSd61xK+MBs1Hagodn0VVO9cLjBRb9rkWJejymnpPFPeMgBpF+0c6Bz5dni31NuY9YchNsHOt1uu6yn1aoqzI0KFrQn5ZFYgTglC+Ljc8BT89EkdeqfzBMNq03j0pc3Wwabg8MOtl76/To12tZrW3w68WEA7tRrrdk= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1787161675; c=relaxed/simple; bh=QOixwpyRMiksXMRiIHZJVcB3rxZj6mZk1Q6KwOIvpIQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ETptJc89Fs/wQkRm9gcGdOQqEKGnN1BVht2GJpczgPUXIsSDxZv7pk5zkzbD7lujizlsEdeLzEHzxVEs6j1btBWpIoVWXedyjg6gsAw30KWOEbQU2WXiWW2En+nz2FdSv6nm52Hp0d79YKm1kQD0lXY/FlW/zFtAjdnPjpToyA8= 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=LBZpDSsG; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b=AEiOL7c/; arc=none smtp.client-ip=170.10.133.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="LBZpDSsG"; dkim=pass (2048-bit key) header.d=redhat.com header.i=@redhat.com header.b="AEiOL7c/" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1787161673; 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=wsYxExfrI1OgfgUtsxz2vPPCZHiFnpZ/4W9NF1DJIH8=; b=LBZpDSsGenTXo8/UrP1d6YQu3hgcvau97vbmpDbPODspBJE/JJNHLveG8JlmltEhCnjywn e9tXT8A+ZBcm1a2R4t8g/Ja3SjzHDB+9IoMmIWV2P1lwJkhJAAoZhYdc//FBBLrLlFDiaL D4iH7XtLf4eAe4SufyW+7KAwaVestlk= Received: from mail-pj1-f70.google.com (mail-pj1-f70.google.com [209.85.216.70]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-466-mrTnKSzyP1uv6ql1CCX_SA-1; Wed, 19 Aug 2026 13:47:52 -0400 X-MC-Unique: mrTnKSzyP1uv6ql1CCX_SA-1 X-Mimecast-MFC-AGG-ID: mrTnKSzyP1uv6ql1CCX_SA_1787161671 Received: by mail-pj1-f70.google.com with SMTP id 98e67ed59e1d1-3931cd2e4cbso1765060a91.2 for ; Wed, 19 Aug 2026 10:47:52 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=google; t=1787161671; x=1787766471; 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=wsYxExfrI1OgfgUtsxz2vPPCZHiFnpZ/4W9NF1DJIH8=; b=AEiOL7c/3MtHbG49Egdi2TYrA0uV1xP89Gdj8NTpMmdLQoszmLmY0vkVmQC6DC28ya BsHLC5HvnhmIcioOL5Yj5EIxyeH9fNDocd+34rQt0TIxfZ+zM15et8m5y/hUNqKiSQBQ zMzeeyj5eGNYBOb3dJfrr2dr6pKq9RSzKzxN45AJGDajHu124z1J6qVDvxbi3Y14r2wT xAq5iwFQB/cXsU7vXtOS/XkAeH6hFLGYWMg4iI9kL1fYP/gqwidVjMR/M41lWz96plP3 jRwW76c9pB34CHFcG1kJw1IulPgtvJIsQm+XP+p0sfYomBIfNxB0PwfR0OC6oeoRMs7x V7hw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1787161671; x=1787766471; 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=wsYxExfrI1OgfgUtsxz2vPPCZHiFnpZ/4W9NF1DJIH8=; b=lkhOikzy7C6U0Pvw5PnahbG2KJudbmsJO3VpsriyQ+1K1xpoiSIsZs9TcnGdvf74OT nzkMWg3P66DKRZCw2oioErrXL4fVKJnAJ4YS7mG9+XYlLxfUjNHwY2FuS7xD5CTlTcPE hHNi9MPnJYSN9Kh3FbOmJO6H1pjo5qhGDWexBy02eT0lXFbpZHploBwqzj6p6iV19esi v7a4xdK++cM3W2BsXBeeJajoxWPkTSSTHUYjEeAutGGwRtGSqGbWB5nTScSiKMDlL8n5 e741qrHgx7v4U9mcMH/5n4Fh/2oJ717Am3aEreWhKTkzpdTVILI1ChyEk6GSKb0YCPi4 +uYA== X-Forwarded-Encrypted: i=1; AHgh+RpJJL2jcyauwnmQG675Eh6vtVBq/EycAkrmK958gSYb0T+kqsJPwVenFV82wBHeGHBRmsngNCZq56LUVn4=@vger.kernel.org X-Gm-Message-State: AFuF++lb1Qaiq6I7AYKaLnTnaddSJV7feWtmgEHex2FqQgitCJ8MDNMS CHwJHRTdkrR2IK94OpUSEzdis9wtCdy14tCctFB6AfmKiWsFe2hHzc19FUcqrnnW33LXzuqGrMP GL3pLmXJRoCQYys/bKsVztc2fciIlAznlEGmaUM98Mc7jZh8frTrtLqB24w7Wvvgdaw== X-Gm-Gg: AR+sD12ph2rBhy7wlUHld9RmiHasaejd2kDQhgEHmREYwoat6rGgAM0YMNVoI18BDfC 4seYfyCI6jFJk0MXcub3l98RZU9p9ohVM8uocfoLR3hN2WBW70E2ufm8D+sSWQas9i4Rbkk9nO+ GUHKzyxfb2yzSmqr8Z1sdkwrFD87cOlHWni+ztMSvFW1BtsVx9Yi8FnCwmU9VyEG2owZglq1TfP pBOo9OaTo5O0POYNBoqOkckwDyQ3uHNWgq5Cb4GkjjpDcIMWMkmSURMqAB9fs6wdA6865yN9goj bF38OdshvFYzUJliDoTXfveR5G74fqtWvrBWHPaA43FuTtwzpUcbUNYw1qGrvvhsl0ib33vJbcb 3aoHhWOkT4PNb5jxM+2ysvJy1RJHqkuo7 X-Received: by 2002:a17:90b:5105:b0:37f:fb1d:63fa with SMTP id 98e67ed59e1d1-39581070da4mr12374217a91.15.1787161671156; Wed, 19 Aug 2026 10:47:51 -0700 (PDT) X-Received: by 2002:a17:90b:5105:b0:37f:fb1d:63fa with SMTP id 98e67ed59e1d1-39581070da4mr12374130a91.15.1787161670669; Wed, 19 Aug 2026 10:47:50 -0700 (PDT) Received: from mpilaniy-mac.redhat.corp ([122.171.22.116]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3957f96ca41sm3319861a91.4.2026.08.19.10.47.43 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Aug 2026 10:47:50 -0700 (PDT) From: Mukesh Pilaniya Date: Wed, 19 Aug 2026 23:17:23 +0530 Subject: [PATCH v2 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: <20260819-mpilaniy-v2-2-95e929ede0e5@redhat.com> References: <20260819-mpilaniy-v2-0-95e929ede0e5@redhat.com> In-Reply-To: <20260819-mpilaniy-v2-0-95e929ede0e5@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 --- 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..b3060e984ef3 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 ret = (*fops)->probe(buf, buf_len); + + if (ret == 0) { image->fops = *fops; - return ret; + return 0; } + if (ret != -ENOEXEC) + return ret; } - return ret; + return -ENOEXEC; } static void *kexec_image_load_default(struct kimage *image) -- Git-155)