Received: by 2002:a05:7412:8d11:b0:fa:4934:9f with SMTP id bj17csp650680rdb; Mon, 15 Jan 2024 09:02:31 -0800 (PST) X-Google-Smtp-Source: AGHT+IGdTlyz+W2YVo+WCUxtWKjLaZqQHAsnp4JvH8gd/1iufx8QusC9W54ueC1wjv/XC7rjdNHe X-Received: by 2002:a05:6a00:179a:b0:6da:af47:95f0 with SMTP id s26-20020a056a00179a00b006daaf4795f0mr7334457pfg.27.1705338151291; Mon, 15 Jan 2024 09:02:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1705338151; cv=none; d=google.com; s=arc-20160816; b=DG6oC32xuejxbE80/fxT7xr0AwGUB5bJsoNaRYfmHzfXtnVxs7WJXl4puOwMz9sFiQ QT3h0aGMU3G11EAWZXW9Vv1z9tCmyuAOMBzVEeAq19a8b3dAel0MYbkwGv8qwoiibAzh 6hbkxkqN+BrPakvHKjBe6Y1mzbQIcdRiGotPZMOzO5y1u4cw8XT2g5P9g1VXG1xY8l1g 1lzFk0Xfb9vSdTtFNUMOzT6l2aRgn4D3v1X3eEd+k1+CgBZcwQ9bbULY+uonZxj4DYRL +37rJ1Qj/0XhyjrCLyUeaiO39Tc/62sHroCEZ0jGgeFVoIttoMOXcQbRF7C+Ib1l6K0s jMGA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:references:in-reply-to:message-id :date:subject:cc:to:from:dkim-signature; bh=WytesTlB4GEpUTQlxzWTWVQey6kZGS8wXuwjOrkG7qk=; fh=CgfznqiYWS0tUNN0zxOw7tNc8IuefZFHsaeYmOY6nks=; b=kKDrYBthXf5tjjI+eluznoEuiaq6XuIUQZsdZuC4m8e7tt69fOPCuKPJb341iraEvI OFaxX/8AcE14J5PCmUrhSZk6UqxVo7ROG0ETH7wcVnPeSmGY97tf5OkfQrIDygmRQhel 1mGfckh5kP4+EpMcN4dup08IsixV9I9DpLTO479xYRABbKxb+OZn7RR5eh4PN7Wn4fl8 /LLj2zFhuvPGx/03XIgwcdAcaE7WLxQGJjScSkNoIsLq2GoKxjbvhNrJvPVq6Umd4uWW UA0jGo7EI0v/IZQcaN3ufyPHGf4DQ3pHEgt+e5ZXJDwhYVD7RsZ10KK1v62s2GvAV2yy 9fgA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BnhGgSoF; spf=pass (google.com: domain of linux-kernel+bounces-26288-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-26288-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from sy.mirrors.kernel.org (sy.mirrors.kernel.org. [2604:1380:40f1:3f00::1]) by mx.google.com with ESMTPS id i13-20020aa7908d000000b006dab03e6bd8si8775405pfa.118.2024.01.15.09.02.30 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 Jan 2024 09:02:31 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel+bounces-26288-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) client-ip=2604:1380:40f1:3f00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@intel.com header.s=Intel header.b=BnhGgSoF; spf=pass (google.com: domain of linux-kernel+bounces-26288-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:40f1:3f00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-26288-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by sy.mirrors.kernel.org (Postfix) with ESMTPS id 0587CB21C42 for ; Mon, 15 Jan 2024 17:02:12 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id C02A4182C7; Mon, 15 Jan 2024 17:01:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=intel.com header.i=@intel.com header.b="BnhGgSoF" Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.9]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 92B0218035 for ; Mon, 15 Jan 2024 17:01:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linux.intel.com Authentication-Results: smtp.subspace.kernel.org; spf=none smtp.mailfrom=linux.intel.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1705338098; x=1736874098; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=hgHSCCkYdUQvQN3OmRimDqcNGoAmnLSX2bEwJ8BLOuU=; b=BnhGgSoFC9E3ZqxrABuvUoDn9QU/D4US16ZoZQfQlpOjhRtfs/pY+5il ro+wmM2n6ItAM0kgEwy73rnQ/sSW6kapEH5HbeST6ro4GvsUeZiFGoEbN Ae5kcBL0ju6YUUipSl6mn+MUo8jKVvrLWmADHResMZu3ZRNKzePTra1ea j01H8vgi4uyXz7CsJA3Z48wgP180Ux5wyftefEa9P7P6DpmymO/nsq7Xx xCljgaWPprBV/qnptO0Gg42rZiHjhlsCQgtnPJFj6Ggn4tZVLcxqz62BW h+Pf4uh6mwGQpgZH/YF0GJ0VFwdkyQT7K0Xd7uuaRAeaSs/XVdYk26PW0 g==; X-IronPort-AV: E=McAfee;i="6600,9927,10954"; a="6408200" X-IronPort-AV: E=Sophos;i="6.04,197,1695711600"; d="scan'208";a="6408200" Received: from orsmga004.jf.intel.com ([10.7.209.38]) by fmvoesa103.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jan 2024 09:01:38 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10954"; a="907101347" X-IronPort-AV: E=Sophos;i="6.04,197,1695711600"; d="scan'208";a="907101347" Received: from mleonvig-mobl1.ger.corp.intel.com (HELO localhost.localdomain) ([10.213.223.101]) by orsmga004-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jan 2024 09:01:34 -0800 From: Tvrtko Ursulin To: linux-kernel@vger.kernel.org, tvrtko.ursulin@linux.intel.com Cc: Tvrtko Ursulin , Peter Zijlstra , Umesh Nerlige Ramappa , Aravind Iddamsetty Subject: [RFC 2/3] drm/i915/pmu: Move i915 reference drop to new event->free() Date: Mon, 15 Jan 2024 17:01:19 +0000 Message-Id: <20240115170120.662220-3-tvrtko.ursulin@linux.intel.com> X-Mailer: git-send-email 2.40.1 In-Reply-To: <20240115170120.662220-1-tvrtko.ursulin@linux.intel.com> References: <20240115170120.662220-1-tvrtko.ursulin@linux.intel.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit From: Tvrtko Ursulin Avoids use after free in the perf core code on the event destruction path, after the PCI driver has been unbound with the active perf file descriptors. Signed-off-by: Tvrtko Ursulin Cc: Peter Zijlstra Cc: Umesh Nerlige Ramappa Cc: Aravind Iddamsetty --- drivers/gpu/drm/i915/i915_pmu.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_pmu.c b/drivers/gpu/drm/i915/i915_pmu.c index 21eb0c5b320d..010763a5bc39 100644 --- a/drivers/gpu/drm/i915/i915_pmu.c +++ b/drivers/gpu/drm/i915/i915_pmu.c @@ -514,7 +514,7 @@ static enum hrtimer_restart i915_sample(struct hrtimer *hrtimer) return HRTIMER_RESTART; } -static void i915_pmu_event_destroy(struct perf_event *event) +static void i915_pmu_event_free(struct perf_event *event) { struct i915_pmu *pmu = event_to_pmu(event); struct drm_i915_private *i915 = pmu_to_i915(pmu); @@ -630,7 +630,7 @@ static int i915_pmu_event_init(struct perf_event *event) if (!event->parent) { drm_dev_get(&i915->drm); - event->destroy = i915_pmu_event_destroy; + event->free = i915_pmu_event_free; } return 0; -- 2.40.1