{"id":2222505,"url":"http://patchwork.ozlabs.org/api/1.2/patches/2222505/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260412121836.2461556-1-lgs201920130244@gmail.com/","project":{"id":21,"url":"http://patchwork.ozlabs.org/api/1.2/projects/21/?format=json","name":"Linux Tegra Development","link_name":"linux-tegra","list_id":"linux-tegra.vger.kernel.org","list_email":"linux-tegra@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<20260412121836.2461556-1-lgs201920130244@gmail.com>","list_archive_url":null,"date":"2026-04-12T12:18:36","name":"gpu: host1x: Fix device reference leak in device_add() error path","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"1f5a35a3ea4bcb00ecfcdff671da54cdcd03717c","submitter":{"id":91722,"url":"http://patchwork.ozlabs.org/api/1.2/people/91722/?format=json","name":"Guangshuo Li","email":"lgs201920130244@gmail.com"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-tegra/patch/20260412121836.2461556-1-lgs201920130244@gmail.com/mbox/","series":[{"id":499601,"url":"http://patchwork.ozlabs.org/api/1.2/series/499601/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-tegra/list/?series=499601","date":"2026-04-12T12:18:36","name":"gpu: host1x: Fix device reference leak in device_add() error path","version":1,"mbox":"http://patchwork.ozlabs.org/series/499601/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/2222505/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/2222505/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-tegra+bounces-13716-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-tegra@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=JjkZ/LSZ;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=172.105.105.114; helo=tor.lore.kernel.org;\n envelope-from=linux-tegra+bounces-13716-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n\tdkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=\"JjkZ/LSZ\"","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=209.85.214.171","smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","smtp.subspace.kernel.org;\n spf=pass smtp.mailfrom=gmail.com"],"Received":["from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1) server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4ftqMl3b0yz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 22:18:59 +1000 (AEST)","from smtp.subspace.kernel.org (conduit.subspace.kernel.org\n [100.90.174.1])\n\tby tor.lore.kernel.org (Postfix) with ESMTP id 2B5E730120ED\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 12 Apr 2026 12:18:56 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id 61F6A37BE75;\n\tSun, 12 Apr 2026 12:18:55 +0000 (UTC)","from mail-pl1-f171.google.com (mail-pl1-f171.google.com\n [209.85.214.171])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))\n\t(No client certificate requested)\n\tby smtp.subspace.kernel.org (Postfix) with ESMTPS id 647F34F5E0\n\tfor <linux-tegra@vger.kernel.org>; Sun, 12 Apr 2026 12:18:53 +0000 (UTC)","by mail-pl1-f171.google.com with SMTP id\n d9443c01a7336-2adbfab4501so14263655ad.2\n        for <linux-tegra@vger.kernel.org>;\n Sun, 12 Apr 2026 05:18:53 -0700 (PDT)","from lgs.. ([101.32.189.54])\n        by smtp.gmail.com with ESMTPSA id\n d9443c01a7336-2b2eae817fcsm28965705ad.44.2026.04.12.05.18.47\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Sun, 12 Apr 2026 05:18:52 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1775996335; cv=none;\n b=JZIGNCXYLmrml5O/KQD3vs5AGdbO06j54VN46OlPlileABE3FOxM5xv0jlZB9dJyAHH9Tdyaj6DsyTIbexGm9dv+ngXygOU1tPhnMJz5eqA1fg7rAPXu0EQ2s9AUyrqEVbMd28IG51KsBuzkHE+NIava4pK0z4UpKN/YhpvJ5ak=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1775996335; c=relaxed/simple;\n\tbh=msJfBYh+DCzMkSQsoFZg3hlhI5JX+2yB1zp+8QLYXEY=;\n\th=From:To:Cc:Subject:Date:Message-ID:MIME-Version;\n b=XRxcA0XGcynVXjToD3rwmDts+EAgIvC1LePWweyYeIbRQ2oXiUtKLw6awLE9KL5uOfzFfF66biB8tuagTMoDGSgirltahsdPoyC52hJQihGiZdYly9iZ2AdGnGCWiyXReGFpfE8uEwmhhuByuMjePNYxXx5kLgodsupPSQooXOE=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com;\n spf=pass smtp.mailfrom=gmail.com;\n dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com\n header.b=JjkZ/LSZ; arc=none smtp.client-ip=209.85.214.171","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775996333; x=1776601133;\n darn=vger.kernel.org;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:from:to:cc:subject:date:message-id:reply-to;\n        bh=vgcJT6YPrQrJvW780ISmc/kCiCj7OaF09LinK7ADVkQ=;\n        b=JjkZ/LSZbShI/nN1+PDnIvcVkl8zibeSm5QiGNfeAjlmFWrz9YoCggRrQp5l9nxBhk\n         a5ceL1W3hMA/ubVUdzrrbaHDqucWjeqVf3XmTOTSbvxUDDWKbdQfTHB7p877G44k9Gd/\n         y5rPAGYhglbamNYl0ItLXxBvh+MlxhUce45nr37fYe6DpzdvvfnLET66XaRdLZ1WSOC5\n         JT9laGTazTygZRkORdWXpXWTrZ8cm4tlW89VMH2QGJhzar7W9njJbpzqF4eZi0syEHxw\n         196rhIeOc59tqI37T0Ttk87/dM/kb2W93a+BPxDK145JERAbR00CgaE/DnUKrijk3HY9\n         6Kgg==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775996333; x=1776601133;\n        h=content-transfer-encoding:mime-version:message-id:date:subject:cc\n         :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=vgcJT6YPrQrJvW780ISmc/kCiCj7OaF09LinK7ADVkQ=;\n        b=p1O0tJn+z5YDsC72RjOovH76UrkaSdlCOS1nDvKZT2f/r8xtVG5CVY7W/aDbVll8//\n         mXVPNxqT6gcnic3kMBW4bTWr2sZrMa/pTPvPaVzBq49sacVehHuBWiZrlvA4fXX2jnxT\n         qLyOOARNUUA+CIhpMXcbxUxo3xzgU2cOhfBHFpUw49IrKxVOTusYh8JXXj17VJIrZFXt\n         T+/1uTqGH02q6MXGSvVibNCBrM3M1vxEZ6jGsdvTjQ2BnUylCcRUgxZ9x5BSKPYgWL74\n         /BTMXBPgH3BdagFvUULgpMdXGOozsuaEJhCj2KdvZrCuGUr/EKm8/qeA3kLDhJegB2Wc\n         4Lkg==","X-Forwarded-Encrypted":"i=1;\n AFNElJ/NqKUjS1y4ioYMWMfUfwFbNENbia0wb2evqr5ASqOip4xUJ7SlB57uJwpm6ym86Ikt6C/FNLTQTlRPPA==@vger.kernel.org","X-Gm-Message-State":"AOJu0YwyXEQ2GWzHaONXWVZ+yi2Lep5vfMX2veJRzuvh2DcINK2tiVBk\n\tuocTNmq+uZIbQ20uyPM9/xB0RZMBay+sk3shoENksgkRaFIqDdwN0jdu","X-Gm-Gg":"AeBDies/J70c64MfXDTIKOSsPClAzHGxArR8Um23yewXYUdcPAPSNYLSe4GTFr09tZl\n\tEU/TbbB77Vngx+5fhYYc1iQtFfVSlHiV0/lmXcU/aaeK1uCG1cfemb1eF4BDKw3euxPbUzdTAY8\n\tT0nyBG8kS2YEbj0vLBSkbQKEFnEY8Ow+/pgnqL3rXFejLG1KfGuQxS9yxhCWyik8cpqLta3LP4s\n\tRPk70qyx9XejryfMNMzgCJ58rlZw4sVCtXa0HGjMncFiGD7bmTxe9Sm7ANl/GfacpgNc+5CrKNX\n\tvQNYdLns2XYKfpZevD+Ez6owtkExt2aTe5O3tp1ybS9E7yVOvcRI+tZtFx7puh0zp4wT0Lc5/F1\n\tvX1HTw7jIDxAOmQRMS1Tzo+MEcr/SxeXwRDyTqQN9i/3qJZE0zMVU2edgcNfDmGx763u8CmbrCW\n\tFKYTnO+iUBVPbehw==","X-Received":"by 2002:a17:903:144e:b0:2b2:58c7:2ce1 with SMTP id\n d9443c01a7336-2b2d5a7773emr97707585ad.36.1775996332835;\n        Sun, 12 Apr 2026 05:18:52 -0700 (PDT)","From":"Guangshuo Li <lgs201920130244@gmail.com>","To":"Thierry Reding <thierry.reding@gmail.com>,\n\tMikko Perttunen <mperttunen@nvidia.com>,\n\tDavid Airlie <airlied@gmail.com>,\n\tSimona Vetter <simona@ffwll.ch>,\n\tVamsee Vardhan Thummala <vthummala@nvidia.com>,\n\tdri-devel@lists.freedesktop.org,\n\tlinux-tegra@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org","Cc":"Guangshuo Li <lgs201920130244@gmail.com>,\n\tstable@vger.kernel.org","Subject":"[PATCH] gpu: host1x: Fix device reference leak in device_add() error\n 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-tegra@vger.kernel.org","List-Id":"<linux-tegra.vger.kernel.org>","List-Subscribe":"<mailto:linux-tegra+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-tegra+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"After device_initialize(), the embedded struct device in struct\nhost1x_device should be released through the device core with\nput_device().\n\nIn host1x_device_add(), the empty-subdevice path calls\ndevice_add(&device->dev), but if that fails it only logs the error and\ncontinues without dropping the device reference. That leaks the\nreference held on the embedded struct device.\n\nFix this by removing the device from host1x->devices and calling\nput_device() when device_add() fails.\n\nFixes: fab823d82ee50 (\"gpu: host1x: Allow loading tegra-drm without enabled engines\")\nCc: stable@vger.kernel.org\nSigned-off-by: Guangshuo Li <lgs201920130244@gmail.com>\n---\n drivers/gpu/host1x/bus.c | 6 +++++-\n 1 file changed, 5 insertions(+), 1 deletion(-)","diff":"diff --git a/drivers/gpu/host1x/bus.c b/drivers/gpu/host1x/bus.c\nindex f97567e6ae87..e3ac85848aec 100644\n--- a/drivers/gpu/host1x/bus.c\n+++ b/drivers/gpu/host1x/bus.c\n@@ -477,8 +477,12 @@ static int host1x_device_add(struct host1x *host1x,\n \t */\n \tif (list_empty(&device->subdevs)) {\n \t\terr = device_add(&device->dev);\n-\t\tif (err < 0)\n+\t\tif (err < 0) {\n \t\t\tdev_err(&device->dev, \"failed to add device: %d\\n\", err);\n+\t\t\tlist_del(&device->list);\n+\t\t\tput_device(&device->dev);\n+\t\t\treturn err;\n+\t\t}\n \t\telse\n \t\t\tdevice->registered = true;\n \t}\n","prefixes":[]}