On 6/10/25 5:52 PM, Pedro Falcato wrote:
If uprobes are not enabled, the test currently fails with:

7151 12:46:54.627936  # # #  RUN           merge.handle_uprobe_upon_merged_vma 
...
7152 12:46:54.639014  # # f /sys/bus/event_source/devices/uprobe/type
7153 12:46:54.639306  # # fopen: No such file or directory
7154 12:46:54.650451  # # # merge.c:473:handle_uprobe_upon_merged_vma:Expected
read_sysfs("/sys/bus/event_source/devices/uprobe/type", &type) (1) == 0 (0)
7155 12:46:54.650730  # # # handle_uprobe_upon_merged_vma: Test terminated by 
assertion
7156 12:46:54.661750  # # #          FAIL  merge.handle_uprobe_upon_merged_vma
7157 12:46:54.662030  # # not ok 8 merge.handle_uprobe_upon_merged_vma

Skipping is a more sane and friendly behavior here.

Fixes: efe99fabeb11b ("selftests/mm: add test about uprobe pte be orphan during vma 
merge")
Reported-by: Aishwarya <[email protected]>
Closes: 
https://lore.kernel.org/linux-mm/[email protected]/
Signed-off-by: Pedro Falcato <[email protected]>
---
  tools/testing/selftests/mm/merge.c | 5 ++++-
  1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/tools/testing/selftests/mm/merge.c 
b/tools/testing/selftests/mm/merge.c
index bbae66fc5038..cc26480098ae 100644
--- a/tools/testing/selftests/mm/merge.c
+++ b/tools/testing/selftests/mm/merge.c
@@ -470,7 +470,9 @@ TEST_F(merge, handle_uprobe_upon_merged_vma)
        ASSERT_GE(fd, 0);
ASSERT_EQ(ftruncate(fd, page_size), 0);
-       ASSERT_EQ(read_sysfs("/sys/bus/event_source/devices/uprobe/type", 
&type), 0);
+       if (read_sysfs("/sys/bus/event_source/devices/uprobe/type", &type) != 
0) {
+               SKIP(goto out, "Failed to read uprobe sysfs file, skipping");
+       }


This looks good to me.

#  RUN           merge.handle_uprobe_upon_merged_vma ...
f /sys/bus/event_source/devices/uprobe/type
fopen: No such file or directory
#      SKIP      Failed to read uprobe sysfs file, skipping
#            OK  merge.handle_uprobe_upon_merged_vma
ok 8 merge.handle_uprobe_upon_merged_vma # SKIP Failed to read uprobe sysfs file, skipping
# PASSED: 8 / 8 tests passed.
# 1 skipped test(s) detected. Consider enabling relevant config options to improve coverage.
# Totals: pass:7 fail:0 xfail:0 xpass:0 skip:1 error:0


Tested-by : Donet Tom <[email protected]>
Reviewed-by : Donet Tom <[email protected]>


memset(&attr, 0, attr_sz);
        attr.size = attr_sz;
@@ -491,6 +493,7 @@ TEST_F(merge, handle_uprobe_upon_merged_vma)
        ASSERT_NE(mremap(ptr2, page_size, page_size,
                         MREMAP_MAYMOVE | MREMAP_FIXED, ptr1), MAP_FAILED);
+out:
        close(fd);
        remove(probe_file);
  }

Reply via email to