From: Sasha Levin <sashal@kernel.org>
To: patches@lists.linux.dev, stable@vger.kernel.org
Cc: Armin Wolf <W_Armin@gmx.de>,
"Rafael J . Wysocki" <rafael.j.wysocki@intel.com>,
Sasha Levin <sashal@kernel.org>,
rafael@kernel.org, linux-acpi@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: [PATCH AUTOSEL 5.15 33/43] ACPI: bus: Bail out if acpi_kobj registration fails
Date: Sun, 1 Jun 2025 19:42:13 -0400 [thread overview]
Message-ID: <20250601234224.3517599-33-sashal@kernel.org> (raw)
In-Reply-To: <20250601234224.3517599-1-sashal@kernel.org>
From: Armin Wolf <W_Armin@gmx.de>
[ Upstream commit 94a370fc8def6038dbc02199db9584b0b3690f1a ]
The ACPI sysfs code will fail to initialize if acpi_kobj is NULL,
together with some ACPI drivers.
Follow the other firmware subsystems and bail out if the kobject
cannot be registered.
Signed-off-by: Armin Wolf <W_Armin@gmx.de>
Link: https://patch.msgid.link/20250518185111.3560-2-W_Armin@gmx.de
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
**YES** This commit should be backported to stable kernel trees. Here's
the detailed analysis: **Bug Fix Nature**: The commit fixes a real bug
where ACPI initialization continues silently even when `acpi_kobj`
registration fails. This creates an inconsistent system state where ACPI
sysfs functionality and some drivers that depend on `acpi_kobj` will
fail later without clear indication of the root cause. **Code Change
Analysis**: - Changes `pr_debug()` to `pr_err()` for better visibility
of the failure - Returns `-ENOMEM` immediately when
`kobject_create_and_add()` fails instead of continuing - The existing
`kobject_put(acpi_kobj)` cleanup in the error path after
`acpi_bus_init()` is already present **Comparison with Similar
Commits**: This follows the exact pattern of Similar Commit #1 (Status:
YES) which added `kobject_put()` cleanup. Both commits address resource
management issues in the same function (`acpi_init`) and represent
important bugfixes with minimal risk. **Risk Assessment**: - Very low
risk - only affects the error path when kobject creation fails - Early
failure is better than silent failure leading to confusing symptoms
later - Change is contained to a single function with clear error
handling - Consistent with how other firmware subsystems handle kobject
registration failures **Stable Tree Criteria Met**: - Fixes important
bug affecting system reliability - Minimal and contained change - No
architectural modifications - Clear improvement in error handling and
debugging The commit addresses a legitimate reliability issue where ACPI
would continue initialization with a NULL `acpi_kobj`, leading to
failures in dependent subsystems that would be harder to diagnose than
an early, clear failure.
drivers/acpi/bus.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/acpi/bus.c b/drivers/acpi/bus.c
index 9bc5bc5bc359b..ea63b8f272892 100644
--- a/drivers/acpi/bus.c
+++ b/drivers/acpi/bus.c
@@ -1335,8 +1335,10 @@ static int __init acpi_init(void)
}
acpi_kobj = kobject_create_and_add("acpi", firmware_kobj);
- if (!acpi_kobj)
- pr_debug("%s: kset create error\n", __func__);
+ if (!acpi_kobj) {
+ pr_err("Failed to register kobject\n");
+ return -ENOMEM;
+ }
init_prmt();
result = acpi_bus_init();
--
2.39.5
next prev parent reply other threads:[~2025-06-01 23:43 UTC|newest]
Thread overview: 43+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-01 23:41 [PATCH AUTOSEL 5.15 01/43] drm/amdgpu/gfx6: fix CSIB handling Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 02/43] sunrpc: update nextcheck time when adding new cache entries Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 03/43] drm/bridge: analogix_dp: Add irq flag IRQF_NO_AUTOEN instead of calling disable_irq() Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 04/43] exfat: fix double free in delayed_free Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 05/43] arm64/cpuinfo: only show one cpu's info in c_show() Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 06/43] drm/bridge: anx7625: change the gpiod_set_value API Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 07/43] media: i2c: imx334: Enable runtime PM before sub-device registration Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 08/43] drm/msm/hdmi: add runtime PM calls to DDC transfer function Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 09/43] media: uapi: v4l: Fix V4L2_TYPE_IS_OUTPUT condition Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 10/43] drm/amd/display: Add NULL pointer checks in dm_force_atomic_commit() Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 11/43] drm/msm/a6xx: Increase HFI response timeout Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 12/43] media: i2c: imx334: Fix runtime PM handling in remove function Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 13/43] drm/amdgpu/gfx10: fix CSIB handling Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 14/43] media: ccs-pll: Better validate VT PLL branch Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 15/43] media: uapi: v4l: Change V4L2_TYPE_IS_CAPTURE condition Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 16/43] drm/amdgpu/gfx7: fix CSIB handling Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 17/43] ext4: ext4: unify EXT4_EX_NOCACHE|NOFAIL flags in ext4_ext_remove_space() Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 18/43] jfs: fix array-index-out-of-bounds read in add_missing_indices Sasha Levin
2025-06-01 23:41 ` [PATCH AUTOSEL 5.15 19/43] media: ti: cal: Fix wrong goto on error path Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 20/43] media: rkvdec: h264: Use bytesperline and buffer height as virstride Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 21/43] media: rkvdec: Initialize the m2m context before the controls Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 22/43] sunrpc: fix race in cache cleanup causing stale nextcheck time Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 23/43] ext4: prevent stale extent cache entries caused by concurrent get es_cache Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 24/43] drm/amdgpu/gfx8: fix CSIB handling Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 25/43] drm/amdgpu/gfx9: " Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 26/43] jfs: Fix null-ptr-deref in jfs_ioc_trim Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 27/43] drm/msm/dpu: don't select single flush for active CTL blocks Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 28/43] drm/amdkfd: Set SDMA_RLCx_IB_CNTL/SWITCH_INSIDE_IB Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 29/43] media: tc358743: ignore video while HPD is low Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 30/43] media: platform: exynos4-is: Add hardware sync wait to fimc_is_hw_change_mode() Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 31/43] media: i2c: imx334: update mode_3840x2160_regs array Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 32/43] nios2: force update_mmu_cache on spurious tlb-permission--related pagefaults Sasha Levin
2025-06-01 23:42 ` Sasha Levin [this message]
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 34/43] pmdomain: ti: Fix STANDBY handling of PER power domain Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 35/43] PM: runtime: fix denying of auto suspend in pm_suspend_timer_fn() Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 36/43] thermal/drivers/qcom/tsens: Update conditions to strictly evaluate for IP v2+ Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 37/43] clocksource: Fix the CPUs' choice in the watchdog per CPU verification Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 38/43] ACPICA: Avoid sequence overread in call to strncmp() Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 39/43] ACPICA: utilities: Fix overflow check in vsnprintf() Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 40/43] ALSA: seq: Remove unused snd_seq_queue_client_leave_cells Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 41/43] cpufreq: Force sync policy boost with global boost on sysfs update Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 42/43] power: supply: bq27xxx: Retrieve again when busy Sasha Levin
2025-06-01 23:42 ` [PATCH AUTOSEL 5.15 43/43] ASoC: tas2770: Power cycle amp on ISENSE/VSENSE change Sasha Levin
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250601234224.3517599-33-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=W_Armin@gmx.de \
--cc=linux-acpi@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@lists.linux.dev \
--cc=rafael.j.wysocki@intel.com \
--cc=rafael@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®