From patchwork Wed Feb 26 06:18:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991545 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 D9B6616DEB1; Wed, 26 Feb 2025 06:18:49 +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=1740550730; cv=none; b=bowyyKRuldU7mEw8qTtR3dOg8m95AE+Pm02i5xgWEJzjYDYuf25+Wva2zBpJK3J2OaxOtv0ePx6GRDiZPVMR4pG21cBxBSNDBVC/eI5A4UeczMmJhvk1CLuVOcOtwQ0m3rQAugZ1/c3OGzFSsVsosZ79h5OrovLal3EsQx9PlDU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550730; c=relaxed/simple; bh=+bFB+UIXTzShMgtc9dzzTezRum4ZGFk351/mwu8Mh0I=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=EB02nCtyOI1N3vDmXJQMRJ+6Lbnb1VFAxb+4sjXyZiwWSUQI3m558SFwZ1WcSD0BDyK2t3HKIYTBjadWi2pa/52bXCxyV9yABl7cHJduOrHeOogtRh3fDVY19bcBhH/b2upgp/ix7fVMXvy6yQmdpbRjulZLL5eBzLjvAcAO7QA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=F6bA4kPb; 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="F6bA4kPb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 42FDEC4CED6; Wed, 26 Feb 2025 06:18:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550729; bh=+bFB+UIXTzShMgtc9dzzTezRum4ZGFk351/mwu8Mh0I=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=F6bA4kPbQSHFPdwwfPe9oiGcgJW9ldf26wrGzFXYaBpWYCTRu0yjVe9/s9PuJoDxc pSukI92q5INSKqXbybhANoBdOnsgA3poZjfmjfvi1CatCDkOZ6RcjFnCtFbq+aSD3s 2eugAHFeHi7ojcAYRRP7jbqIWOhANc4p9Cxsy9CERE0BrsBNoJ872VfuDWHuxEQyG+ xDOiA9aAeDAdmEDugyuCP19TCvxeq7+1oJHEmJOeNFIWHpR3/n2zv2aX8ENFGWMw/Y XmAPBIXAhCVXBM2O6vHrhdbYx158LKxcaTJvKnjUD17GPizs1VY/6pII7c0Jjaad0G P13HM/jQ2QMnA== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 1/8] tracing: tprobe-events: Fix a memory leak when tprobe with $retval Date: Wed, 26 Feb 2025 15:18:46 +0900 Message-ID: <174055072650.4079315.3063014346697447838.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Fix a memory leak when a tprobe is defined with $retval. This combination is not allowed, but the parse_symbol_and_return() does not free the *symbol which should not be used if it returns the error. Thus, it leaks the *symbol memory in that error path. Fixes: ce51e6153f77 ("tracing: fprobe-event: Fix to check tracepoint event and return") Signed-off-by: Masami Hiramatsu (Google) Cc: stable@vger.kernel.org --- kernel/trace/trace_fprobe.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c index b8f3c4ba309b..8826f44f69a4 100644 --- a/kernel/trace/trace_fprobe.c +++ b/kernel/trace/trace_fprobe.c @@ -1056,6 +1056,8 @@ static int parse_symbol_and_return(int argc, const char *argv[], if (is_tracepoint) { trace_probe_log_set_index(i); trace_probe_log_err(tmp - argv[i], RETVAL_ON_PROBE); + kfree(*symbol); + *symbol = NULL; return -EINVAL; } *is_return = true; From patchwork Wed Feb 26 06:18:54 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991546 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 E45BE267AFA; Wed, 26 Feb 2025 06:18:57 +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=1740550738; cv=none; b=HThjXm6QMooO91yZ11MGBn5i35ojzwxvEFghW0Ew/ksc2c0LBPh4yoLABTCg6jJjlpQ5eetfNsb0R2uHyypbwxEzckDsHKFdmKFoW0oLPJbS98gkEStWqbVb2tAbNBaa8wVKETgeNRJRku/oSoxlXOoM6GiBXOMdjdkAxOgp66o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550738; c=relaxed/simple; bh=3A/uAbVPL2SDGbn5Bzb+/MWog9HnommDHmQhGEpBL90=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=B2qO4qt1IYMOiDXdGets+wMlxud3R80ILpeJUJPzHGuELajEeUcMdl+nfMAQ10ZQpfq1MUi4NMjInKUxvdcBLqqpRu6GhKZERtnagWh2RBdsWkJzDiIgIotKCIS/XXAVIRJ5Phq+MUw0VUOU/kPOH2JeELYICj00Lb/ggKJlgQg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=BLNMeZQE; 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="BLNMeZQE" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 5B14CC4CEE2; Wed, 26 Feb 2025 06:18:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550737; bh=3A/uAbVPL2SDGbn5Bzb+/MWog9HnommDHmQhGEpBL90=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=BLNMeZQEmjWeGIqJycHNaBGppBV7lbjGeKJBL7GA+cagWvGSF/BMjCsdpCDGTDIMA 3ZR07xV5tgCj/IK5WDf7pllRtL0mgf8147oSYuNKs88F32B9x2lK7MYTdQQK81Fc4s RP5S8MaAS/gzvIVZ4HVIVxyvKt+wrRilhvppRPcm7TLDM/lsErkXgG3WxEKSxNntjL ZZFgPubWJezlqOoEtZhlmHF00dCNFT6WfbxEuc4JBEhaR7hQVd/1dndsI3M5adZOHv q8517qwAVuMcyIGsrxHdt7Wo00rDCFxGJjJwFNShT2V+BOCVt469AdrzUO9sikzgDF Mr9364851UC5w== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 2/8] tracing: tprobe-events: Reject invalid tracepoint name Date: Wed, 26 Feb 2025 15:18:54 +0900 Message-ID: <174055073461.4079315.15875502830565214255.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Commit 57a7e6de9e30 ("tracing/fprobe: Support raw tracepoints on future loaded modules") allows user to set a tprobe on non-exist tracepoint but it does not check the tracepoint name is acceptable. So it leads tprobe has a wrong character for events (e.g. with subsystem prefix). In this case, the event is not shown in the events directory. Reject such invalid tracepoint name. The tracepoint name must consist of alphabet or digit or '_'. Fixes: 57a7e6de9e30 ("tracing/fprobe: Support raw tracepoints on future loaded modules") Signed-off-by: Masami Hiramatsu (Google) Cc: stable@vger.kernel.org --- kernel/trace/trace_fprobe.c | 13 +++++++++++++ kernel/trace/trace_probe.h | 1 + 2 files changed, 14 insertions(+) diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c index 8826f44f69a4..85f037dc1462 100644 --- a/kernel/trace/trace_fprobe.c +++ b/kernel/trace/trace_fprobe.c @@ -1049,6 +1049,19 @@ static int parse_symbol_and_return(int argc, const char *argv[], if (*is_return) return 0; + if (is_tracepoint) { + tmp = *symbol; + while (*tmp && (isalnum(*tmp) || *tmp == '_')) + tmp++; + if (*tmp) { + /* find a wrong character. */ + trace_probe_log_err(tmp - *symbol, BAD_TP_NAME); + kfree(*symbol); + *symbol = NULL; + return -EINVAL; + } + } + /* If there is $retval, this should be a return fprobe. */ for (i = 2; i < argc; i++) { tmp = strstr(argv[i], "$retval"); diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h index 5803e6a41570..fba3ede87054 100644 --- a/kernel/trace/trace_probe.h +++ b/kernel/trace/trace_probe.h @@ -481,6 +481,7 @@ extern int traceprobe_define_arg_fields(struct trace_event_call *event_call, C(NON_UNIQ_SYMBOL, "The symbol is not unique"), \ C(BAD_RETPROBE, "Retprobe address must be an function entry"), \ C(NO_TRACEPOINT, "Tracepoint is not found"), \ + C(BAD_TP_NAME, "Invalid character in tracepoint name"),\ C(BAD_ADDR_SUFFIX, "Invalid probed address suffix"), \ C(NO_GROUP_NAME, "Group name is not specified"), \ C(GROUP_TOO_LONG, "Group name is too long"), \ From patchwork Wed Feb 26 06:19:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991547 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 0C45C2686AA; Wed, 26 Feb 2025 06:19:05 +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=1740550746; cv=none; b=io+gTrtkbgIhtd+V+mo1joHIyYmRJUNlgJ24O3JcaMTxlm5krC2nnNV9QUC0+ucL8+fJZ9B32pDXby089zsuc2SZ27V/UCzwmP0NmXMqx3HLbUlZaKVb0ulyIvDge2IntZN82YLzF4to9wU+u5aKqBxU+0ENOpcZq2+FTi8cYw0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550746; c=relaxed/simple; bh=Mick79tYMJKn2WZb30ArjcexzndxTXd6buHYPReNwpA=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=QSEaC04AG8SvY+PpIlnDUVAXH42Ndeh815V6teZ+SoaS34UhxKVIY1R7+PvDB6jM8XZ7ZK8FSnAyJFZVe4TNYCOyzV6pCgAefgsmS6NsR5ZWOGHHyTHJ2KdaNgbrHu5QCuZU8yi1bITcq+LVqN7jw4LjZFjrbzh0ERLwqwywSyQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=gruQOPyX; 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="gruQOPyX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 6CFD8C4CEE9; Wed, 26 Feb 2025 06:19:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550745; bh=Mick79tYMJKn2WZb30ArjcexzndxTXd6buHYPReNwpA=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=gruQOPyXb22FsgPGyKVmUkm4Sk5xU3HvgrGCXuOi7v5l5cXDtRir4HyorFZgorN3/ S+H4Ob9zqziNFWCIdvOb8X7wKbmVytGHuZyYFpsC+GB68zLXF8VkInlr9jIPMAuK/X Kqfyl8PZvhJu6ir6J2LkW2o+MNRxaAdZxvbPlwEIfKYjF0QAVFVJD7feWwa4ZKCs1I Rg4lp/g/rhS9CrKcy9RfThuA5NpxDv1JHNzE58RE/Xt49AqHoyKqQoGdYxLJ41PU1l Ir+4Ofjt2KIL62QYbqKqKiCMX4TN2wjO6ArBs28dL71iba4C1Qk0LiqgyXzZza02yo vQAFcnLS+r3UQ== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 3/8] tracing: fprobe-events: Log error for exceeding the number of entry args Date: Wed, 26 Feb 2025 15:19:02 +0900 Message-ID: <174055074269.4079315.17809232650360988538.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Add error message when the number of entry argument exceeds the maximum size of entry data. This is currently checked when registering fprobe, but in this case no error message is shown in the error_log file. Fixes: 25f00e40ce79 ("tracing/probes: Support $argN in return probe (kprobe and fprobe)") Signed-off-by: Masami Hiramatsu (Google) --- kernel/trace/trace_fprobe.c | 5 +++++ kernel/trace/trace_probe.h | 3 ++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c index 85f037dc1462..e27305d31fc5 100644 --- a/kernel/trace/trace_fprobe.c +++ b/kernel/trace/trace_fprobe.c @@ -1230,6 +1230,11 @@ static int trace_fprobe_create_internal(int argc, const char *argv[], if (is_return && tf->tp.entry_arg) { tf->fp.entry_handler = trace_fprobe_entry_handler; tf->fp.entry_data_size = traceprobe_get_entry_data_size(&tf->tp); + if (ALIGN(tf->fp.entry_data_size, sizeof(long)) > MAX_FPROBE_DATA_SIZE) { + trace_probe_log_set_index(2); + trace_probe_log_err(0, TOO_MANY_EARGS); + return -E2BIG; + } } ret = traceprobe_set_print_fmt(&tf->tp, diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h index fba3ede87054..c47ca002347a 100644 --- a/kernel/trace/trace_probe.h +++ b/kernel/trace/trace_probe.h @@ -545,7 +545,8 @@ extern int traceprobe_define_arg_fields(struct trace_event_call *event_call, C(NO_BTF_FIELD, "This field is not found."), \ C(BAD_BTF_TID, "Failed to get BTF type info."),\ C(BAD_TYPE4STR, "This type does not fit for string."),\ - C(NEED_STRING_TYPE, "$comm and immediate-string only accepts string type"), + C(NEED_STRING_TYPE, "$comm and immediate-string only accepts string type"),\ + C(TOO_MANY_EARGS, "Too many entry arguments specified"), #undef C #define C(a, b) TP_ERR_##a From patchwork Wed Feb 26 06:19:10 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991548 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 99417266F07; Wed, 26 Feb 2025 06:19:13 +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=1740550753; cv=none; b=G56dLtjA4B0L/QMF66aKrWA6UWB52bUfmo/2n5vEzIDngi9zNsQOplsJc3MNC8sfqMc8wGJZRrKvzxovixUpZQaMyErwtvFS7iHNQNhJsJznsmubaHZ/ByeY8QexLeeLvwYBbTnK33ceJWnc4JFG76PC590BlJCT9/Ub6d1ljss= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550753; c=relaxed/simple; bh=yIj1pQj0C3AN7gwtkMH3z56V1irEizXLsEKGmF8Vx60=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ExCEoh1+/hXkvWU7MkYqq3LnRji+vCk1JJWNTvpe+cgxK3O6zZtuudGcEiHyneetV4uCJPF1Gg/hZGP9NpgFStBeaay3i8vRFZZNJeLPmyM4kI52vHGD+agZjmOxin1yJplV2/QvRnlNLGJewsaISIRLDsKrD1ru9Uy09n94NpA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=NOMm0TxG; 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="NOMm0TxG" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 739D6C4CED6; Wed, 26 Feb 2025 06:19:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550753; bh=yIj1pQj0C3AN7gwtkMH3z56V1irEizXLsEKGmF8Vx60=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NOMm0TxGnl1PdY8iEYhNAvpsm0KO60mG+sQYqMKeFRT9NfJvCLU6ElhjBNiaw+Sv5 P5XlcZHAN4DDnLr1eY1npddfQ+aVqGXcSSSay0Jf6uLwtJ4CoTujVQkfZPhmFUOmbV i6WC7p1dVzhln4DeJpOFfG7fdZyz6j86wPlAd8zRcZ1FD/GngRMh5z95LA+miNIEKi T9o92Ul1xstabFgausqlfSWtGEujrq8GGa+jeFifwpLtSplsSn5DKmNBCFkyA4idPC lZKwztFjzqf90HkxfGKMQ5bByJW8NHSf2Hrq2NijiTiS1r6kUaD2BVM7UW8adKHQsG rKf7lu7f0iThw== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 4/8] tracing: probe-events: Log errro for exceeding the number of arguments Date: Wed, 26 Feb 2025 15:19:10 +0900 Message-ID: <174055075075.4079315.10916648136898316476.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Add error message when the number of arguments exceeeds the limitation. Signed-off-by: Masami Hiramatsu (Google) --- kernel/trace/trace_eprobe.c | 2 ++ kernel/trace/trace_fprobe.c | 5 ++++- kernel/trace/trace_kprobe.c | 5 ++++- kernel/trace/trace_probe.h | 1 + kernel/trace/trace_uprobe.c | 9 +++++++-- 5 files changed, 18 insertions(+), 4 deletions(-) diff --git a/kernel/trace/trace_eprobe.c b/kernel/trace/trace_eprobe.c index 82fd637cfc19..af9fa0632b57 100644 --- a/kernel/trace/trace_eprobe.c +++ b/kernel/trace/trace_eprobe.c @@ -913,6 +913,8 @@ static int __trace_eprobe_create(int argc, const char *argv[]) } if (argc - 2 > MAX_TRACE_ARGS) { + trace_probe_log_set_index(2); + trace_probe_log_err(0, TOO_MANY_ARGS); ret = -E2BIG; goto error; } diff --git a/kernel/trace/trace_fprobe.c b/kernel/trace/trace_fprobe.c index e27305d31fc5..372936163c21 100644 --- a/kernel/trace/trace_fprobe.c +++ b/kernel/trace/trace_fprobe.c @@ -1201,8 +1201,11 @@ static int trace_fprobe_create_internal(int argc, const char *argv[], argc = new_argc; argv = new_argv; } - if (argc > MAX_TRACE_ARGS) + if (argc > MAX_TRACE_ARGS) { + trace_probe_log_set_index(2); + trace_probe_log_err(0, TOO_MANY_ARGS); return -E2BIG; + } ret = traceprobe_expand_dentry_args(argc, argv, &dbuf); if (ret) diff --git a/kernel/trace/trace_kprobe.c b/kernel/trace/trace_kprobe.c index d8d5f18a141a..8287b175667f 100644 --- a/kernel/trace/trace_kprobe.c +++ b/kernel/trace/trace_kprobe.c @@ -1007,8 +1007,11 @@ static int trace_kprobe_create_internal(int argc, const char *argv[], argc = new_argc; argv = new_argv; } - if (argc > MAX_TRACE_ARGS) + if (argc > MAX_TRACE_ARGS) { + trace_probe_log_set_index(2); + trace_probe_log_err(0, TOO_MANY_ARGS); return -E2BIG; + } ret = traceprobe_expand_dentry_args(argc, argv, &dbuf); if (ret) diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h index c47ca002347a..6075afc8ea67 100644 --- a/kernel/trace/trace_probe.h +++ b/kernel/trace/trace_probe.h @@ -546,6 +546,7 @@ extern int traceprobe_define_arg_fields(struct trace_event_call *event_call, C(BAD_BTF_TID, "Failed to get BTF type info."),\ C(BAD_TYPE4STR, "This type does not fit for string."),\ C(NEED_STRING_TYPE, "$comm and immediate-string only accepts string type"),\ + C(TOO_MANY_ARGS, "Too many arguments are specified"), \ C(TOO_MANY_EARGS, "Too many entry arguments specified"), #undef C diff --git a/kernel/trace/trace_uprobe.c b/kernel/trace/trace_uprobe.c index ccc762fbb69c..3386439ec9f6 100644 --- a/kernel/trace/trace_uprobe.c +++ b/kernel/trace/trace_uprobe.c @@ -562,8 +562,14 @@ static int __trace_uprobe_create(int argc, const char **argv) if (argc < 2) return -ECANCELED; - if (argc - 2 > MAX_TRACE_ARGS) + + trace_probe_log_init("trace_uprobe", argc, argv); + + if (argc - 2 > MAX_TRACE_ARGS) { + trace_probe_log_set_index(2); + trace_probe_log_err(0, TOO_MANY_ARGS); return -E2BIG; + } if (argv[0][1] == ':') event = &argv[0][2]; @@ -582,7 +588,6 @@ static int __trace_uprobe_create(int argc, const char **argv) return -ECANCELED; } - trace_probe_log_init("trace_uprobe", argc, argv); trace_probe_log_set_index(1); /* filename is the 2nd argument */ *arg++ = '\0'; From patchwork Wed Feb 26 06:19:18 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991549 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 A6C7C266F07; Wed, 26 Feb 2025 06:19:21 +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=1740550761; cv=none; b=BWUy1HEje6aDqlKxsoh08oJA1OiGNU+qoMiYY3M8VBHEuj6wnvqdbM6YtZ0kKd00MR4ZQQhm0cftj8gDFSmw/6/m2l3yoy2f1D4xqd6aFlTJ8fSIJ7pxQbAZ+ly2LWFSptOKwgvOXyMg1HMpbdwJOsr/o4aBaqAflluYdlhjUUs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550761; c=relaxed/simple; bh=A3IrqD3/pDT6M/w+w7YSAeLSdPShreoTsKFR3QXVzBI=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=RkQP1dSnpzoxLR273UkYrpE6icZDe35hDdcjNMZdUhJTAKdYW8j96LwvgtKlHedDTeGtazBeEg8V0vOEb1i2jTXng3wkgKksHmErWhozm000YhcW5F6JbCr4nOgajPvpLlE4OGhrBv1Ut0traA39l07Xse0r6b3f/Xdtp1gNl4Y= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ERR1doFU; 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="ERR1doFU" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 74C07C4CED6; Wed, 26 Feb 2025 06:19:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550761; bh=A3IrqD3/pDT6M/w+w7YSAeLSdPShreoTsKFR3QXVzBI=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ERR1doFUFIJE93Hx//c9t6RYC5uo+pxk/l2U4ZvsSaErsVJoUGbQmRCmg1Y2UX1Fl 8+c7f8mT0RzYXtZbDATl7uQw4kdk8hIGRuvtu6ch+qyLyPGlZs5TVUqZTZsUMGbSrs UTFtLCXAgcJXgzQEabXim3q9kyKYl6xoNGMm+CXoZbL+Tar6HdYvdjh0mx9VxJ1ZpS tKRR+MrEtx11vSSoGgIVC/TcN4txD5cqtSRPVrRPfqfT0xjA/zWXB+ab3MMOPei4Zc diwCsk2Lm4vsLrY2JNPZ/HSLUoTT/Ebrh5mFmSs4p0g2PxYwGtMesLZvwsrOzrVj1a m+CA4ZzeKo6lw== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 5/8] tracing: probe-events: Remove unused MAX_ARG_BUF_LEN macro Date: Wed, 26 Feb 2025 15:19:18 +0900 Message-ID: <174055075876.4079315.8805416872155957588.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Commit 18b1e870a496 ("tracing/probes: Add $arg* meta argument for all function args") introduced MAX_ARG_BUF_LEN but it is not used. Remove it. Fixes: 18b1e870a496 ("tracing/probes: Add $arg* meta argument for all function args") Signed-off-by: Masami Hiramatsu (Google) --- kernel/trace/trace_probe.h | 1 - 1 file changed, 1 deletion(-) diff --git a/kernel/trace/trace_probe.h b/kernel/trace/trace_probe.h index 6075afc8ea67..854e5668f5ee 100644 --- a/kernel/trace/trace_probe.h +++ b/kernel/trace/trace_probe.h @@ -36,7 +36,6 @@ #define MAX_BTF_ARGS_LEN 128 #define MAX_DENTRY_ARGS_LEN 256 #define MAX_STRING_SIZE PATH_MAX -#define MAX_ARG_BUF_LEN (MAX_TRACE_ARGS * MAX_ARG_NAME_LEN) /* Reserved field names */ #define FIELD_STRING_IP "__probe_ip" From patchwork Wed Feb 26 06:19:27 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991550 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 B54C1267AFA; Wed, 26 Feb 2025 06:19:29 +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=1740550769; cv=none; b=AG9x22qyxsnseAAYPQF889d50UO7NWTCUOOMZxJsMGvvMT/fzIJRkybFctIF8fb6APRaB/qbbL9azmyhWtMaS8Q8ZmdoIf6l06piP104xmoIm+xdz/2bZqQfVD6j/G8ukpatghrKWtX5NMQ/qAYdowhl2e7LjuzPGgoYyFNlll0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550769; c=relaxed/simple; bh=1Ffr/p7PmfPrfKjUIW3MrhT7Kx5dqB1g0DewxTnlqlo=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=m7yPS7ejdAz3Avye4xTPVv/va1BHjw5i6xaEQSMIW1Ag0/MIDp6E61r9daBm1gdCuoMiM4HysYpuCn5CY29zuWRu9F+O8Uhh4xuLX5NWftlpvK+TbPzgPXF66bkMg8e3HSxxT9JzTfrT1Qp6eF0ky9NrF3wBxTmFDMGvk207OXU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Q1ObwY1r; 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="Q1ObwY1r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 867DDC4CED6; Wed, 26 Feb 2025 06:19:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550769; bh=1Ffr/p7PmfPrfKjUIW3MrhT7Kx5dqB1g0DewxTnlqlo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Q1ObwY1rKJE/plerVVpkb3ghF1HQ33LGi/Q5L5tsIRoEZ/sf6GuGEO8OG9Rk2F/6Y x2IICWIg7blK6hLueyOH509P3ZXv84muSbYKaG8N0cuhNHmtqBbhpNuG1UCMsXYZFA zcStTAImaz5cwAYOERllTOH3Sns9XSKAG5NNN7yr34HwMNmpsEZlxtKwAaxwuNJKfE JqJAmvMAC9/MWt1bRhBiipwT+nEWQaVs31PW+d3HLPcYm3DxYq2taWOQQRzfOaHb1+ Iu4FzZ5QUJ5NhAC4gcSd/j0MrH9H4Sk4Bajl00Vbaq+bpP4C5KgJ+atpLlwMWsWnFY TH8eubKv952CA== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 6/8] selftests/ftrace: Expand the tprobe event test to check wrong format Date: Wed, 26 Feb 2025 15:19:27 +0900 Message-ID: <174055076681.4079315.16941322116874021804.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Expand the tprobe event test case to check wrong tracepoint format. Signed-off-by: Masami Hiramatsu (Google) --- .../ftrace/test.d/dynevent/add_remove_tprobe.tc | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_tprobe.tc b/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_tprobe.tc index 155792eaeee5..f271c4238b72 100644 --- a/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_tprobe.tc +++ b/tools/testing/selftests/ftrace/test.d/dynevent/add_remove_tprobe.tc @@ -6,6 +6,7 @@ echo 0 > events/enable echo > dynamic_events +SUBSYSTEM=kmem TRACEPOINT1=kmem_cache_alloc TRACEPOINT2=kmem_cache_free @@ -24,4 +25,17 @@ grep -q myevent1 dynamic_events echo > dynamic_events +# auto naming check +echo "t $TRACEPOINT1" >> dynamic_events + +test -d events/tracepoints/$TRACEPOINT1 + +echo > dynamic_events + +# SUBSYSTEM is not supported +echo "t $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: +echo "t $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: +echo "t:myevent3 $SUBSYSTEM/$TRACEPOINT1" >> dynamic_events && exit_fail ||: +echo "t:myevent3 $SUBSYSTEM:$TRACEPOINT1" >> dynamic_events && exit_fail ||: + clear_trace From patchwork Wed Feb 26 06:19:35 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991551 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 3171C25D537; Wed, 26 Feb 2025 06:19:37 +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=1740550778; cv=none; b=aglvSlM1n30nfjL5RcjO+kVcIasjztHF1XELMkK1Hqwo4yZKm84Vklo71FBLt4/UCgFqvbZv7Yur6vIERLMANLefKfp4YbsCXbPURz0+I5hVpsaeQqv4ezmIBou3rSvVffCTar7q1FWcsUya7W+Uza2z+ySAg1wHC1Vs1RUsdyY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550778; c=relaxed/simple; bh=rTIWsvwSXOxRGP7gdPh5Kj5+1kZtjKcGRJoEmjFzL94=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=cb/QA8Krj8H32ucjbVu3J+A6xq05ha3Xh8mZUElOV4TPf81wtZfble2IlBmpv5xKqcS88uZzLr+OZ/ml9EWTd0VwEhpyizLKDJhF4Rg1zxmWv/4i/pxIMIAokHIbYY0dCXIu6bO/u0bsiCfvQlc8LDpU+uQdPCg/+s/YCykDHYw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=u1sxNdH9; 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="u1sxNdH9" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99F2CC4CEE2; Wed, 26 Feb 2025 06:19:36 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550777; bh=rTIWsvwSXOxRGP7gdPh5Kj5+1kZtjKcGRJoEmjFzL94=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=u1sxNdH9K5GH7hn4OGHnIraoyvp5d9iEK5FAL/VQZIZXPwZpUO4ch6TAgzA/s3vEx Z8/IcnmC8URMVb5LLpOcK4yNC/GcKXk8ui/NJS/a8f1/XPboScV/lpk6Hd2JHcVPQ8 7ImrbH6945f7+uw9KbTCUCXei2iSwjk1Lg/7aW5f7q/4Fg3NVW3nYwx7GFIihjzKu3 EkqUFvo7yl6hGZ8IBglY2XfsZf9L6LHfc20BgJ1UNvMviQksmtQMV135Z5ELapLTc4 5tX3nWvM6C4Yv9tu6k/lmEBLSw0A96QwmgIIbCjSzbcOeGCKIkEKbAoEubDjsC+v2o UyJ3cKWdF2+Jw== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 7/8] selftests/ftrace: Add new syntax error test Date: Wed, 26 Feb 2025 15:19:35 +0900 Message-ID: <174055077485.4079315.3624012056141021755.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Add BAD_TP_NAME syntax error message check. Signed-off-by: Masami Hiramatsu (Google) --- .../ftrace/test.d/dynevent/fprobe_syntax_errors.tc | 1 + 1 file changed, 1 insertion(+) diff --git a/tools/testing/selftests/ftrace/test.d/dynevent/fprobe_syntax_errors.tc b/tools/testing/selftests/ftrace/test.d/dynevent/fprobe_syntax_errors.tc index c9425a34fae3..fee479295e2f 100644 --- a/tools/testing/selftests/ftrace/test.d/dynevent/fprobe_syntax_errors.tc +++ b/tools/testing/selftests/ftrace/test.d/dynevent/fprobe_syntax_errors.tc @@ -27,6 +27,7 @@ check_error 'f:^foo.1/bar vfs_read' # BAD_GROUP_NAME check_error 'f:^ vfs_read' # NO_EVENT_NAME check_error 'f:foo/^12345678901234567890123456789012345678901234567890123456789012345 vfs_read' # EVENT_TOO_LONG check_error 'f:foo/^bar.1 vfs_read' # BAD_EVENT_NAME +check_error 't kmem^/kfree' # BAD_TP_NAME check_error 'f vfs_read ^$stack10000' # BAD_STACK_NUM From patchwork Wed Feb 26 06:19:43 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Masami Hiramatsu (Google)" X-Patchwork-Id: 13991552 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 24D8A25D537; Wed, 26 Feb 2025 06:19:46 +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=1740550787; cv=none; b=n9T5lQOt9NhS6lONrW2CJwA0KhUuO2SKmYiEg8XqIAbhaUGrRbGtk3BqXXDp/ECE1goO09zQYAaUyRbg8gT9snrFj/9+qn7w2XMAv8HPfVYzq9UQjtFGof1YaOjaDD3TLsQkXIy84E+u/un98mi2wOzg7rbudBV6tiKDFn7KDGo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740550787; c=relaxed/simple; bh=CDnh/F6yJJZro6R0MIKigGgnvX9Ri5GL0GCDeg3C3l8=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version:Content-Type; b=ILD0zelmcq7bSg8dDpfw2bIGeu+eGDLePsacUUljTRnC7dYPFRi5+8EwhvsfiRsrduinxJNgOPchshyJOlC0HPJFjUZ6zHIUl1TLR5CpGcVZetMf9dL3O4YdTEiEsP7H/H9g2fnzd9tXZQlNrbafnaIRqQiGZ5APcIT/LsMggCg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Wfd2uNRO; 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="Wfd2uNRO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8D828C4CEE2; Wed, 26 Feb 2025 06:19:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740550786; bh=CDnh/F6yJJZro6R0MIKigGgnvX9Ri5GL0GCDeg3C3l8=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Wfd2uNROPQwZgTHXi+QlKkAae7QnvEoW1s0Clv3rWUBZvFJW/kUG+YaI4Qwd50rl0 9zZvTyEIh3mImIeqGTbfhyE4NfIPh8SJWO84W/Ki9ToargIrI1IeBF+F1QWKyw5tMR xcSikvVaV2blHkItD9JNF+zBTfYNtAh/cdeqi6XsUZahm2TKqoVi5rIaLp4xLaU5zC QhpGptj++qMBQfbqJy5+5pJ+cwCatN8o315HVstCxIdpzjm8Y2hwIeXlVl3KBgui3C VkghvqTzO/8uokKTP50+9Rs5ah1nejHhfFFQqSclhxFEZtsSkjNOQmRGvVOzzQkgi0 eKzWcVnz39DtQ== From: "Masami Hiramatsu (Google)" To: Steven Rostedt , Shuah Khan Cc: Masami Hiramatsu , Mathieu Desnoyers , Hari Bathini , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org, linux-kselftest@vger.kernel.org Subject: [PATCH 8/8] selftests/ftrace: Add dynamic events argument limitation test case Date: Wed, 26 Feb 2025 15:19:43 +0900 Message-ID: <174055078295.4079315.14702008939511417359.stgit@mhiramat.tok.corp.google.com> X-Mailer: git-send-email 2.48.1.658.g4767266eb4-goog In-Reply-To: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> References: <174055071644.4079315.12468865615828925878.stgit@mhiramat.tok.corp.google.com> User-Agent: StGit/0.19 Precedence: bulk X-Mailing-List: linux-kselftest@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 From: Masami Hiramatsu (Google) Add argument limitation test case for dynamic events. This is a boudary check for the maximum number of the probe event arguments. Signed-off-by: Masami Hiramatsu (Google) --- .../ftrace/test.d/dynevent/dynevent_limitations.tc | 42 ++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc diff --git a/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc b/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc new file mode 100644 index 000000000000..6b94b678741a --- /dev/null +++ b/tools/testing/selftests/ftrace/test.d/dynevent/dynevent_limitations.tc @@ -0,0 +1,42 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# description: Checking dynamic events limitations +# requires: dynamic_events "imm-value":README + +# Max arguments limitation +MAX_ARGS=128 +EXCEED_ARGS=$((MAX_ARGS + 1)) + +check_max_args() { # event_header + TEST_STRING=$1 + # Acceptable + for i in `seq 1 $MAX_ARGS`; do + TEST_STRING="$TEST_STRING \\$i" + done + echo "$TEST_STRING" >> dynamic_events + echo > dynamic_events + # Error + TEST_STRING="$TEST_STRING \\$EXCEED_ARGS" + ! echo "$TEST_STRING" >> dynamic_events + return 0 +} + +# Kprobe max args limitation +if grep -q "kprobe_events" README; then + check_max_args "p vfs_read" +fi + +# Fprobe max args limitation +if grep -q "f[:[/][]] [%return] []" README; then + check_max_args "f vfs_read" +fi + +# Tprobe max args limitation +if grep -q "t[:[/][]] []" README; then + check_max_args "t kfree" +fi + +# Uprobe max args limitation +if grep -q "uprobe_events" README; then + check_max_args "p /bin/sh:10" +fi