From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 2BCEC2D023 for ; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; cv=none; b=DzXiXNJdqO61x++FDkyNriLGUPZH88C78bD5Su8zRF0S1ij8/o8qWoMpVYykyUso4bgL52gWUf2SL+aHPiFdgDatp5Bmru+9nkguENisYdMpU8AmCtD4gEC2oI/peTTi3xMg10xNG+FBX2XfEIDlwWOypVL3m7NZrMIB2LC9Ruo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; c=relaxed/simple; bh=wCQzGlDHznXzjPtwUvnhjy0TbrJKp0JW6NNGxeeeBb0=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=XlETSrv6IKFgLaTfigf85B11QsE9YNLUp+yGkWASGRz+XivkKQD/cYQMpK9ip+fz3pHsuDaSxENM/DX8fzY3gcrXiOVtv1iQBtJc4Xqtj5jaAdNgJ3PPsSaXFdjHdGYCECH7uW3AyZ8qxPI1FUrvizjGBTgbpXbJVpfJ8qAEHbw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=rpw2jOXa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="rpw2jOXa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id ED3B8C4CEE7; Thu, 21 Aug 2025 00:00:10 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=wCQzGlDHznXzjPtwUvnhjy0TbrJKp0JW6NNGxeeeBb0=; h=Date:From:To:Cc:Subject:References:From; b=rpw2jOXaaji3dRqdT7BPCKj4ushl3NAc1x+hkjtNAUKsF2A9SqYaAwdfVsTeZkvmC BYMxFogMRH/HurHkS1SVDUrsL75prazVRpBAYB84L4PYvNTBVd8NEFSgmGQL9ATtB0 LwgDNx1nKSAgFSJvU2n1g/YrO2fy6E3ESANnEve64DDAIeJJfLhq79s2jv6JeOUGea JvvltQh5vLAe4w4YNAdTU9ehaiFc4ktalr40VIQMBX3HB6OtG+AT9A+EvIjEwkN/sG 1pf0vQMkmsATegRtyyn6eaA7lL9cq2DEdUMtCdLZ2fdGzpCY2Y+1W+72bntZJj0JUw XKJmpLfJZWD/Q== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj0-000000013cl-1wAW; Wed, 20 Aug 2025 20:00:14 -0400 Message-ID: <20250821000014.311912752@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:01 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Tao Chen Subject: [for-linus][PATCH 1/6] tools/latency-collector: Check pkg-config install References: <20250821000000.210778097@kernel.org> 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" From: Tao Chen The tool pkg-config used to check libtraceevent and libtracefs, if not installed, it will report the libs not found, even though they have already been installed. Before: libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-de= vel libtracefs is missing. Please install libtracefs-dev/libtracefs-devel After: Makefile.config:10: *** Error: pkg-config needed by libtraceevent/libtracef= s is missing on this system, please install it. Link: https://lore.kernel.org/20250808040527.2036023-1-chen.dylane@linux.dev Fixes: 9d56c88e5225 ("tools/tracing: Use tools/build makefiles on latency-c= ollector") Signed-off-by: Tao Chen Signed-off-by: Steven Rostedt (Google) --- tools/tracing/latency/Makefile.config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/tracing/latency/Makefile.config b/tools/tracing/latency/= Makefile.config index 0fe6b50f029b..6efa13e3ca93 100644 --- a/tools/tracing/latency/Makefile.config +++ b/tools/tracing/latency/Makefile.config @@ -1,7 +1,15 @@ # SPDX-License-Identifier: GPL-2.0-only =20 +include $(srctree)/tools/scripts/utilities.mak + STOP_ERROR :=3D =20 +ifndef ($(NO_LIBTRACEEVENT),1) + ifeq ($(call get-executable,$(PKG_CONFIG)),) + $(error Error: $(PKG_CONFIG) needed by libtraceevent/libtracefs is mis= sing on this system, please install it) + endif +endif + define lib_setup $(eval LIB_INCLUDES +=3D $(shell sh -c "$(PKG_CONFIG) --cflags lib$(1)")) $(eval LDFLAGS +=3D $(shell sh -c "$(PKG_CONFIG) --libs-only-L lib$(1)")) --=20 2.50.1 From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 92615265CA0 for ; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; cv=none; b=Rl76nHUr/LzGUJPaAEwP4aoV33klO5ufw3jJJGA7b/sOFdCVSg2RUtAgIglvhpO+vHy7iY+uXtPfW21kjCwXf8FfY8yHYGlYozswtdbLXYbhZjfRpT3Co8F05iDODsagbh+UXBKI70fmZVb9sU9JZSyB4uk3GKkXASu1nfo8J84= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; c=relaxed/simple; bh=rynmEzABuR7PsOH6QIS1a/CfJFN+KjviQjXtNvTrDQw=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=diRpOmWOFpWe+5lXnRo4UirmdHp7tXvzR8OW7diYb7vbzXfZUPQaUsQJ97MT33MoxgxRYfY7vpbZPVc2+B3KNfMbyZDkO1kCp411LjUVl9lz4pFTfD1lxsKp2De/MFoQV6unOEVgoTsKkldWbs3EubhZqYAlrveZyyDly4ArHGI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GrYHFYdd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GrYHFYdd" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 38E24C113D0; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=rynmEzABuR7PsOH6QIS1a/CfJFN+KjviQjXtNvTrDQw=; h=Date:From:To:Cc:Subject:References:From; b=GrYHFYdd/pnlJ8pPy6ITA3MhokVtsJO7Oe4jhP3gX6LF20j8ZwVPEHs/zs870gOu5 Ttz/QVgwPBZU8D9qttyywsWnMd3Y2bChd+iKL3s+wXHHuYbOtU/5CmbhGxc0Vpyyyl gA/eNwXx59u/JWC+4r9XHnbjb/40O7wEIfwhIe+Z3YgmE/qoGCgVPu8Xe49/lm4wal f14PUvN8V6VhOvnXLcpx+GgjjYrGj2AsMoyJgMKtnUke/5vI7xKqA9XQ5aLROKJg1F Z3myZotourYtZdExrqXwW6Wgez6pQ9rFy7r6rJd0V/sECJYpsEX51OloL0AoIiBACp eSOiGG09wTtxg== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj0-000000013dF-2d6M; Wed, 20 Aug 2025 20:00:14 -0400 Message-ID: <20250821000014.480414046@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:02 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Tao Chen Subject: [for-linus][PATCH 2/6] rtla: Check pkg-config install References: <20250821000000.210778097@kernel.org> 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" From: Tao Chen The tool pkg-config used to check libtraceevent and libtracefs, if not installed, it will report the libs not found, even though they have already been installed. Before: libtraceevent is missing. Please install libtraceevent-dev/libtraceevent-de= vel libtracefs is missing. Please install libtracefs-dev/libtracefs-devel After: Makefile.config:10: *** Error: pkg-config needed by libtraceevent/libtracef= s is missing on this system, please install it. Link: https://lore.kernel.org/20250808040527.2036023-2-chen.dylane@linux.dev Fixes: 01474dc706ca ("tools/rtla: Use tools/build makefiles to build rtla") Signed-off-by: Tao Chen Signed-off-by: Steven Rostedt (Google) --- tools/tracing/rtla/Makefile.config | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tools/tracing/rtla/Makefile.config b/tools/tracing/rtla/Makefi= le.config index 5f2231d8d626..07ff5e8f3006 100644 --- a/tools/tracing/rtla/Makefile.config +++ b/tools/tracing/rtla/Makefile.config @@ -1,10 +1,18 @@ # SPDX-License-Identifier: GPL-2.0-only =20 +include $(srctree)/tools/scripts/utilities.mak + STOP_ERROR :=3D =20 LIBTRACEEVENT_MIN_VERSION =3D 1.5 LIBTRACEFS_MIN_VERSION =3D 1.6 =20 +ifndef ($(NO_LIBTRACEEVENT),1) + ifeq ($(call get-executable,$(PKG_CONFIG)),) + $(error Error: $(PKG_CONFIG) needed by libtraceevent/libtracefs is mis= sing on this system, please install it) + endif +endif + define lib_setup $(eval LIB_INCLUDES +=3D $(shell sh -c "$(PKG_CONFIG) --cflags lib$(1)")) $(eval LDFLAGS +=3D $(shell sh -c "$(PKG_CONFIG) --libs-only-L lib$(1)")) --=20 2.50.1 From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D2746DF76; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; cv=none; b=ZT9ZnGLCcsqUJZpohhEtW2I19Zi1fY1yDJ7A9ujrRjEMR9pbuE0q2S71HiEBOvGusZ/jks64OfvcCD565DICnNwRXG1c0n7ISNyDQ/L67ghnDBzX8GnMtjbQS2ToLnr8+eis8MpqGfuqmaJ0G71XQ6Huf6GYzemaA/0AJjIyTdo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; c=relaxed/simple; bh=qM0M8s3MHhu7f4tMuCurJwd+EN9+GJIDPE7Cse4PGIs=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=lOoJ5qAS5c2JJChvZAs7sfp0nW8pNylBaQ0kApndqFFDmDJyjvlj4JfRsUKfVeuw+xMgGlD4XlO3bPjPe1QmXHPLzmbND4z/kXGrknighwe2P53qXi0Xfj3novacYx5Fa9eTPhf3M2E0tQ/8ooF5VQqOV2nO6OHUe8NaH/wzvpg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LanWacx1; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LanWacx1" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5AD50C16AAE; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=qM0M8s3MHhu7f4tMuCurJwd+EN9+GJIDPE7Cse4PGIs=; h=Date:From:To:Cc:Subject:References:From; b=LanWacx1J2ziGQIyrOfW5W60VavFaSVuuWs4YjTMStEFpI82FMeDx4pBhaNY2ugYO h/oZ7jWJfeL0fkKzTLN20X/AGXckiJMPrqrbxm7/xUTrmksJp6tx1PuhiAoeDXYMV4 0N7fTqwN3HYdFwBHnjrIUtM7thQ8JGahiR9weBKhxpDU9z5vUMdiYYXu0Djvq6bEzX mJ/T2IQVUzL1VuP3tYCC2ZBbpwNUnTnzwfwia/NCe0etzdMU2THoXxTjazTWz9GURz ZLOP/zIN/4PnTUXj1eVVzbbEeacPsXfPdGwbQ1pQs36ykLCXOoFeVvrWNhU2ADjmdC IL0sBkAJtsBvQ== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj0-000000013dk-3Kq4; Wed, 20 Aug 2025 20:00:14 -0400 Message-ID: <20250821000014.647378837@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:03 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , stable@vger.kernel.org, Pu Lehui Subject: [for-linus][PATCH 3/6] tracing: Limit access to parser->buffer when trace_get_user failed References: <20250821000000.210778097@kernel.org> 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" From: Pu Lehui When the length of the string written to set_ftrace_filter exceeds FTRACE_BUFF_MAX, the following KASAN alarm will be triggered: BUG: KASAN: slab-out-of-bounds in strsep+0x18c/0x1b0 Read of size 1 at addr ffff0000d00bd5ba by task ash/165 CPU: 1 UID: 0 PID: 165 Comm: ash Not tainted 6.16.0-g6bcdbd62bd56-dirty Hardware name: linux,dummy-virt (DT) Call trace: show_stack+0x34/0x50 (C) dump_stack_lvl+0xa0/0x158 print_address_description.constprop.0+0x88/0x398 print_report+0xb0/0x280 kasan_report+0xa4/0xf0 __asan_report_load1_noabort+0x20/0x30 strsep+0x18c/0x1b0 ftrace_process_regex.isra.0+0x100/0x2d8 ftrace_regex_release+0x484/0x618 __fput+0x364/0xa58 ____fput+0x28/0x40 task_work_run+0x154/0x278 do_notify_resume+0x1f0/0x220 el0_svc+0xec/0xf0 el0t_64_sync_handler+0xa0/0xe8 el0t_64_sync+0x1ac/0x1b0 The reason is that trace_get_user will fail when processing a string longer than FTRACE_BUFF_MAX, but not set the end of parser->buffer to 0. Then an OOB access will be triggered in ftrace_regex_release-> ftrace_process_regex->strsep->strpbrk. We can solve this problem by limiting access to parser->buffer when trace_get_user failed. Cc: stable@vger.kernel.org Link: https://lore.kernel.org/20250813040232.1344527-1-pulehui@huaweicloud.= com Fixes: 8c9af478c06b ("ftrace: Handle commands when closing set_ftrace_filte= r file") Signed-off-by: Pu Lehui Signed-off-by: Steven Rostedt (Google) --- kernel/trace/trace.c | 18 ++++++++++++------ kernel/trace/trace.h | 8 +++++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index 4283ed4e8f59..8d8935ed416d 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -1816,7 +1816,7 @@ int trace_get_user(struct trace_parser *parser, const= char __user *ubuf, =20 ret =3D get_user(ch, ubuf++); if (ret) - return ret; + goto fail; =20 read++; cnt--; @@ -1830,7 +1830,7 @@ int trace_get_user(struct trace_parser *parser, const= char __user *ubuf, while (cnt && isspace(ch)) { ret =3D get_user(ch, ubuf++); if (ret) - return ret; + goto fail; read++; cnt--; } @@ -1848,12 +1848,14 @@ int trace_get_user(struct trace_parser *parser, con= st char __user *ubuf, while (cnt && !isspace(ch) && ch) { if (parser->idx < parser->size - 1) parser->buffer[parser->idx++] =3D ch; - else - return -EINVAL; + else { + ret =3D -EINVAL; + goto fail; + } =20 ret =3D get_user(ch, ubuf++); if (ret) - return ret; + goto fail; read++; cnt--; } @@ -1868,11 +1870,15 @@ int trace_get_user(struct trace_parser *parser, con= st char __user *ubuf, /* Make sure the parsed string always terminates with '\0'. */ parser->buffer[parser->idx] =3D 0; } else { - return -EINVAL; + ret =3D -EINVAL; + goto fail; } =20 *ppos +=3D read; return read; +fail: + trace_parser_fail(parser); + return ret; } =20 /* TODO add a seq_buf_to_buffer() */ diff --git a/kernel/trace/trace.h b/kernel/trace/trace.h index 1dbf1d3cf2f1..be6654899cae 100644 --- a/kernel/trace/trace.h +++ b/kernel/trace/trace.h @@ -1292,6 +1292,7 @@ bool ftrace_event_is_function(struct trace_event_call= *call); */ struct trace_parser { bool cont; + bool fail; char *buffer; unsigned idx; unsigned size; @@ -1299,7 +1300,7 @@ struct trace_parser { =20 static inline bool trace_parser_loaded(struct trace_parser *parser) { - return (parser->idx !=3D 0); + return !parser->fail && parser->idx !=3D 0; } =20 static inline bool trace_parser_cont(struct trace_parser *parser) @@ -1313,6 +1314,11 @@ static inline void trace_parser_clear(struct trace_p= arser *parser) parser->idx =3D 0; } =20 +static inline void trace_parser_fail(struct trace_parser *parser) +{ + parser->fail =3D true; +} + extern int trace_parser_get_init(struct trace_parser *parser, int size); extern void trace_parser_put(struct trace_parser *parser); extern int trace_get_user(struct trace_parser *parser, const char __user *= ubuf, --=20 2.50.1 From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D26FF1D6AA for ; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; cv=none; b=qui5rRfFNjPbltZSeqLPPyF+43P09cU8sy92+XCNGcHwaLHOiiMRMhXD7yfnA1BP2qIll5Ee8VrI32in7G/FZ9dQcHJXrusmcj8ezMOUw+tL/WtESanbuLU4Fb5D82PoLMi06Q/5NqUn8nt58vIuQE8kMbfExJxC9w4g7Dm1Vmc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; c=relaxed/simple; bh=I+PodtOuCXjwGq7xmfuORZTJZ5SmG6Oq6SFUXChaQbY=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=rB94C8va4XBGdrx2iLjvP89MprnpSax5JmtPr+50DNOe2iuXxGuSMK+ssESJ8S+0wwxNrGyFgqbgX1EL/vU3Rnt9O767ZEsTCDEyNDE/mcYHu9AFW/IOR7WE+4WaE4OvrFfV4v2c5oLDf+lECv8yFeDtvhV38Umvx7CQlS+bZ7I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LIz7akjk; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LIz7akjk" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 84A20C116D0; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=I+PodtOuCXjwGq7xmfuORZTJZ5SmG6Oq6SFUXChaQbY=; h=Date:From:To:Cc:Subject:References:From; b=LIz7akjkVhArnNtfy32J/Iaiw3jRsKFxfhuhBj93mw7QDH1ucM/LO/9E8zrrwWiG+ ujXdYi+e67odtFCBRsHRARHcppskKicAUTbgDfNdkJD1qOTlqXaSrx1upE1oNX+8Xk f12jv5Q7AFQgz96l48acsfk8QyQcyvdDykonDAs5VcJlkuPCVe3IlzBUVbyrkgEaKk GmG7oaxhFKjX0B9uP4DHH44DyaZBfGupD+wbnVkivBXaYLhWyA8SYSXLyL5WTKoAql 3BAlH0+pe/cPihlzKwgXVaMhwMPEmsw+9Q/2SbY0TGOrdXi53pgJ4PNCATzxx4NhZV /ln6YJKmK8tzA== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj0-000000013eE-42AN; Wed, 20 Aug 2025 20:00:14 -0400 Message-ID: <20250821000014.815252249@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:04 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Liao Yuanhong Subject: [for-linus][PATCH 4/6] ring-buffer: Remove redundant semicolons References: <20250821000000.210778097@kernel.org> 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" From: Liao Yuanhong Remove unnecessary semicolons. Cc: Masami Hiramatsu Cc: Mathieu Desnoyers Link: https://lore.kernel.org/20250813095114.559530-1-liaoyuanhong@vivo.com Signed-off-by: Liao Yuanhong Signed-off-by: Steven Rostedt (Google) --- kernel/trace/ring_buffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/trace/ring_buffer.c b/kernel/trace/ring_buffer.c index bb71a0dc9d69..43460949ad3f 100644 --- a/kernel/trace/ring_buffer.c +++ b/kernel/trace/ring_buffer.c @@ -7666,7 +7666,7 @@ static __init int test_ringbuffer(void) rb_test_started =3D true; =20 set_current_state(TASK_INTERRUPTIBLE); - /* Just run for 10 seconds */; + /* Just run for 10 seconds */ schedule_timeout(10 * HZ); =20 kthread_stop(rb_hammer); --=20 2.50.1 From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 D5A5EF9D9 for ; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; cv=none; b=q7F9uQK+DI8/G1yY3+nGNCVIQVr0tOC7ZRN4OUPBnU6Oh5+38Rbvck6GxpUe+4x+m/zbJ2zBQEKPjadLBnbdMtbiJQDuHcqJ+Q1sxg6fjHAu9sXYA6twdmGJnMjYDZ+NRjloGMmsXGzD/Etx3xLqUa1l2ryeinz8GAR2pyB2vqs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734411; c=relaxed/simple; bh=qRdahZtrE1MjLGtmJge/76rAQHIUpe16QKO0WXYzzi8=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=ekt4t4mm6c61X9LUqd8PfSuOWFU8W5YYEJz0CtvWxPDjUV1BAK77c2nWd+XyO72xK9vyNLvNHwcreT9IY7swJEN5srWUJiUazJlNQ9VC1fsVM6KNe5wL0XaOLfs1lV+QGt6lhR3eSq0ad/OWZEQSM6NM9jjNIchZVJwgLOJmez0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=aXjpn/BS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="aXjpn/BS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B388EC4CEE7; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=qRdahZtrE1MjLGtmJge/76rAQHIUpe16QKO0WXYzzi8=; h=Date:From:To:Cc:Subject:References:From; b=aXjpn/BSZzLCBIf3h/7okPkw2QhwL4Wh1VHzwRJ0M59H2+FKBtpnR1LXnBTsvErC/ DQETDoasMKRuUsM1UwLvt/BJHaHGUNUhqrgkOd8bAuMD8UlIE5fHga3+RU9JgP1kvH 9HcHSisuf3penDrVwlcxRAmlbWzrQ+216/abMm5vRAqbyJubLjK/vVFm/22Izc9gKu 34cK/0nmDXtjH3aqUFM1VwBnc8/27F0h8yqZqdf2hLcYAqgaUJQb4tb2g767AVKIBO pMCtecl73oh6Igk4IaGYBXlLgoNnXYkf8Sglykvf0fX1vaGPu1gmXRDPBPDQZQi69i 9gWC3yL1KzE8A== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj1-000000013ei-0Xjn; Wed, 20 Aug 2025 20:00:15 -0400 Message-ID: <20250821000014.982314449@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:05 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , Ye Weihua Subject: [for-linus][PATCH 5/6] trace/fgraph: Fix the warning caused by missing unregister notifier References: <20250821000000.210778097@kernel.org> 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" From: Ye Weihua This warning was triggered during testing on v6.16: notifier callback ftrace_suspend_notifier_call already registered WARNING: CPU: 2 PID: 86 at kernel/notifier.c:23 notifier_chain_register+0x4= 4/0xb0 ... Call Trace: blocking_notifier_chain_register+0x34/0x60 register_ftrace_graph+0x330/0x410 ftrace_profile_write+0x1e9/0x340 vfs_write+0xf8/0x420 ? filp_flush+0x8a/0xa0 ? filp_close+0x1f/0x30 ? do_dup2+0xaf/0x160 ksys_write+0x65/0xe0 do_syscall_64+0xa4/0x260 entry_SYSCALL_64_after_hwframe+0x77/0x7f When writing to the function_profile_enabled interface, the notifier was not unregistered after start_graph_tracing failed, causing a warning the next time function_profile_enabled was written. Fixed by adding unregister_pm_notifier in the exception path. Link: https://lore.kernel.org/20250818073332.3890629-1-yeweihua4@huawei.com Fixes: 4a2b8dda3f870 ("tracing/function-graph-tracer: fix a regression whil= e suspend to disk") Acked-by: Masami Hiramatsu (Google) Signed-off-by: Ye Weihua Signed-off-by: Steven Rostedt (Google) --- kernel/trace/fgraph.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/trace/fgraph.c b/kernel/trace/fgraph.c index f4d200f0c610..2a42c1036ea8 100644 --- a/kernel/trace/fgraph.c +++ b/kernel/trace/fgraph.c @@ -1397,6 +1397,7 @@ int register_ftrace_graph(struct fgraph_ops *gops) ftrace_graph_active--; gops->saved_func =3D NULL; fgraph_lru_release_index(i); + unregister_pm_notifier(&ftrace_suspend_notifier); } return ret; } --=20 2.50.1 From nobody Sat Oct 4 03:15:55 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 6A9C51DB92A; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734412; cv=none; b=OGw0ZwnywlpIFAkFSNgPhb3AHZpkm2mGvmZnLVZp+DPGXNfpeZ3If3zwJDIisho8Cu2Hv76FaxxDBDBBzE7pBBazWzvA28R8Nf3CAfCtiQGQ7paTEkVVuOupkq+MmCb58fAuV8h37722GRr1jma6EnJf0K9Bd5aK++G7bCzvyd8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1755734412; c=relaxed/simple; bh=xzcqqAu060KrqgK9BKBA5RSwOAj5TM90H9Kt0e+bDu8=; h=Message-ID:Date:From:To:Cc:Subject:References:MIME-Version: Content-Type; b=oqePQCtuf+dxAzFjavFQ/hwoEhjm1bldwzOQCAwjbjj9j1/1/5oBI4w7HY+/DnvHN2qSxJ/L6fAsZmk2t4oijH6YdSugmm9C64wKxP29/4Q81PP4McE/XQXOCNMsmqcBTQz6FAlGRpG2dyM0h67a6QkTkWnYfR8TG6QvWR5Frbw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UU9wKg1G; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UU9wKg1G" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BFEBBC4CEEB; Thu, 21 Aug 2025 00:00:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1755734411; bh=xzcqqAu060KrqgK9BKBA5RSwOAj5TM90H9Kt0e+bDu8=; h=Date:From:To:Cc:Subject:References:From; b=UU9wKg1GLhh11fp31QsTU9iDHo5sE2jtSfGyU170FSFp/Ywd2Y0Awja3KYNzV8TjG kqIKN5FLuY+ZZS5j584+o9RxzIqJbSMPxgvKGWd9qCeqeSEb51R4e9Rr6bSX6J2ZhP 3XCVp8rnltNYnlkp0QSrPpv3XkIeMesCRU8SrO9cWSVfVtyjC+WL7OCMG/OvbaVR0k nvL+C8seq3MAXsewEXj/dNXvHd2XilUOktXWYETbuYbU6770/g6C15UjXFTC3odogH M8jU39zg2CbKS9bXWJ28p6oW6WORruAgxutNjv1TU64kf2A5oBmMZHCb/2UOM72vMd DXw1rmbUP6Etg== Received: from rostedt by gandalf with local (Exim 4.98.2) (envelope-from ) id 1uosj1-000000013fC-1Ftl; Wed, 20 Aug 2025 20:00:15 -0400 Message-ID: <20250821000015.149907671@kernel.org> User-Agent: quilt/0.68 Date: Wed, 20 Aug 2025 20:00:06 -0400 From: Steven Rostedt To: linux-kernel@vger.kernel.org Cc: Masami Hiramatsu , Mark Rutland , Mathieu Desnoyers , Andrew Morton , stable@vger.kernel.org, Tengda Wu Subject: [for-linus][PATCH 6/6] ftrace: Also allocate and copy hash for reading of filter files References: <20250821000000.210778097@kernel.org> 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" From: Steven Rostedt Currently the reader of set_ftrace_filter and set_ftrace_notrace just adds the pointer to the global tracer hash to its iterator. Unlike the writer that allocates a copy of the hash, the reader keeps the pointer to the filter hashes. This is problematic because this pointer is static across function calls that release the locks that can update the global tracer hashes. This can cause UAF and similar bugs. Allocate and copy the hash for reading the filter files like it is done for the writers. This not only fixes UAF bugs, but also makes the code a bit simpler as it doesn't have to differentiate when to free the iterator's hash between writers and readers. Cc: stable@vger.kernel.org Cc: Masami Hiramatsu Cc: Mathieu Desnoyers Link: https://lore.kernel.org/20250820091913.146b77ea@gandalf.local.home Fixes: c20489dad156 ("ftrace: Assign iter->hash to filter or notrace hashes= on seq read") Closes: https://lore.kernel.org/all/20250813023044.2121943-1-wutengda@huawe= icloud.com/ Reported-by: Tengda Wu Tested-by: Tengda Wu Signed-off-by: Steven Rostedt (Google) --- kernel/trace/ftrace.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c index 00b76d450a89..f992a5eb878e 100644 --- a/kernel/trace/ftrace.c +++ b/kernel/trace/ftrace.c @@ -4661,13 +4661,14 @@ ftrace_regex_open(struct ftrace_ops *ops, int flag, } else { iter->hash =3D alloc_and_copy_ftrace_hash(size_bits, hash); } + } else { + iter->hash =3D alloc_and_copy_ftrace_hash(hash->size_bits, hash); + } =20 - if (!iter->hash) { - trace_parser_put(&iter->parser); - goto out_unlock; - } - } else - iter->hash =3D hash; + if (!iter->hash) { + trace_parser_put(&iter->parser); + goto out_unlock; + } =20 ret =3D 0; =20 @@ -6543,9 +6544,6 @@ int ftrace_regex_release(struct inode *inode, struct = file *file) ftrace_hash_move_and_update_ops(iter->ops, orig_hash, iter->hash, filter_hash); mutex_unlock(&ftrace_lock); - } else { - /* For read only, the hash is the ops hash */ - iter->hash =3D NULL; } =20 mutex_unlock(&iter->ops->func_hash->regex_lock); --=20 2.50.1