From nobody Thu Apr 2 14:09:58 2026 Received: from mail-wm1-f49.google.com (mail-wm1-f49.google.com [209.85.128.49]) (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 57ACA31A7E1 for ; Tue, 10 Feb 2026 11:34:50 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.49 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723292; cv=none; b=tdrWqAc8S6zMZbl2GlnJs46sBLvP2ZGBsrWRjPfw3QpGOL8bpu637QyRhMjDl12ayssdH+iT2QQITFZffcFNjlQmD5dXWhBwRKP+aB3VignyQp4aYDW+9t+0bat7ddn1DSFtK4eqkN7VZxZDqpTfHFp5X6Zzo988FjkQw+JIOAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723292; c=relaxed/simple; bh=/wNrpal0qtMMUTMGWc1/B9FLAgALtewvvMh2uxWSIxA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=SgmneNpC0gcqCtwqICHrr4nB1t+3bpyb6AZUBxIiQoiGQzNVVzfHjUceLnkwmIIspYgxYMdQfgXI9VuOuARUEoIDMH9jwfUkKzYF/KG+Cks+RB632ARU1+XrqjJ1pS5HOBb98qP9S68eei3CAIDSU7/WXc0csa/Rq+/hkazvvHc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=R4Lqt7eS; arc=none smtp.client-ip=209.85.128.49 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="R4Lqt7eS" Received: by mail-wm1-f49.google.com with SMTP id 5b1f17b1804b1-4834826e555so16699975e9.2 for ; Tue, 10 Feb 2026 03:34:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1770723289; x=1771328089; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=czouTc/9gRTT7IgUdEbhXZCgCHvwee4zpUuFlhXPjB8=; b=R4Lqt7eSipGesNFPHaPM/9tJOtAV5DnBNR+nLFvhtQrMXhJhBimuRVwAduAsZOIKz4 qEWeHfd393j+QKqQbdu6v80z4fceOFCNEEXjhSFEsGFyDFow+uTDm+kEqdheakpmY+1G rDMdEsis3VE7jb71F+gmXmaD8gLcddQu0iXLSS0eE/xb8+5vXrxfAOzWaefVdbgWL9VJ /lch/kSD4D9IQwrAfgm6pnd1zBheNeeYzRgILQuUD+/GJq2ET/T6VFmwIn1IG/eLiM4n w7ivsYDx6T2MgYPaVEwV0drgNN7eTuh0rDi1f85ITDRBHE6HO1xWjnOUb6dx46020QZa FIbA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770723289; x=1771328089; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=czouTc/9gRTT7IgUdEbhXZCgCHvwee4zpUuFlhXPjB8=; b=DadCbTNyxfg0NxDne552GyRB8st3zG4IwsGqLodWC/Gd0vKxDoD0uEu0tn4lChGfp8 G8HBjM/0jRFlsWP9R8Y1DXaXIXXXNgGHralNB41qebilkZX/zKyhpMVqi6S7bjTYXxuT 1h7q7JBZu/KDjoZ8Ic7R2l9E9HXE3RyzxBL7L4LOLnVhZRMbk3Y4IKALSCWv9In6y1J8 XT3uUk3xgPOlpt8XiMjde3YRtvgYoBPyT4TCfNcnNUVDJjweqlq6gqZ+2v0Twq6FuioX r1+2Z2Hc1/wyR/nmi4MYNufQ+o2+rHWVoYoIf1rt/Btm8rJkEYAzKbvHwLGZR4xc5qvB C7TA== X-Forwarded-Encrypted: i=1; AJvYcCXWxJjO6UheILf0nioWpUx7Jm5F4oPBN+BQtYD/ccEzJQfEuSJl7pRUX9+D15vlSX5gtZGNIoGS7zmBR3A=@vger.kernel.org X-Gm-Message-State: AOJu0YxYuiIkFTQgdj+PGk9mxysWOPU3iLHExvaPDHGtZQSPIGp410Yg clPw1fHWLYavzMlOfj8aigVjUXhSz9oofGVSG8lBkQn7tnXZNDQ7q7XqngoFqY1cr8Ixuzuf1uF phh4C X-Gm-Gg: AZuq6aL1BOQhMr/TPh3LCqiDBalPgEKRyx/ZWaAJGXuPY73isytjoqu6Kpr2NziUzgD YMrRhH5SbFKe8v5adIv4D4WrwQveVIDtFW/uRvG5CtDEQ96Dgji6CDxtbGrUEpOeWSNAHWpCjg6 Ju6WwbKp3agrhHaVG57WKllTc8Bc0DsXoENnpZcaaghHOMRA+KyHYVBorBq0M0FBG2dadhs0oVD eBkvWNL24B8Tegey2NBV3JzepveIqVyQZIotxZesreNrGb3PxY0tDFlUy/FtTJMrZ+FxP4L1Zyg lTgMA7m86CfZeeoHVx7KRVa8aVuVEbEDio3dNVZQyKtPwgjQe5HCwJIPeLNZBen+cvk2eFbE4ga s9dFpAhDX34ChTE99b79EZ1w5eGZnrl3yoOXwkqdxlA4/kruJruKI4rbry31wYSbZe5L1LsMOTr FSkK3nD8wxgzn+asbDiHVkFmP70yycgjt0FtP1QqlYr4JSUdLrgnLKiY9TLARkpyou2OqHtH+3J +tKYQoKS9ZU3TsbXd9G8gvA X-Received: by 2002:a05:600c:444f:b0:477:a219:cdb7 with SMTP id 5b1f17b1804b1-48320181c15mr203558835e9.0.1770723288713; Tue, 10 Feb 2026 03:34:48 -0800 (PST) Received: from zovi.suse.cz (dynamic-2a00-1028-838d-271e-8e3b-4aff-fe4c-a100.ipv6.o2.cz. [2a00:1028:838d:271e:8e3b:4aff:fe4c:a100]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483209cfd77sm120182275e9.14.2026.02.10.03.34.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 03:34:48 -0800 (PST) From: Petr Pavlu To: Steven Rostedt , Masami Hiramatsu Cc: Mathieu Desnoyers , Tom Zanussi , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Petr Pavlu Subject: [PATCH 1/5] tracing: Fix checking of freed trace_event_file for hist files Date: Tue, 10 Feb 2026 12:28:16 +0100 Message-ID: <20260210113427.1068932-2-petr.pavlu@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210113427.1068932-1-petr.pavlu@suse.com> References: <20260210113427.1068932-1-petr.pavlu@suse.com> 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" The event_hist_open() and event_hist_poll() functions currently retrieve a trace_event_file pointer from a file struct by invoking event_file_data(), which simply returns file->f_inode->i_private. The functions then check if the pointer is NULL to determine whether the event is still valid. This approach is flawed because i_private is assigned when an eventfs inode is allocated and remains set throughout its lifetime. Instead, the code should call event_file_file(), which checks for EVENT_FILE_FL_FREED. Using the incorrect access function may result in the code potentially opening a hist file for an event that is being removed or becoming stuck while polling on this file. A related issue is that although event_hist_poll() attempts to verify whether an event file is being removed, this check may not occur or could be unnecessarily delayed. This happens because hist_poll_wakeup() is currently invoked only from event_hist_trigger() when a hist command is triggered. If the event file is being removed, no associated hist command will be triggered and a waiter will be woken up only after an unrelated hist command is triggered. Fix these issues by changing the access method to event_file_file() and adding a call to hist_poll_wakeup() in remove_event_file_dir() after setting the EVENT_FILE_FL_FREED flag. This ensures that a task polling on a hist file is woken up and receives EPOLLERR. Fixes: 1bd13edbbed6 ("tracing/hist: Add poll(POLLIN) support on hist file") Signed-off-by: Petr Pavlu Acked-by: Masami Hiramatsu (Google) --- kernel/trace/trace_events.c | 3 +++ kernel/trace/trace_events_hist.c | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 137b4d9bb116..e8ed6ba155cf 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -1295,6 +1295,9 @@ static void remove_event_file_dir(struct trace_event_= file *file) free_event_filter(file->filter); file->flags |=3D EVENT_FILE_FL_FREED; event_file_put(file); + + /* Wake up hist poll waiters to notice the EVENT_FILE_FL_FREED flag. */ + hist_poll_wakeup(); } =20 /* diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_h= ist.c index c97bb2fda5c0..744c2aa3d668 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -5778,7 +5778,7 @@ static __poll_t event_hist_poll(struct file *file, st= ruct poll_table_struct *wai =20 guard(mutex)(&event_mutex); =20 - event_file =3D event_file_data(file); + event_file =3D event_file_file(file); if (!event_file) return EPOLLERR; =20 @@ -5816,7 +5816,7 @@ static int event_hist_open(struct inode *inode, struc= t file *file) =20 guard(mutex)(&event_mutex); =20 - event_file =3D event_file_data(file); + event_file =3D event_file_file(file); if (!event_file) { ret =3D -ENODEV; goto err; --=20 2.52.0 From nobody Thu Apr 2 14:09:58 2026 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (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 37A6331AF25 for ; Tue, 10 Feb 2026 11:34:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723292; cv=none; b=T7vL3XG0VPrDd2/9cxiarrglBEoyTnDSoZtHbO+hc8OvdcbJGpgMebeAn3AXmqE6Zy7o6GjyCUPN//MPIWLuOaFfqnL6VRsiipgN9YXY3ioAz+BraKGf3G6A0szk8PMKRsTvNigcPKDNDeQ8kaXoMPY7IzxyJrNpJxkaTJgNAdQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723292; c=relaxed/simple; bh=0xU71SkOti3kTgJYWms4PrdcUYZl6h4meNUN5JHsWe8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=eTFPmfeHyhUdyTjczE8rpj1qSTcdL8tSLHh4i3LaEFr3N8xojlWZNvuMhmLCmNf7yDteeNibJttoplHgGBkm1fxqUr4cSzCjkLNqLXJadrGG7Yecq096kPAI9yes6C0OTer8khMScdrgAWlkoeTyLZDnEu5PJLtdhkm/ltnkw3k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=J/dVBla3; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="J/dVBla3" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-47edd6111b4so80403205e9.1 for ; Tue, 10 Feb 2026 03:34:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1770723290; x=1771328090; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=+gbx0AbZEG5vm2vG4RENDj7vKJAZc/9+lYAtjtBx+1U=; b=J/dVBla3KNoFYhtkD8i84c5gP6OtQ4Qxfpc34jHQmWRcnP/2xDBM/p4C8TiKujKC3v 8qv5AEhyV99IAdZ60NuRyASzUCj4hXYqfV9XChjwHYJVeN2EkPjtlVPdvrs65RcknSs0 LD58ocEMgT30rKxnXmT68XLtJEmZzh4+G5PjEjStWPhbnjB7bVdLCmgiJ5A6LR9EAP8o hVRd+8pBy/2OcEPECB1bih583Mhxfj7V1ijZ0iu2nFiEiI5TJuGe2s0aKzksXVqzOfix Fqw9lhJb3Sd9lXjRFZySjJ5x6w4iB9KUSHfMRSbpTJirna0B60P+bsiWyr9iAQCqFj+F m59w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770723290; x=1771328090; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=+gbx0AbZEG5vm2vG4RENDj7vKJAZc/9+lYAtjtBx+1U=; b=laZCWchvMzZVdL1JbBUyxhVR8fYB9BLiy1RY9eDbJTtBbqmnpx0TKa9zrPk3effsC6 40BCEyUQQ/gKCgbT0qgFie3bL1PN/rkO6BBZWQHagot7bznfNWrma6QAhVTJFrnZYGIK 3Nb+kK5wImYqOTkjAT0ri1jZaZ8WSTt7qNftUr/UVhj1vCmFrunnhpnz/KqKpEuug5j8 LFaoZbuVU3XkhHw3OZWyHiWrdEVe1D0WiB2xGmXzSDrAkroOYQQxTmnXwZp7n4Jobcko UvAlu+xmjXcApObqJIczHr7aNg4pd4MNqhmOElTQpSmVJCkd+Rfws3dPf9p4oiH9Zjp2 cXSA== X-Forwarded-Encrypted: i=1; AJvYcCVmdIWdWNjFcffAYkRjWkIaEzFxDcQxV9QuJptTTB+66+080tW0wqSfooyfJw/qMJQYCLmH9QrPje8tlEA=@vger.kernel.org X-Gm-Message-State: AOJu0Yz+Q7oSX52RsZm0WCd/MQXpAeg4Xi1eVw+tFbRwUNIzDGGUDVcO sqRdJzllQkoCAIZrD6pLXhfI4bdiPwWZHFYUY4gsT7pkS3q0hpMmTlCAL8zKSvl/u8o= X-Gm-Gg: AZuq6aKuUFBFwFnliNxA4L5pY++ORWMH6iUxa/IdXx/hpHbVf6qntcXnLFOP8TQDIom imvVyXzUOMl5Ycns4qlDSI7/xAzD7HHwuWfDB+hVJu55u/AhKVmGa3qgSCPSocu1LxmibReTngC Iaqk8Uoqvc4qyU7RoKTqKdFelACAEohyxkZUuik6sQhMrk0EwgC4bxQwDgxwy2nDFqdnPpR3VqY OJSH760cmYTAXHtsgMmQAXm4QElV3637DIvBh7r9syyCVqHhkVnoc1IEpzY41KPvNYK18fZiLTN /EdQVbWnk2LD6ycFp715CLhEZmeS76E3NSYInw8TfWvVkwTtNnlAziYMgYninYRxgMmr4AykCyd Bsv+6w5mvHVdh4iyOSyMIiJvybAE3BkAO0+Q9qG+pnXv0Pkbw2WqPiSIPSCXBgq1sOEFROjtdB/ CqWLTRwRFyXKIerNkpYgUDR3IEfTgS7WIg2Gd4SmY+APyKagte7ehRs08F7Ko8spJloqmHrc5x8 3GsLx92ZLKfi8aR70rhAPaO X-Received: by 2002:a05:600c:c16b:b0:480:20f1:7abd with SMTP id 5b1f17b1804b1-4835082d1a3mr26387265e9.31.1770723289691; Tue, 10 Feb 2026 03:34:49 -0800 (PST) Received: from zovi.suse.cz (dynamic-2a00-1028-838d-271e-8e3b-4aff-fe4c-a100.ipv6.o2.cz. [2a00:1028:838d:271e:8e3b:4aff:fe4c:a100]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483209cfd77sm120182275e9.14.2026.02.10.03.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 03:34:49 -0800 (PST) From: Petr Pavlu To: Steven Rostedt , Masami Hiramatsu Cc: Mathieu Desnoyers , Tom Zanussi , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Petr Pavlu Subject: [PATCH 2/5] tracing: Fix checking of freed trace_event_file for id files Date: Tue, 10 Feb 2026 12:28:17 +0100 Message-ID: <20260210113427.1068932-3-petr.pavlu@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210113427.1068932-1-petr.pavlu@suse.com> References: <20260210113427.1068932-1-petr.pavlu@suse.com> 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" The code for reading an event id currently uses file->f_inode->i_private to store the value of trace_event_file->event_call->event.type, unlike all other event files which use it to store a pointer to the associated trace_event_file data. The event_id_read() function retrieves this id value from i_private and checks if it is non-0/NULL to determine whether the event is still valid. This approach worked in the past when remove_event_file_dir() would set i_private to NULL for all files in an event directory upon removal. However, with the introduction of eventfs, i_private is assigned when an eventfs inode is allocated and remains set throughout its lifetime. As a result, event_id_read() may fail to detect that an event is being removed. Fix this issue by changing the event id file to use i_private to store a trace_event_file pointer and utilize event_file_file() to check for the EVENT_FILE_FL_FREED flag. Fixes: 6fdac58c560e ("tracing: Remove unused trace_event_file dir field") Signed-off-by: Petr Pavlu --- kernel/trace/trace_events.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index e8ed6ba155cf..3d272b3cd688 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -2090,11 +2090,18 @@ static int trace_format_open(struct inode *inode, s= truct file *file) static ssize_t event_id_read(struct file *filp, char __user *ubuf, size_t cnt, loff_t *pp= os) { - int id =3D (long)event_file_data(filp); + struct trace_event_file *file; + int id; char buf[32]; int len; =20 - if (unlikely(!id)) + mutex_lock(&event_mutex); + file =3D event_file_file(filp); + if (likely(file)) + id =3D file->event_call->event.type; + mutex_unlock(&event_mutex); + + if (!file) return -ENODEV; =20 len =3D sprintf(buf, "%d\n", id); @@ -2572,7 +2579,9 @@ static const struct file_operations ftrace_event_form= at_fops =3D { =20 #ifdef CONFIG_PERF_EVENTS static const struct file_operations ftrace_event_id_fops =3D { + .open =3D tracing_open_file_tr, .read =3D event_id_read, + .release =3D tracing_release_file_tr, .llseek =3D default_llseek, }; #endif @@ -2936,7 +2945,6 @@ static int event_callback(const char *name, umode_t *= mode, void **data, if (call->event.type && call->class->reg && strcmp(name, "id") =3D=3D 0) { *mode =3D TRACE_MODE_READ; - *data =3D (void *)(long)call->event.type; *fops =3D &ftrace_event_id_fops; return 1; } --=20 2.52.0 From nobody Thu Apr 2 14:09:58 2026 Received: from mail-wm1-f54.google.com (mail-wm1-f54.google.com [209.85.128.54]) (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 F2C18319877 for ; Tue, 10 Feb 2026 11:34:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; cv=none; b=UT5G5lL495FIodoc0dPhrShnfCZxlSch4KCfXJoln/YbavxVldZgliAJrmRv0xYfNIWlzxPvyTNgPStinQa/iqpjlR6LWFxN8UuCgRnrjvxqt73qwXH08fTS0+Mm8+0uNd0eVG5xwt/W4tDcccEyJiGC/g6CfHG4z1j4fZRbvZI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; c=relaxed/simple; bh=G5eRL7qq4qKfG1bg+gMqDto6FFY13JVc3AzZwauaMjg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fqB1ZbLMhUVK2jWG7rt+liTaGKryhdUyTViX9Xf7M4mtvtueI/ofjGOKgQzaaSthaE7rdo98yqXUI7l0O4ccE1liVqxWQEl6aHZtcST9PDvpC+r+hJdtepc5ygPeqEO/wJACFn+ATzIIhaOHuko/K8j8MJD0Iebl7nek2E1rlFk= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=J47UMGFy; arc=none smtp.client-ip=209.85.128.54 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="J47UMGFy" Received: by mail-wm1-f54.google.com with SMTP id 5b1f17b1804b1-480142406b3so42785855e9.1 for ; Tue, 10 Feb 2026 03:34:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1770723291; x=1771328091; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=5XUdzb++Ot2O9XYmK+edoXm2j9wNmswRmiQS49YxQxo=; b=J47UMGFy6fX9DokZxzDkhbFMjDt354DfMwOTHrIGHtWVlClBV6Y1dcJ+QW/9il8u6R Vppvr6A2AsG+3FO+umKLXZ0/0GkftylpNyMz4QI1gbiVs/Md7ysm5rhbZKAscelYLv2D rNlYobMUQFva31jWqKHKJ9sYvcyjo3CId/zmi01OGtPbt1FdC1/3hVT7wEksLMyYjuj3 wGXDXBvrGluhwvw2ApB4vP5DV2ioPMGeBnNcTYX6emxunyYsxtkmdOAA2/J2BR3ruhDQ hmIvnO0p1PCqXE03PlN8O7rqHrzQDti+QBc8GEfDP0VrUG5Ge2etQ/R78g5EpL8xKHVz tYcA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770723291; x=1771328091; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=5XUdzb++Ot2O9XYmK+edoXm2j9wNmswRmiQS49YxQxo=; b=mFRvAcIo3PpG/h5AYD7akxXLIdGBsYfaMFzdLhLAtY0aVR3NCgggo+ne0iJrGf5m3c yrpxD7UjsWRyCJSx/8kUJiqvOScLnegel2hX0Ioi6vaNzFxCgs55ubeLR3ZH+O1wF4yg Xgy5VrWZpigI099H/RFbr0PAvILwBx/owpmd8BNASY8GWxpdoRPBu3zCyJ4+GaZiLRju brPN0SRYAVbXMkj5jY+eEP2ZNSKRsxMWYJ2dS2xxeVLYAX+HD+5GYi6bNmTE9tZ/UEMX 3nVtF/4rD4bx48Rp6Rz5wmJ1qpyjbyq735iTnReRAY5tUqPoEG5QHHFyLDtgYvibAwTw QlCw== X-Forwarded-Encrypted: i=1; AJvYcCWA9eusuKZdJUHC1P5Qw0r4vIKEhjnpXD2UI0HF+A0h2PlwbhFUL96n7a79PBpYe1OGOp0wOJfFt2hxSKQ=@vger.kernel.org X-Gm-Message-State: AOJu0YzYg4+BTHdfSPHJhEkIk+SkrKW4WwkSxOoJwdTX0nz/sRIavgp2 PWnBDOOxMMng7BoD9el6vmowE8HFyYHaEgCCf3da74vW72U225AE41/xt9URCqHDmeU= X-Gm-Gg: AZuq6aLFGemYbCJTElcD+mLeQs8KSFREnXpYTuq0fNhDOO3WIZqXLxMuSS7Aw1Hik5J +P3wqDwmzdURLzsnOhq3LsZ7a0dDeblP546Z/R4nNLiAQGpSQHRKsrdgwNiCnHeuk2YeSPg+r6A uZwPG6/0vwX6ubaydOSVlJmyuDD6ma5HNIElpfn9fcUUEqgrybN2c5L9Z+UNwwgV3veH5qTd/jW 1uYLmqUxOkResbuzfA5A+/NcxDeByXU9nYx/REf+fN4geh6gLQZAoepYgvwMPfZdsWmxtwWB+Q2 MrgSc9olxtwuPsz3LSUw4lSB8pXTsfZhhfMgG9wgtMcKv495+TMpcWs6ch+1LQgdj+E/Gf+VoK3 7vejd33AqMnOUeV2tuxVBC6QhA4jGgGH/JaJpf5VfDbp/bS1QOwi+XERnadmoENxaamgPjy2EW4 gRFpd5ssC2fwbqQjWZJ6/wUS3oJNqjbJy3zGahG1NpjRlVryuEjf5ZFbYKGf7Fx6nOsJLPtEBWG J+NSEfCPVqopWaH37YfSCeDAp5dswyzZgs= X-Received: by 2002:a05:600c:1d2a:b0:483:456a:5146 with SMTP id 5b1f17b1804b1-4835082c590mr31057165e9.25.1770723290505; Tue, 10 Feb 2026 03:34:50 -0800 (PST) Received: from zovi.suse.cz (dynamic-2a00-1028-838d-271e-8e3b-4aff-fe4c-a100.ipv6.o2.cz. [2a00:1028:838d:271e:8e3b:4aff:fe4c:a100]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483209cfd77sm120182275e9.14.2026.02.10.03.34.49 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 03:34:50 -0800 (PST) From: Petr Pavlu To: Steven Rostedt , Masami Hiramatsu Cc: Mathieu Desnoyers , Tom Zanussi , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Petr Pavlu Subject: [PATCH 3/5] tracing: Remove unnecessary check for EVENT_FILE_FL_FREED Date: Tue, 10 Feb 2026 12:28:18 +0100 Message-ID: <20260210113427.1068932-4-petr.pavlu@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210113427.1068932-1-petr.pavlu@suse.com> References: <20260210113427.1068932-1-petr.pavlu@suse.com> 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" The event_filter_write() function calls event_file_file() to retrieve a trace_event_file associated with a given file struct. If a non-NULL pointer is returned, the function then checks whether the trace_event_file instance has the EVENT_FILE_FL_FREED flag set. This check is redundant because event_file_file() already performs this validation and returns NULL if the flag is set. The err value is also already initialized to -ENODEV. Remove the unnecessary check for EVENT_FILE_FL_FREED in event_filter_write(). Signed-off-by: Petr Pavlu --- kernel/trace/trace_events.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/kernel/trace/trace_events.c b/kernel/trace/trace_events.c index 3d272b3cd688..401ab7ed869b 100644 --- a/kernel/trace/trace_events.c +++ b/kernel/trace/trace_events.c @@ -2160,12 +2160,8 @@ event_filter_write(struct file *filp, const char __u= ser *ubuf, size_t cnt, =20 mutex_lock(&event_mutex); file =3D event_file_file(filp); - if (file) { - if (file->flags & EVENT_FILE_FL_FREED) - err =3D -ENODEV; - else - err =3D apply_event_filter(file, buf); - } + if (file) + err =3D apply_event_filter(file, buf); mutex_unlock(&event_mutex); =20 kfree(buf); --=20 2.52.0 From nobody Thu Apr 2 14:09:58 2026 Received: from mail-wm1-f48.google.com (mail-wm1-f48.google.com [209.85.128.48]) (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 093C831B80D for ; Tue, 10 Feb 2026 11:34:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.48 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; cv=none; b=gWvBJqrkmVL6/ebMLBb5gMox2rsAM1mN9ZtvchkA+E55RJMswKLpL/ONl0VqwOjTAt39euvCcdy8mg1uXZjaQOpwih/WIIe4F5YouBmlLHrpNnqHfVqNjXvtQAmB0CbUdm4KYF4rUCrFsuxx8Rnf95vknBPbkMbE3Lh5LIJ94j8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; c=relaxed/simple; bh=AZbPmQspnfdPD1dkBj8q9VPDlES/gdctt4sqkPbmfJg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=fv0Ou9qvyiYBbxFV8qY3ErF8gKGqCVkEJrW/q3LBdfoHfXQ9Mztk+dryEOcp+KojK4F4PfMcCvFQfgXmGERCDwp0uQZCNS2psMSmZyxkt4yW7l1i08pgVPfniDy4klp/PrS++rLkNUOPD3oEJl8+V8CmBIR7FigismOvs9Gcg4E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=CbzLe7XG; arc=none smtp.client-ip=209.85.128.48 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="CbzLe7XG" Received: by mail-wm1-f48.google.com with SMTP id 5b1f17b1804b1-4806ce0f97bso6389145e9.0 for ; Tue, 10 Feb 2026 03:34:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1770723291; x=1771328091; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8xzTbvx4j2WGhpm6B/fN7XDTTbeiE+41Vj6geLDrtfc=; b=CbzLe7XGv4OoSFfaG1y1qI8DN0Vql96lv/kEtcDfFfFafD7L9qo0b+SHT8tJLmTnsi OKEVBjRgSMwqiCXxn35uuhjczofjEssNTc6aiEqhpNSh2rjjBGynoAuQjX5jESTBIxDK CtRJcoUSQA7KVhJyBnFr82BWZQG/pG2RPJhvxKpB5iYKr5Dwz6Njwjb8gLqwooTqj6PR KeIEAZaboD1wu9wiMWorK4r7MYd02s2okZpJROLeYl08/9JmWp/JsnqLGz+ph0Una50i e4xqIdi8PW9QmKh8NIqvfw65tBtThg28b2bOTRFETyGhKdbyFvUgvM0e00yIj+4yJZI9 Qkaw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770723291; x=1771328091; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8xzTbvx4j2WGhpm6B/fN7XDTTbeiE+41Vj6geLDrtfc=; b=N/C52zj9+rKhZ3LSuxGvYcaXKM1lM6EN3ht4QJJ00FBTtHhmHumB2ts+hwJbnfcHnz O7YCRyNlZ68NIax8whbGxcWb/uR3wOHIszzc12Q3AtH782tcvdSuI6r4Iz9RdYv7QfEc sSLziJDDa0B1vFEcgaT0BQ2g+aIEG7fZYFnDlA0PJ1HAAmymC6bxemzVyPmgMnnkAIrD EXiD0+yb9uAc0a+TOtvCpkVcU3tnzEjpNHLiKQaKEgW5ceHlbJM9XSTXNsicoKAwZ22/ fJ9zHe7Dy0fJPtRZUcwvIXU5XDhUR9Tao+gowcISl6UKQZMhafXkRH/B4U2+JtSOh4oq yjpQ== X-Forwarded-Encrypted: i=1; AJvYcCUFLnOoHQqg0vGNTrhRdn5RU3sOFI9gp+8hMiZqP5rrBulSWDEQNg00IuvxkKpxo32pQH6hAeq8A+GZBYI=@vger.kernel.org X-Gm-Message-State: AOJu0YzTLxzzJ1kwW88jUDO82iczyzmIADL8/U84dXazdK/hIpARExz5 hUpWFu3H6OnkaWdjrtWOERQK6xnQnteDCV169ReLZ/QVBLmrMw2wpxjd9qz/g54d1+w= X-Gm-Gg: AZuq6aJOrclhrra2CVxdna/xyxkPSbg7L2dcfE5gi7a1sgr/8nJ2E6LYkdMXdDCV14E CTJS26VLfDZRbmRlgSUDzYNZHBYb6GvYDABh6xELoXEhY2coIZqBQLBx6esu9sE2M47/iC9wzxX fZ7iVkMUMZUVqMlDkcxHAb10beRYPE9B/m/8mxR49mqBPs/5e20gsKKRdYxvcMTrLYP4bLIWXiw FLkCDJFe8cAEBn2JzBm4WzzbWFXZfuzyaS8cUFKWZoMxXZbLfri5j20cKYlx9mqjKTIZpiMrtXS zT1L235Zs888cE+gWZ6SkYs19qPoC2BZ6hPf/7wjvrVrkf9JCYuv8oUfhR2uX+yaN8Xs/HcgtmB t2tMD3OmgWhMbXyr3ISbiPYJNJi+9VZfLJdwC9KmDkCOFaOxrhN8m+vHIJZLA75JJfqVYG6TZWZ ClhsxFBJ4QON9vYOA7G7DbVnKD3PhzPBRHspjZnkAbs+Zb984PjZ+CtwCEPhQ3dwRxtB3Iy2L5A YQqJXn8kT2LVP93lAoQzpGK X-Received: by 2002:a7b:cdf0:0:b0:483:2c98:435e with SMTP id 5b1f17b1804b1-4832c984526mr130383165e9.34.1770723291435; Tue, 10 Feb 2026 03:34:51 -0800 (PST) Received: from zovi.suse.cz (dynamic-2a00-1028-838d-271e-8e3b-4aff-fe4c-a100.ipv6.o2.cz. [2a00:1028:838d:271e:8e3b:4aff:fe4c:a100]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483209cfd77sm120182275e9.14.2026.02.10.03.34.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 03:34:51 -0800 (PST) From: Petr Pavlu To: Steven Rostedt , Masami Hiramatsu Cc: Mathieu Desnoyers , Tom Zanussi , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Petr Pavlu Subject: [PATCH 4/5] tracing: Clean up access to trace_event_file from a file pointer Date: Tue, 10 Feb 2026 12:28:19 +0100 Message-ID: <20260210113427.1068932-5-petr.pavlu@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210113427.1068932-1-petr.pavlu@suse.com> References: <20260210113427.1068932-1-petr.pavlu@suse.com> 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" The tracing code provides two functions event_file_file() and event_file_data() to obtain a trace_event_file pointer from a file struct. The primary method to use is event_file_file(), as it checks for the EVENT_FILE_FL_FREED flag to determine whether the event is being removed. The second function event_file_data() is an optimization for retrieving the same data when the event_mutex is still held. In the past, when removing an event directory in remove_event_file_dir(), the code set i_private to NULL for all event files and readers were expected to check for this state to recognize that the event is being removed. In the case of event_id_read(), the value was read using event_file_data() without acquiring the event_mutex. This required event_file_data() to use READ_ONCE() when retrieving the i_private data. With the introduction of eventfs, i_private is assigned when an eventfs inode is allocated and remains set throughout its lifetime. A previous fix also modified event_id_read() to read i_private while holding the event_mutex. Remove the now unnecessary READ_ONCE() access to i_private in both event_file_file() and event_file_data(). Add a check in event_file_data() to ensure that the event_mutex is held and that file->flags doesn't have the EVENT_FILE_FL_FREED flag set. Finally, move event_file_data() immediately after event_file_code() since the latter provides a comment explaining how both functions should be used together. Signed-off-by: Petr Pavlu --- kernel/trace/trace.h | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index c11edec5d8f5..c6b450de93bc 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1739,11 +1739,6 @@ extern struct trace_event_file *find_event_file(stru= ct trace_array *tr, const char *system, const char *event); =20 -static inline void *event_file_data(struct file *filp) -{ - return READ_ONCE(file_inode(filp)->i_private); -} - extern struct mutex event_mutex; extern struct list_head ftrace_events; =20 @@ -1764,12 +1759,22 @@ static inline struct trace_event_file *event_file_f= ile(struct file *filp) struct trace_event_file *file; =20 lockdep_assert_held(&event_mutex); - file =3D READ_ONCE(file_inode(filp)->i_private); + file =3D file_inode(filp)->i_private; if (!file || file->flags & EVENT_FILE_FL_FREED) return NULL; return file; } =20 +static inline void *event_file_data(struct file *filp) +{ + struct trace_event_file *file; + + lockdep_assert_held(&event_mutex); + file =3D file_inode(filp)->i_private; + WARN_ON(!file || file->flags & EVENT_FILE_FL_FREED); + return file; +} + extern const struct file_operations event_trigger_fops; extern const struct file_operations event_hist_fops; extern const struct file_operations event_hist_debug_fops; --=20 2.52.0 From nobody Thu Apr 2 14:09:59 2026 Received: from mail-wm1-f46.google.com (mail-wm1-f46.google.com [209.85.128.46]) (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 04165319859 for ; Tue, 10 Feb 2026 11:34:53 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.46 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; cv=none; b=WOQdEq+CvU51qEUkd1Ob8QYJ7KW8Cr3F2XE6NQx2csM8KM2vE5iAusL9zTOk2Io/3kamGzBWMCt1gGuDM7XnN482Q2v/5uxvAjiOtffinR0Y98vdvYp3gBU0xHR4vlfUSN3iPkEv2V+5MjY/cUDdvfQH6fhaU0MrmVAMlIcziss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770723298; c=relaxed/simple; bh=zJ2Q3ZfXvTejXn7hADjwCYUmn97smDDde070ENCFaMg=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=udC2sN6ugZQ6KEsOTUJ40cBiYLzuExOBiacLMInArj1LA7fcAPEhSe4+a5ggBFW4Sx2UOZpJyH0C8Vk2czND20MulAV6pvnUz/wP7hvkbIDV+YBNb4J26zk+TlPQJSaIxTvNQDJ5l9Ei+jUlYQcdFJiM03o/CWzm3HxYLvhEs1E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com; spf=pass smtp.mailfrom=suse.com; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b=QJ3JGM3b; arc=none smtp.client-ip=209.85.128.46 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=suse.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=suse.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=suse.com header.i=@suse.com header.b="QJ3JGM3b" Received: by mail-wm1-f46.google.com with SMTP id 5b1f17b1804b1-47ff94b46afso52651575e9.1 for ; Tue, 10 Feb 2026 03:34:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1770723292; x=1771328092; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=7n6tcTGOKkQhPa3J8Fp7f0Ik4WwCbQupTIGbvUZ9CRk=; b=QJ3JGM3b80e9zy/zZ5wDtoyJ8q04BkBmPKGDwzl/uaqiNsUM4B+b+YdmqooqMT+g7B dttALfLPl4eqcF9MciCVKB4X5bGj9cSz3qxl86NETEKhEvE99Az3YolPMdGJoyvpf8Pe Le9zLOWb8DXiXzzjMj8Zkl+iXyMLI9UvJm939PHP6IfGAmJsd0YeiaGrnzHs/c9d1j+9 es3eDIV7olXgTKz5GRDROBF6TJXeeoBljzllJdT4ZDnQmyZxaCGM5NEgPrI1aM//UdSO mvjAbZXFv7vj/Wy4WBtzKvVQ8J3aCmZs1Es5vz4LFV1Nv2uILrPqWwI0o8w+rFPOZpea UwOA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770723292; x=1771328092; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=7n6tcTGOKkQhPa3J8Fp7f0Ik4WwCbQupTIGbvUZ9CRk=; b=EXwgChl8U9X5DdNj3ry0YMOWE3uNObpipyGOh4VQItd/NRjQ2c4OOBFXUc/mHmxvl0 u6BmAYBziEJdlonmPge1IMioWtrtE6tsEXOxVzAzzrRASpGP2uZjcQgWSaYxeym9P1io dnu+tq3LSMUBxgm9WIxrvqqorVIZOICxSgjsgl3zjwPXvYpzSSpwe9H42l32k2eyZbSX D0ELceGQAcyBPeOYsdGxQ77Ni4D2HEGdRNdVvcM+GJjH/Ql048TppcuHVslIlQtn4sz9 2TLOpm6wTxWiOVJLXntKS+3SrTGYuZ54ZhdiyZXgdTpK8mGahnWfsSAL7VuqGzqmxHrg bYjA== X-Forwarded-Encrypted: i=1; AJvYcCU9yjkHKyQumtRUabYWiOv/st+z+ir2jHtuUTtWXiIr2ibomOCVaR5XvCanVXkoJ+7iXQEW8ZVnSYahx/w=@vger.kernel.org X-Gm-Message-State: AOJu0Ywsdih4XaCug/quHF5ISgt702+ZRZ/OUo/Y8HxsSGG+LBZBPS8L 2LYBA/nYKWXUY5Z9UZMs5nwOFeyfbhrVwHiheChZMN9twgoV+EBFEx5P8v9n+Yy9z8k= X-Gm-Gg: AZuq6aJYkhVvvl6r6hxBczeu3Ey/gmPv5EeF2Jh4aD7pFRalWriJMB2oED9O/wcDlfM 0oUABGQWq5fF/ls9ThtamqOEFwriCctobzcys9t3hgENuS8WgfXmmeVPqn2RPlFGxyHCQf2QYnv IEOh3ImcPM9EuSmx1rqkROk+Qam5hrd3zBhXcpfKItEoIu2QhBXKIzyLjVRizRtsE1JdumPvjN+ o4IkmP46poaNYhP8sZdk4DxCsGmRtSa8vRDJB8CkebKXGHYKw8b6Ep5amXIppil6CP+jGO3vWRy xoS+Nv/V5VHc9ilV9IyOxihoRYdPX9TJsT+YIJgMjJhUK+aDH9Gl55T8mf6yeDCL/fz/66AW3f0 u01R96rg3/dTGpAhdw0pvuS1kTzg9RppB09aQBKvOsruZZ0De6bO3CFjq1fRabPYrBu/KEKhNsz d75Gvva389TbbmBJ/CRdBiW6sFXbIEDOP/tmELtMAGViGGu/kU8MSkii/zSTOcb4K24ImQuXWgP widWWF+cv9pJgtmMmoXEe5x X-Received: by 2002:a05:600c:3547:b0:47e:e59c:67c5 with SMTP id 5b1f17b1804b1-48350521bebmr28279235e9.8.1770723292197; Tue, 10 Feb 2026 03:34:52 -0800 (PST) Received: from zovi.suse.cz (dynamic-2a00-1028-838d-271e-8e3b-4aff-fe4c-a100.ipv6.o2.cz. [2a00:1028:838d:271e:8e3b:4aff:fe4c:a100]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-483209cfd77sm120182275e9.14.2026.02.10.03.34.51 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 Feb 2026 03:34:51 -0800 (PST) From: Petr Pavlu To: Steven Rostedt , Masami Hiramatsu Cc: Mathieu Desnoyers , Tom Zanussi , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, Petr Pavlu Subject: [PATCH 5/5] tracing: Free up file->private_data for use by individual events Date: Tue, 10 Feb 2026 12:28:20 +0100 Message-ID: <20260210113427.1068932-6-petr.pavlu@suse.com> X-Mailer: git-send-email 2.52.0 In-Reply-To: <20260210113427.1068932-1-petr.pavlu@suse.com> References: <20260210113427.1068932-1-petr.pavlu@suse.com> 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" The tracing_open_file_tr() function currently copies the trace_event_file pointer from inode->i_private to file->private_data when the file is successfully opened. This duplication is not particularly useful, as all event code should utilize event_file_file() or event_file_data() to retrieve a trace_event_file pointer from a file struct and these access functions read file->f_inode->i_private. Moreover, this setup requires the code for opening hist files to explicitly clear file->private_data before calling single_open(), since this function expects the private_data member to be set to NULL and uses it to store a pointer to a seq_file. Remove the unnecessary setting of file->private_data in tracing_open_file_tr() and simplify the hist code. Signed-off-by: Petr Pavlu --- kernel/trace/trace.c | 2 -- kernel/trace/trace_events_hist.c | 4 ---- 2 files changed, 6 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 8bd4ec08fb36..7c9882e5ba22 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -4805,8 +4805,6 @@ int tracing_open_file_tr(struct inode *inode, struct = file *filp) event_file_get(file); } =20 - filp->private_data =3D inode->i_private; - return 0; } =20 diff --git a/kernel/trace/trace_events_hist.c b/kernel/trace/trace_events_h= ist.c index 744c2aa3d668..1ca3e14d7531 100644 --- a/kernel/trace/trace_events_hist.c +++ b/kernel/trace/trace_events_hist.c @@ -5831,8 +5831,6 @@ static int event_hist_open(struct inode *inode, struc= t file *file) hist_file->file =3D file; hist_file->last_act =3D get_hist_hit_count(event_file); =20 - /* Clear private_data to avoid warning in single_open() */ - file->private_data =3D NULL; ret =3D single_open(file, hist_show, hist_file); if (ret) { kfree(hist_file); @@ -6114,8 +6112,6 @@ static int event_hist_debug_open(struct inode *inode,= struct file *file) if (ret) return ret; =20 - /* Clear private_data to avoid warning in single_open() */ - file->private_data =3D NULL; ret =3D single_open(file, hist_debug_show, file); if (ret) tracing_release_file_tr(inode, file); --=20 2.52.0