From nobody Sat Jun 20 19:58:39 2026 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 2E38D385528 for ; Fri, 10 Apr 2026 10:35:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817307; cv=none; b=pxVQXzOWo1+ghA4FXWFdb6sX2zRawgyFXt1/USmg9d6+F9HLSewV7pLjdejWHGqsX5j60OHLt6RDcfZZwGttvieNImtwMZ/38ca2R2qi0aFnzFjFj0Ddc+iot/b+I+DLWsG4i3urGQqSbxUW82HgGqPwCBSazifXLW1WLdwZk1A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775817307; c=relaxed/simple; bh=/2nU6DwGYrB+jeV22Tu6KgLsWFcZFrLNZ+WCDr3H/Qc=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=R5jYXwTxU05eNsRkaSHHoHv/PxRDIUn7NuMi2fY0IHAa77B1WnIvH9mxV6KDpDk86XhGbvjQEm5YHqUwU3QFQtWgls2+OVQLteG5Am8Zn4eai3CfLkZv7YiFZU96b51AnVIYhsT7kkx6cNStBpiHtzc8nfZVAhelq2kqNtFp/as= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=UsHiNQCa; arc=none smtp.client-ip=209.85.210.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="UsHiNQCa" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-82f07e5ad92so645091b3a.0 for ; Fri, 10 Apr 2026 03:35:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775817305; x=1776422105; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=m9CrhvcxM7cDtB9lpTmog91+MN/asbSvWwrp/YtXbmI=; b=UsHiNQCapg8iULk7EptHrHrvd+IhlwCXSh4mG+eK4okgDR0B+jJ3i4UJpvG1Kz6UBk egn5vkgJoQjv4S5LuMZS63+oO1qkvr+fO62IpfUgwggbShefWCMg5y6QIxXQ735o7Rw1 s75J365nL9bqC9GoatK7uAV7zzsbNXaF0f2rnL5oAJ9NMtYnh1953+booqbHvZ+wLzyZ jLEGZ3+8hCyeQN6l4BNaf5abwt8SljLvs2QEHTN6dDYZIa4nIF/wJ72FZiRK1Y6g6NtQ WxFDz0UlXDSn9JgzYG+wH6A3bRcD5bH06iPnjJEB8knoq3Xw1nyP8iqLGo7Hg5AiKnHL tHKA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775817305; x=1776422105; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=m9CrhvcxM7cDtB9lpTmog91+MN/asbSvWwrp/YtXbmI=; b=TwVpyc2SCLvSVMalUnOhxVCgZg1KYDhdN6efpZwQ840Z5Wfq0LWvZyMsBKGwg439w4 9csXqRCdaQffHH5CDsYi4NxC6W0/8/oNIb7fFE5qgx34ww0tBABAJB3WKrmgmQp7ysT8 cYy5jjbGKZryJpaeNGwr6EqQvfdlRLzgZomGlu+Mi+iVVpC+zRooWtqpjqsCxdqd0G/a Pt3ykejVi2IgRqDfTaVSnWQ0+ns97EXYWsHGYTNf9BLO+ghNRl+ma8Tv09Eg7ctT0K5Z KkOD9KjQ4mwVq8PbeO+W0E1Ill+X6VBkmVRhVOp0ttulnP5p5sN7Giqj/ilTtwFCSi6P JAuA== X-Forwarded-Encrypted: i=1; AJvYcCXhL5JIeRUWIKSUP+NDAUeBo9NjAUcbGCr0L7JTtnYiQcEvmV/D45jkmIEHtHuIU69TWaPXNa84QYUZs+E=@vger.kernel.org X-Gm-Message-State: AOJu0Yy6OYwLARpdF5Kx7DJj8iXSY1C9oTYt/FGrec+7PH4BvrAmTqnv kioL9A6NiPE/Xy9ndUGsLQmraHKfMVJfwIJWZh3FtDHmtSUNESWieGRd X-Gm-Gg: AeBDiesIFQGi/AHJoS5ZkXopXonkf7fhhD1eGblzhnoQFIWh22ePgFqVDS/QDfMHAkI 1iGeAGPI/7YAfgqo8nnKH/27ECleUsfKsAU4IsEjYR6zUzVbnH4Bswm6+AJLvikSCEX31zyYCZz gpaoCyP72lSwqm0+BTrISrd4hn6fx+T5iLw1KE0Znv2zVIcW46irnhDRgo+NlUEdCxhwEwfHkrP 8arAeG4O/RBSM9733cY0rN97rsvM26OhnIptrEDEKIV4NzpquNHXQi9JyLnoaopHTnB7Gls6V18 LEgTlhZQa8nrHbCopb+Qk00u1qKgNy/uhqZ6p8xD6UbiZfaf59S/egc7qyw08OqbZuv7NaJHLON YKRWwDMb7TgFcocqhYSAYYvuEhAjdRsbpN+6OC/WB4LL0UqNDVfw+mxZyk3bff/kJAoqssn0Uxx 6dNhbyRh6ZOrKc4cY= X-Received: by 2002:a05:6a00:32ce:b0:82d:24f:2510 with SMTP id d2e1a72fcca58-82f0c384a66mr3113052b3a.50.1775817305356; Fri, 10 Apr 2026 03:35:05 -0700 (PDT) Received: from lgs.. ([199.182.234.55]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f0c4e182csm2503600b3a.45.2026.04.10.03.35.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 10 Apr 2026 03:35:04 -0700 (PDT) From: Guangshuo Li To: "Rafael J. Wysocki" , Len Brown , linux-acpi@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li , stable@vger.kernel.org Subject: [PATCH] ACPI: power: Use put_device() in power resource add error path Date: Fri, 10 Apr 2026 18:34:51 +0800 Message-ID: <20260410103451.2014607-1-lgs201920130244@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" After device_initialize(), the lifetime of struct device is managed by the driver core through reference counting. acpi_add_power_resource() initializes device->dev via acpi_init_device_object(), which installs acpi_release_power_resource() as the release callback. If acpi_device_add() fails, however, the error path calls acpi_release_power_resource() directly instead of dropping the device reference with put_device(). This bypasses the normal device lifetime rules and frees the object without releasing the reference acquired by device_initialize(), which may lead to a refcount leak and potentially a use-after-free. Fix it by calling put_device(&device->dev) and let the release callback handle the final cleanup. Fixes: 781d737c7466 ("ACPI: Drop power resources driver") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/acpi/power.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/acpi/power.c b/drivers/acpi/power.c index 361a7721a6a8..f96f954876a7 100644 --- a/drivers/acpi/power.c +++ b/drivers/acpi/power.c @@ -991,7 +991,7 @@ struct acpi_device *acpi_add_power_resource(acpi_handle= handle) return device; =20 err: - acpi_release_power_resource(&device->dev); + put_device(&device->dev); return NULL; } =20 --=20 2.43.0