From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 2F3461F4C96 for ; Sun, 5 Jul 2026 14:44:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783262661; cv=none; b=R2IEOApW3IDg5UBVKoUMz+3wsX0pNI7JI1xIS7SjUPLtsYSFCKD38FV9Fk4gxzN9UcqxUgE7XcwoDKQHnMljzXmrtmXQOLsL4Xwl9HQX1cOPJwhmjDGujAeO6JPA4mJ1ayPAx6PLMO98hOD1/puSI+0wuT1NspeJOqJKF3iTjwg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1783262661; c=relaxed/simple; bh=rKIQdcZgZzAM8xYd0l4SicRBxyNXDwKrXgQZEL2VT2k=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=mM+T+5vRQYP4AQTK3qzTCaZ+QoTjC5OzKdelsiMZsU/Qz924IGu/l84ybuGYM1Nde+hnw8WTZeo+eirdVNV0p+uNvN/lmiTOmSj1WMleeMCSEPWbi/pbHaqyJxo/bV8lsZ0ZFQKYitA6HiieZwRk0iSWgXUP+nmuFQKYcdQt+VQ= 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=AifiNOql; arc=none smtp.client-ip=209.85.214.175 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="AifiNOql" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2ca1479dfe0so24746265ad.1 for ; Sun, 05 Jul 2026 07:44:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1783262659; x=1783867459; 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=YsuZg4Warr1xZd+rb7Gpdwykjusv3vngc261Z9Ky5yk=; b=AifiNOqlBOdzYaSHibqFZ4inNGzsyDqHY7c4mnTxHHWpmFNNxViexY/zBBVj/GwMBI W64UuSdVjnGWJ+dLQyETJY9O8iNIxmHNIuvmzlS5EGwvxnrBGYSm7Dcr7J2QfmDlp5bY YIj1OjHv3EEkCzzDnwbMHlAzzdwAO4HHp02FYkAwUQJ30e6kUglvizZYTJdSfMlZyizP 2q+MnVianj++Zk34qsiUmLixgnP8axqIm2/N+/zUXxuiWT05JWx3sJY+X+bFWrjVF05g ITwVGhsnQVZ5fRGu0o4LOAqEejeQiq/ruXnNFK3NL/9eGc9Q4QvAGJci0ht87EJlpneb UB9Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1783262659; x=1783867459; 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=YsuZg4Warr1xZd+rb7Gpdwykjusv3vngc261Z9Ky5yk=; b=Xe4Msqs5h4eI9wFQNfE6gAGiAkKbzy6oMXrAZDCUa7syAzKGbpYFWwjuECedMSEL62 ynUHcYiEukciS4Mf69AggnsRgIOslWBjOvkY709Xade4yTYKtWhAlAPUtbYDQoVBnB/2 btGEt8V4pPUyqTvzGQIDi5nXJk5WJVPkU51UVX2bkl3yW7E/u9DBWAdrjWk1qF2jXAgL k6XHxwsutAKRrWbWVzJhBBda04DBUI4VAiRCPLMIUQkRGH49WQZLVchEGovHSyyzoSuH Oo9wBArBBcxenK5jhARdH4XhtKg1p+ZtywPVXmNSfpJptPnovu+iUNL/aMuoSFiX75QB f8Tg== X-Forwarded-Encrypted: i=1; AHgh+Rrfuw/MtzL1ilx8xBmgE8A/1FK3LDYNwMglQnK+L6nVK47L2gz3k13gVk51hWJ4rCj2SlneibPWs149mQA=@vger.kernel.org X-Gm-Message-State: AOJu0YxG4dSoTZdNSoCCgPsMvWQdfKcCRQP2497VWIjDMPfxsSXUV3yV ZWWgHFOJRlqOAxF5MKzHcy46Z5GOkCjp9uD1gULJ4dLbAr3gBCBekjJjcpS6qiKeZG8= X-Gm-Gg: AfdE7cmbRgPL+E8SO1mq2ihhkfdSKm51mA8TsZ131W4Bn4x33jaA/FTBLPRptnF5ZIo 9UHAd3QjPOJkldBMxrvT6f1WQ7paNBkqGKbIfMfxWoe0huwLoIHF2C3NRe3wDE53dCI8zmQ3G1E FAo82aKBdivimp5EIXAT1o7MpkA0M018JCoSjvMzR6vdzwg/8anYd/ShYn4Vp2Q3a8upbyHh+S7 kNHZcsxWX60+J4eiGgsgBkfRU2CxvzOpabFf7LATeXpYp8h98Ju/wHzUB0S9AwlD3YDENFoJCn9 9pyN+NFSOW7p6OARQrU7KjGehfN6se3E6MdrYfjynP1/SljnZOipzHDuS2nafqBHuWN07M9BkiI BQDJh3p6NgQrlPNK4eE7dVsVKNjfXO4uyx5OTnbbfYMu58zq0Aekq2LgyHSgHlHa/IqWK50M= X-Received: by 2002:a17:903:3d07:b0:2ca:35d:1148 with SMTP id d9443c01a7336-2cbb9ee4e96mr66133195ad.29.1783262659381; Sun, 05 Jul 2026 07:44:19 -0700 (PDT) Received: from lgs.. ([2001:250:5800:1000::f280]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2cad789237bsm34122995ad.71.2026.07.05.07.44.16 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 05 Jul 2026 07:44:18 -0700 (PDT) From: Guangshuo Li To: Alexander Shishkin , Johan Hovold , Greg Kroah-Hartman , linux-kernel@vger.kernel.org Cc: Guangshuo Li Subject: [PATCH] intel_th: Fix MSC output device reference leak Date: Sun, 5 Jul 2026 22:41:57 +0800 Message-ID: <20260705144157.289303-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: 8bit intel_th_output_open() looks up the output device with bus_find_device_by_devt(), which returns the device with a reference that must be dropped after use. The reference is currently intended to be dropped from intel_th_output_release(). However, a successful open replaces file->f_op with the output driver's file operations before returning, so close runs the output driver's release method rather than intel_th_output_release(). For MSC outputs, close runs intel_th_msc_release(). That release path only removes the per-file iterator and does not drop the device reference taken by intel_th_output_open(), so every successful MSC open leaks one device reference. Drop the device reference from intel_th_msc_release(), which is the release path that is actually used for MSC output files. Fixes: 95fc36a234da ("intel_th: fix device leak on output open()") Signed-off-by: Guangshuo Li --- drivers/hwtracing/intel_th/msu.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hwtracing/intel_th/msu.c b/drivers/hwtracing/intel_th/msu.c index a82cf74f39ad..84d99d7b1d20 100644 --- a/drivers/hwtracing/intel_th/msu.c +++ b/drivers/hwtracing/intel_th/msu.c @@ -1490,8 +1490,10 @@ static int intel_th_msc_release(struct inode *inode, struct file *file) { struct msc_iter *iter = file->private_data; struct msc *msc = iter->msc; + struct intel_th_device *thdev = msc->thdev; msc_iter_remove(iter, msc); + put_device(&thdev->dev); return 0; } -- 2.43.0