From nobody Sat Jun 20 17:34:52 2026 Received: from mail-pl1-f176.google.com (mail-pl1-f176.google.com [209.85.214.176]) (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 78E2E3537D4 for ; Sun, 12 Apr 2026 12:18:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.176 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775996334; cv=none; b=YwAIvm/Hziz6JqUNYtz2HVwhLJ5i/V4b2eRE7mU5h55uvsk39vHwqvMj7D4IF+n5Od5AJ79n4oBNIBTT8/W6TLwed9CVLa8E69P8vNZHxdzDt8aF1s9DCkTZLy/zJ1u/lFDAtXoCvjJdizKAIU5U5FhrYqxUuRSmBrKDHGlunvQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775996334; c=relaxed/simple; bh=msJfBYh+DCzMkSQsoFZg3hlhI5JX+2yB1zp+8QLYXEY=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=oqzjMwmD8KH33s25zzB5fZ45LEAlaa87xEbRvnO1UKWrgZPAAwW6FAKiUbB3MQFdrw0g8pdzl16zbox5nrgKEj9lQXbqqkWI2CmaITGODHiZlR1KzZflf5WMAk02hjMvryu/pN2vMoKRNf9CqyhASfu+wIETmOsteZG8QP9zDdY= 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=JjkZ/LSZ; arc=none smtp.client-ip=209.85.214.176 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="JjkZ/LSZ" Received: by mail-pl1-f176.google.com with SMTP id d9443c01a7336-2ad4d639db3so16234905ad.0 for ; Sun, 12 Apr 2026 05:18:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775996333; x=1776601133; 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=vgcJT6YPrQrJvW780ISmc/kCiCj7OaF09LinK7ADVkQ=; b=JjkZ/LSZbShI/nN1+PDnIvcVkl8zibeSm5QiGNfeAjlmFWrz9YoCggRrQp5l9nxBhk a5ceL1W3hMA/ubVUdzrrbaHDqucWjeqVf3XmTOTSbvxUDDWKbdQfTHB7p877G44k9Gd/ y5rPAGYhglbamNYl0ItLXxBvh+MlxhUce45nr37fYe6DpzdvvfnLET66XaRdLZ1WSOC5 JT9laGTazTygZRkORdWXpXWTrZ8cm4tlW89VMH2QGJhzar7W9njJbpzqF4eZi0syEHxw 196rhIeOc59tqI37T0Ttk87/dM/kb2W93a+BPxDK145JERAbR00CgaE/DnUKrijk3HY9 6Kgg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775996333; x=1776601133; 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=vgcJT6YPrQrJvW780ISmc/kCiCj7OaF09LinK7ADVkQ=; b=FJVTDku5Pd9cJHsX0oZAfJpFXXWLHXFUzhRcRXebasV3HQhzxdx0lP16MXGWZcfMtD TiLqgIPJF10shaInyJ7w82wkDwPiluYZMggBThuTOGvXPSLzXH+cEUjrJHq0KpIW09lu AIvJMRxIb6ZxI9mDTIcOwNI2naGOG1dllzWRY0mm5cq47pv2sXfvrN4WS5LHzc06ml2n +xL1br6CKHorB5vA3W1Do2MYGdozTLR6CIMkWww5KjR9M44T7Z8tSnBb1jl2W7FXUAYx pfJ3koUfTnQ3ZjnLUFUQwk5g+8O8cX3cImKrDMXvcfhCHa8UcUVpsX17ZV6Xks8fWYb5 mwYA== X-Forwarded-Encrypted: i=1; AFNElJ9al6xr50dd8fWyzOhIUV0MpmIMFqaAvVJ/4JUuezjzh6x+I1Wj9J+u+1EjWfK6oUMen6TxMTnhcE7gYLY=@vger.kernel.org X-Gm-Message-State: AOJu0YzqM3mqtfQ4saO9YinuDW0yr/R/E+6Bl1sI73IA9nUzHtUI/zbK VCZWPfgIKly3rHOFZPn0235MFK2ij/Tpxy4hL4Cx222SRIhq1iCTHe7P X-Gm-Gg: AeBDiesDxy64DNHyG3p86uamUY+bCSZbpa3OKtTF1AkZ5KGDO+sjoLJYR35HK62dHc7 9YnVrFzJoXy+nDrW60VhZiT+FqFVeFFSADxn7u66JSqyvcesvMbGrYTvQA4Y+6IQ5iicTCiQhfL 3tX//B5iV7ne6oWrYTtAgjU1Ya0OvLGtOwcEbZLAXU9qRWs9yOq8gRYJq9Twpogid6MzHFTUQGt LGd0vvaANlV/CbXpiwKGUEimMYEKQiW+67VSreoAJpZQMkoek7SrSKqOJs7nVhiSYGkqJ0C7c4H CrYD9QYBrk+vfxkUAOtRX6YsQnRPI5gtnlcVFJtQvx8uRysAMoX/xcmoja4STN5/58sVXUH5ZiW nGAjlfliUlRos9ySJcXD/7tIWPpov2WTUjr819eOJv0CIz/02I+n4AxBlYn163b9h5FJCZVsW9a 846IghzEQZJWDT8w== X-Received: by 2002:a17:903:144e:b0:2b2:58c7:2ce1 with SMTP id d9443c01a7336-2b2d5a7773emr97707585ad.36.1775996332835; Sun, 12 Apr 2026 05:18:52 -0700 (PDT) Received: from lgs.. ([101.32.189.54]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b2eae817fcsm28965705ad.44.2026.04.12.05.18.47 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 12 Apr 2026 05:18:52 -0700 (PDT) From: Guangshuo Li To: Thierry Reding , Mikko Perttunen , David Airlie , Simona Vetter , Vamsee Vardhan Thummala , dri-devel@lists.freedesktop.org, linux-tegra@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li , stable@vger.kernel.org Subject: [PATCH] gpu: host1x: Fix device reference leak in device_add() error path Date: Sun, 12 Apr 2026 20:18:36 +0800 Message-ID: <20260412121836.2461556-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 embedded struct device in struct host1x_device should be released through the device core with put_device(). In host1x_device_add(), the empty-subdevice path calls device_add(&device->dev), but if that fails it only logs the error and continues without dropping the device reference. That leaks the reference held on the embedded struct device. Fix this by removing the device from host1x->devices and calling put_device() when device_add() fails. Fixes: fab823d82ee50 ("gpu: host1x: Allow loading tegra-drm without enabled= engines") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/gpu/host1x/bus.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c index f97567e6ae87..e3ac85848aec 100644 --- a/drivers/gpu/host1x/bus.c +++ b/drivers/gpu/host1x/bus.c @@ -477,8 +477,12 @@ static int host1x_device_add(struct host1x *host1x, */ if (list_empty(&device->subdevs)) { err =3D device_add(&device->dev); - if (err < 0) + if (err < 0) { dev_err(&device->dev, "failed to add device: %d\n", err); + list_del(&device->list); + put_device(&device->dev); + return err; + } else device->registered =3D true; } --=20 2.43.0