[v5,2/2] selftests/ftrace: Add new test case which checks non unique symbol
Commit Message
If name_show() is non unique, this test will try to install a kprobe on this
function which should fail returning EADDRNOTAVAIL.
On kernel where name_show() is not unique, this test is skipped.
Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
---
.../ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc | 13 +++++++++++++
1 file changed, 13 insertions(+)
create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc
--
2.34.1
Comments
On Wed, Oct 18, 2023 at 05:40:30PM +0300, Francis Laniel wrote:
> If name_show() is non unique, this test will try to install a kprobe on this
> function which should fail returning EADDRNOTAVAIL.
> On kernel where name_show() is not unique, this test is skipped.
>
> Signed-off-by: Francis Laniel <flaniel@linux.microsoft.com>
> ---
> .../ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
> create mode 100644 tools/testing/selftests/ftrace/test.d/kprobe/kprobe_non_uniq_symbol.tc
<formletter>
This is not the correct way to submit patches for inclusion in the
stable kernel tree. Please read:
https://www.kernel.org/doc/html/latest/process/stable-kernel-rules.html
for how to do this properly.
</formletter>
new file mode 100644
@@ -0,0 +1,13 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+# description: Test failure of registering kprobe on non unique symbol
+# requires: kprobe_events
+
+SYMBOL='name_show'
+
+# We skip this test on kernel where SYMBOL is unique or does not exist.
+if [ "$(grep -c -E "[[:alnum:]]+ t ${SYMBOL}" /proc/kallsyms)" -le '1' ]; then
+ exit_unsupported
+fi
+
+! echo "p:test_non_unique ${SYMBOL}" > kprobe_events