2021-05-28 18:15:39

by Gabriel Krisman Bertazi

[permalink] [raw]
Subject: [PATCH] selftest: Add test for Soft-Dirty PTE bit

This introduces three tests:

1) Sanity check soft dirty basic semantics: allocate area, clean, dirty,
check if the SD bit flipped.

2) Check VMA reuse: validate the VM_SOFTDIRTY usage

3) Check soft-dirty on huge pages

This was motivated by Will Deacon's fix commit 912efa17e512 ("mm: proc:
Invalidate TLB after clearing soft-dirty page state"). I was tracking the
same issue that he fixed, and this test would have caught it.

Cc: Will Deacon <[email protected]>
Signed-off-by: Gabriel Krisman Bertazi <[email protected]>
---
tools/testing/selftests/Makefile | 1 +
tools/testing/selftests/soft-dirty/.gitignore | 1 +
tools/testing/selftests/soft-dirty/Makefile | 9 +
.../testing/selftests/soft-dirty/soft-dirty.c | 254 ++++++++++++++++++
4 files changed, 265 insertions(+)
create mode 100644 tools/testing/selftests/soft-dirty/.gitignore
create mode 100644 tools/testing/selftests/soft-dirty/Makefile
create mode 100644 tools/testing/selftests/soft-dirty/soft-dirty.c

diff --git a/tools/testing/selftests/Makefile b/tools/testing/selftests/Makefile
index bc3299a20338..c8dcd7defd33 100644
--- a/tools/testing/selftests/Makefile
+++ b/tools/testing/selftests/Makefile
@@ -55,6 +55,7 @@ TARGETS += seccomp
TARGETS += sgx
TARGETS += sigaltstack
TARGETS += size
+TARGETS += soft-dirty
TARGETS += sparc64
TARGETS += splice
TARGETS += static_keys
diff --git a/tools/testing/selftests/soft-dirty/.gitignore b/tools/testing/selftests/soft-dirty/.gitignore
new file mode 100644
index 000000000000..cfb0cfda9bdf
--- /dev/null
+++ b/tools/testing/selftests/soft-dirty/.gitignore
@@ -0,0 +1 @@
+soft-dirty
diff --git a/tools/testing/selftests/soft-dirty/Makefile b/tools/testing/selftests/soft-dirty/Makefile
new file mode 100644
index 000000000000..d76ad8e0f10d
--- /dev/null
+++ b/tools/testing/selftests/soft-dirty/Makefile
@@ -0,0 +1,9 @@
+# SPDX-License-Identifier: GPL-2.0
+top_srcdir = ../../../..
+INSTALL_HDR_PATH = $(top_srcdir)/usr
+LINUX_HDR_PATH = $(INSTALL_HDR_PATH)/include/
+
+CFLAGS += -Wall -I$(LINUX_HDR_PATH) -O0 -g3
+
+TEST_GEN_PROGS := soft-dirty
+include ../lib.mk
diff --git a/tools/testing/selftests/soft-dirty/soft-dirty.c b/tools/testing/selftests/soft-dirty/soft-dirty.c
new file mode 100644
index 000000000000..47af76f9df50
--- /dev/null
+++ b/tools/testing/selftests/soft-dirty/soft-dirty.c
@@ -0,0 +1,254 @@
+// SPDX-License-Identifier: GPL-2.0
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <stdint.h>
+#include <unistd.h>
+#include <stdio.h>
+#include <unistd.h>
+#include <syscall.h>
+#include <errno.h>
+#include <stdlib.h>
+#include <sys/mman.h>
+#include <err.h>
+#include <string.h>
+#include <stdbool.h>
+#include <malloc.h>
+
+#define PAGEMAP_PATH "/proc/self/pagemap"
+#define CLEAR_REFS_PATH "/proc/self/clear_refs"
+#define SMAP_PATH "/proc/self/smaps"
+#define MAX_LINE_LENGTH 512
+
+#define TEST_ITERATIONS 10000
+
+#define PMD_SIZE_PATH "/sys/kernel/mm/transparent_hugepage/hpage_pmd_size"
+
+int clear_refs;
+int pagemap;
+
+int pagesize;
+int mmap_size; /* Size of test region */
+
+static void clear_all_refs(void)
+{
+ if (write(clear_refs, "4\n", 2) != 2)
+ printf("%s: failed to clear references\n", __func__);
+}
+
+static void touch_page(char *map, int n)
+{
+ map[(page_size * n) + 1]++;
+}
+
+static int check_page(char *map, uint64_t n, int clear)
+{
+ uint64_t off;
+ uint64_t buf = 0;
+
+ off = (n + ((uint64_t)map >> 12)) << 3;
+
+ if (lseek(pagemap, off, SEEK_SET) == (off_t) -1)
+ errx(EXIT_FAILURE, "pagemap llseek failed");
+
+ if (read(pagemap, &buf, 8) != 8)
+ errx(EXIT_FAILURE, "pagemap read failed");
+
+ if (clear)
+ clear_all_refs();
+
+ return ((buf >> 55) & 1);
+}
+
+static void test_simple(void)
+{
+ int i;
+ char *map;
+
+ printf("- Test %s:\n", __func__);
+
+ map = aligned_alloc(page_size, mmap_size);
+ if (!map)
+ errx(EXIT_FAILURE, "mmap");
+
+ clear_all_refs();
+
+ for (i = 0 ; i < TEST_ITERATIONS; i++) {
+ if (check_page(map, 2, 1) == 1) {
+ errx(EXIT_FAILURE, "dirty bit was 1, but should be 0 (i=%d)", i);
+ break;
+ }
+
+ touch_page(map, 2);
+
+ if (check_page(map, 2, 1) == 0) {
+ errx(EXIT_FAILURE, "dirty bit was 0, but should be 1 (i=%d)", i);
+ break;
+ }
+
+ }
+ free(map);
+
+ printf("success\n");
+}
+
+static void test_vma_reuse(void)
+{
+ char *map, *map2;
+
+ printf("- Test %s:\n", __func__);
+
+ map = (char *) 0x900000000000;
+ map = mmap(map, mmap_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);
+ if (map == MAP_FAILED)
+ errx(EXIT_FAILURE, "mmap");
+
+ clear_all_refs();
+ touch_page(map, 2);
+
+ munmap(map, mmap_size);
+ map2 = mmap(map, mmap_size, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANON, -1, 0);
+ if (map2 == MAP_FAILED)
+ errx(EXIT_FAILURE, "mmap2");
+
+ if (map != map2)
+ errx(EXIT_FAILURE, "map != map2");
+
+ if (check_page(map, 2, 1) == 0)
+ errx(-1, "map/unmap lost dirty");
+
+ munmap(map2, mmap_size);
+
+ printf("success\n");
+}
+
+/*
+ * read_pmd_pagesize(), check_for_pattern() and check_huge() adapted
+ * from 'tools/testing/selftest/vm/split_huge_page_test.c'
+ */
+static uint64_t read_pmd_pagesize(void)
+{
+ int fd;
+ char buf[20];
+ ssize_t num_read;
+
+ fd = open(PMD_SIZE_PATH, O_RDONLY);
+ if (fd == -1)
+ errx(EXIT_FAILURE, "Open hpage_pmd_size failed");
+
+ num_read = read(fd, buf, 19);
+ if (num_read < 1) {
+ close(fd);
+ errx(EXIT_FAILURE, "Read hpage_pmd_size failed");
+ }
+ buf[num_read] = '\0';
+ close(fd);
+
+ return strtoul(buf, NULL, 10);
+}
+
+static bool check_for_pattern(FILE *fp, const char *pattern, char *buf)
+{
+ while (fgets(buf, MAX_LINE_LENGTH, fp) != NULL) {
+ if (!strncmp(buf, pattern, strlen(pattern)))
+ return true;
+ }
+ return false;
+}
+
+static uint64_t check_huge(void *addr)
+{
+ uint64_t thp = 0;
+ int ret;
+ FILE *fp;
+ char buffer[MAX_LINE_LENGTH];
+ char addr_pattern[MAX_LINE_LENGTH];
+
+ ret = snprintf(addr_pattern, MAX_LINE_LENGTH, "%08lx-",
+ (unsigned long) addr);
+ if (ret >= MAX_LINE_LENGTH)
+ errx(EXIT_FAILURE, "%s: Pattern is too long\n", __func__);
+
+ fp = fopen(SMAP_PATH, "r");
+ if (!fp)
+ errx(EXIT_FAILURE, "%s: Failed to open file %s\n", __func__, SMAP_PATH);
+
+ if (!check_for_pattern(fp, addr_pattern, buffer))
+ goto err_out;
+
+ /*
+ * Fetch the AnonHugePages: in the same block and check the number of
+ * hugepages.
+ */
+ if (!check_for_pattern(fp, "AnonHugePages:", buffer))
+ goto err_out;
+
+ if (sscanf(buffer, "AnonHugePages:%10ld kB", &thp) != 1)
+ errx(EXIT_FAILURE, "Reading smap error\n");
+
+err_out:
+ fclose(fp);
+
+ return thp;
+}
+
+static void test_hugepage(void)
+{
+ char *map;
+ int i, ret;
+ size_t hpage_len = read_pmd_pagesize();
+
+ printf("- Test %s:\n", __func__);
+
+ map = memalign(hpage_len, hpage_len);
+ if (!map)
+ errx(EXIT_FAILURE, "memalign");
+
+ ret = madvise(map, hpage_len, MADV_HUGEPAGE);
+ if (ret)
+ errx(EXIT_FAILURE, "madvise %d", ret);
+
+ for (i = 0; i < hpage_len; i++)
+ map[i] = (char)i;
+
+ if (!check_huge(map))
+ errx(EXIT_FAILURE, "failed to allocate THP");
+
+ clear_all_refs();
+ for (i = 0 ; i < TEST_ITERATIONS ; i++) {
+ if (check_page(map, 2, 1) == 1) {
+ errx(EXIT_FAILURE, "dirty bit was 1, but should be 0 (i=%d)", i);
+ break;
+ }
+
+ touch_page(map, 2);
+
+ if (check_page(map, 2, 1) == 0) {
+ errx(EXIT_FAILURE, "dirty bit was 0, but should be 1 (i=%d)", i);
+ break;
+ }
+ }
+ munmap(map, mmap_size);
+
+ printf("success\n");
+}
+
+int main(int argc, char **argv)
+{
+ pagemap = open(PAGEMAP_PATH, O_RDONLY, 0);
+ if (pagemap < 0)
+ errx(EXIT_FAILURE, "Failed to open %s", PAGEMAP_PATH);
+
+ clear_refs = open(CLEAR_REFS_PATH, O_WRONLY, 0);
+ if (clear_refs < 0)
+ errx(EXIT_FAILURE, "Failed to open %s", CLEAR_REFS_PATH);
+
+ pagesize = getpagesize();
+ mmap_size = 10 * pagesize();
+
+ test_simple();
+ test_vma_reuse();
+ test_hugepage();
+
+ return 0;
+}
--
2.31.0


2021-06-03 02:08:15

by kernel test robot

[permalink] [raw]
Subject: [selftest] 51001dc340: kernel-selftests.soft-dirty.make_fail



Greeting,

FYI, we noticed the following commit (built with gcc-9):

commit: 51001dc3401827a612f986357b9bbc69bad17c1d ("[PATCH] selftest: Add test for Soft-Dirty PTE bit")
url: https://github.com/0day-ci/linux/commits/Gabriel-Krisman-Bertazi/selftest-Add-test-for-Soft-Dirty-PTE-bit/20210529-021608
base: https://git.kernel.org/cgit/linux/kernel/git/shuah/linux-kselftest.git next

in testcase: kernel-selftests
version: kernel-selftests-x86_64-0d95472a-1_20210507
with following parameters:

group: group-s
ucode: 0xe2

test-description: The kernel contains a set of "self tests" under the tools/testing/selftests/ directory. These are intended to be small unit tests to exercise individual code paths in the kernel.
test-url: https://www.kernel.org/doc/Documentation/kselftest.txt


on test machine: 4 threads Intel(R) Core(TM) i5-6500 CPU @ 3.20GHz with 32G memory

caused below changes (please refer to attached dmesg/kmsg for entire log/backtrace):




If you fix the issue, kindly add following tag
Reported-by: kernel test robot <[email protected]>

KERNEL SELFTESTS: linux_headers_dir is /usr/src/linux-headers-x86_64-rhel-8.3-kselftests-51001dc3401827a612f986357b9bbc69bad17c1d
2021-05-29 14:16:07 ln -sf /usr/bin/clang
2021-05-29 14:16:07 ln -sf /usr/bin/llc
2021-05-29 14:16:08 sed -i s/default_timeout=45/default_timeout=300/ kselftest/runner.sh
2021-05-29 14:16:08 sed -i s/default_timeout=45/default_timeout=300/ /kselftests/kselftest/runner.sh
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:16:08 /kselftests/run_kselftest.sh -c safesetid
TAP version 13
1..1
# selftests: safesetid: safesetid-test.sh
# mounting securityfs failed
# safesetid-test.sh: done
ok 1 selftests: safesetid: safesetid-test.sh
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:16:08 /kselftests/run_kselftest.sh -c seccomp
TAP version 13
1..2
# selftests: seccomp: seccomp_bpf
# TAP version 13
# 1..87
# # Starting 87 tests from 7 test cases.
# # RUN global.kcmp ...
# # OK global.kcmp
# ok 1 global.kcmp
# # RUN global.mode_strict_support ...
# # OK global.mode_strict_support
# ok 2 global.mode_strict_support
# # RUN global.mode_strict_cannot_call_prctl ...
# # OK global.mode_strict_cannot_call_prctl
# ok 3 global.mode_strict_cannot_call_prctl
# # RUN global.no_new_privs_support ...
# # OK global.no_new_privs_support
# ok 4 global.no_new_privs_support
# # RUN global.mode_filter_support ...
# # OK global.mode_filter_support
# ok 5 global.mode_filter_support
# # RUN global.mode_filter_without_nnp ...
# # OK global.mode_filter_without_nnp
# ok 6 global.mode_filter_without_nnp
# # RUN global.filter_size_limits ...
# # OK global.filter_size_limits
# ok 7 global.filter_size_limits
# # RUN global.filter_chain_limits ...
# # OK global.filter_chain_limits
# ok 8 global.filter_chain_limits
# # RUN global.mode_filter_cannot_move_to_strict ...
# # OK global.mode_filter_cannot_move_to_strict
# ok 9 global.mode_filter_cannot_move_to_strict
# # RUN global.mode_filter_get_seccomp ...
# # OK global.mode_filter_get_seccomp
# ok 10 global.mode_filter_get_seccomp
# # RUN global.ALLOW_all ...
# # OK global.ALLOW_all
# ok 11 global.ALLOW_all
# # RUN global.empty_prog ...
# # OK global.empty_prog
# ok 12 global.empty_prog
# # RUN global.log_all ...
# # OK global.log_all
# ok 13 global.log_all
# # RUN global.unknown_ret_is_kill_inside ...
# # OK global.unknown_ret_is_kill_inside
# ok 14 global.unknown_ret_is_kill_inside
# # RUN global.unknown_ret_is_kill_above_allow ...
# # OK global.unknown_ret_is_kill_above_allow
# ok 15 global.unknown_ret_is_kill_above_allow
# # RUN global.KILL_all ...
# # OK global.KILL_all
# ok 16 global.KILL_all
# # RUN global.KILL_one ...
# # OK global.KILL_one
# ok 17 global.KILL_one
# # RUN global.KILL_one_arg_one ...
# # OK global.KILL_one_arg_one
# ok 18 global.KILL_one_arg_one
# # RUN global.KILL_one_arg_six ...
# # OK global.KILL_one_arg_six
# ok 19 global.KILL_one_arg_six
# # RUN global.KILL_thread ...
# # OK global.KILL_thread
# ok 20 global.KILL_thread
# # RUN global.KILL_process ...
# # OK global.KILL_process
# ok 21 global.KILL_process
# # RUN global.KILL_unknown ...
# # OK global.KILL_unknown
# ok 22 global.KILL_unknown
# # RUN global.arg_out_of_range ...
# # OK global.arg_out_of_range
# ok 23 global.arg_out_of_range
# # RUN global.ERRNO_valid ...
# # OK global.ERRNO_valid
# ok 24 global.ERRNO_valid
# # RUN global.ERRNO_zero ...
# # OK global.ERRNO_zero
# ok 25 global.ERRNO_zero
# # RUN global.ERRNO_capped ...
# # OK global.ERRNO_capped
# ok 26 global.ERRNO_capped
# # RUN global.ERRNO_order ...
# # OK global.ERRNO_order
# ok 27 global.ERRNO_order
# # RUN global.negative_ENOSYS ...
# # OK global.negative_ENOSYS
# ok 28 global.negative_ENOSYS
# # RUN global.seccomp_syscall ...
# # OK global.seccomp_syscall
# ok 29 global.seccomp_syscall
# # RUN global.seccomp_syscall_mode_lock ...
# # OK global.seccomp_syscall_mode_lock
# ok 30 global.seccomp_syscall_mode_lock
# # RUN global.detect_seccomp_filter_flags ...
# # OK global.detect_seccomp_filter_flags
# ok 31 global.detect_seccomp_filter_flags
# # RUN global.TSYNC_first ...
# # OK global.TSYNC_first
# ok 32 global.TSYNC_first
# # RUN global.syscall_restart ...
# # OK global.syscall_restart
# ok 33 global.syscall_restart
# # RUN global.filter_flag_log ...
# # OK global.filter_flag_log
# ok 34 global.filter_flag_log
# # RUN global.get_action_avail ...
# # OK global.get_action_avail
# ok 35 global.get_action_avail
# # RUN global.get_metadata ...
# # OK global.get_metadata
# ok 36 global.get_metadata
# # RUN global.user_notification_basic ...
# # OK global.user_notification_basic
# ok 37 global.user_notification_basic
# # RUN global.user_notification_with_tsync ...
# # OK global.user_notification_with_tsync
# ok 38 global.user_notification_with_tsync
# # RUN global.user_notification_kill_in_middle ...
# # OK global.user_notification_kill_in_middle
# ok 39 global.user_notification_kill_in_middle
# # RUN global.user_notification_signal ...
# # OK global.user_notification_signal
# ok 40 global.user_notification_signal
# # RUN global.user_notification_closed_listener ...
# # OK global.user_notification_closed_listener
# ok 41 global.user_notification_closed_listener
# # RUN global.user_notification_child_pid_ns ...
# # OK global.user_notification_child_pid_ns
# ok 42 global.user_notification_child_pid_ns
# # RUN global.user_notification_sibling_pid_ns ...
# # OK global.user_notification_sibling_pid_ns
# ok 43 global.user_notification_sibling_pid_ns
# # RUN global.user_notification_fault_recv ...
# # OK global.user_notification_fault_recv
# ok 44 global.user_notification_fault_recv
# # RUN global.seccomp_get_notif_sizes ...
# # OK global.seccomp_get_notif_sizes
# ok 45 global.seccomp_get_notif_sizes
# # RUN global.user_notification_continue ...
# # OK global.user_notification_continue
# ok 46 global.user_notification_continue
# # RUN global.user_notification_filter_empty ...
# # OK global.user_notification_filter_empty
# ok 47 global.user_notification_filter_empty
# # RUN global.user_notification_filter_empty_threaded ...
# # OK global.user_notification_filter_empty_threaded
# ok 48 global.user_notification_filter_empty_threaded
# # RUN global.user_notification_addfd ...
# # OK global.user_notification_addfd
# ok 49 global.user_notification_addfd
# # RUN global.user_notification_addfd_rlimit ...
# # OK global.user_notification_addfd_rlimit
# ok 50 global.user_notification_addfd_rlimit
# # RUN TRAP.dfl ...
# # OK TRAP.dfl
# ok 51 TRAP.dfl
# # RUN TRAP.ign ...
# # OK TRAP.ign
# ok 52 TRAP.ign
# # RUN TRAP.handler ...
# # OK TRAP.handler
# ok 53 TRAP.handler
# # RUN precedence.allow_ok ...
# # OK precedence.allow_ok
# ok 54 precedence.allow_ok
# # RUN precedence.kill_is_highest ...
# # OK precedence.kill_is_highest
# ok 55 precedence.kill_is_highest
# # RUN precedence.kill_is_highest_in_any_order ...
# # OK precedence.kill_is_highest_in_any_order
# ok 56 precedence.kill_is_highest_in_any_order
# # RUN precedence.trap_is_second ...
# # OK precedence.trap_is_second
# ok 57 precedence.trap_is_second
# # RUN precedence.trap_is_second_in_any_order ...
# # OK precedence.trap_is_second_in_any_order
# ok 58 precedence.trap_is_second_in_any_order
# # RUN precedence.errno_is_third ...
# # OK precedence.errno_is_third
# ok 59 precedence.errno_is_third
# # RUN precedence.errno_is_third_in_any_order ...
# # OK precedence.errno_is_third_in_any_order
# ok 60 precedence.errno_is_third_in_any_order
# # RUN precedence.trace_is_fourth ...
# # OK precedence.trace_is_fourth
# ok 61 precedence.trace_is_fourth
# # RUN precedence.trace_is_fourth_in_any_order ...
# # OK precedence.trace_is_fourth_in_any_order
# ok 62 precedence.trace_is_fourth_in_any_order
# # RUN precedence.log_is_fifth ...
# # OK precedence.log_is_fifth
# ok 63 precedence.log_is_fifth
# # RUN precedence.log_is_fifth_in_any_order ...
# # OK precedence.log_is_fifth_in_any_order
# ok 64 precedence.log_is_fifth_in_any_order
# # RUN TRACE_poke.read_has_side_effects ...
# # OK TRACE_poke.read_has_side_effects
# ok 65 TRACE_poke.read_has_side_effects
# # RUN TRACE_poke.getpid_runs_normally ...
# # OK TRACE_poke.getpid_runs_normally
# ok 66 TRACE_poke.getpid_runs_normally
# # RUN TRACE_syscall.ptrace.negative_ENOSYS ...
# # OK TRACE_syscall.ptrace.negative_ENOSYS
# ok 67 TRACE_syscall.ptrace.negative_ENOSYS
# # RUN TRACE_syscall.ptrace.syscall_allowed ...
# # OK TRACE_syscall.ptrace.syscall_allowed
# ok 68 TRACE_syscall.ptrace.syscall_allowed
# # RUN TRACE_syscall.ptrace.syscall_redirected ...
# # OK TRACE_syscall.ptrace.syscall_redirected
# ok 69 TRACE_syscall.ptrace.syscall_redirected
# # RUN TRACE_syscall.ptrace.syscall_errno ...
# # OK TRACE_syscall.ptrace.syscall_errno
# ok 70 TRACE_syscall.ptrace.syscall_errno
# # RUN TRACE_syscall.ptrace.syscall_faked ...
# # OK TRACE_syscall.ptrace.syscall_faked
# ok 71 TRACE_syscall.ptrace.syscall_faked
# # RUN TRACE_syscall.ptrace.skip_after ...
# # OK TRACE_syscall.ptrace.skip_after
# ok 72 TRACE_syscall.ptrace.skip_after
# # RUN TRACE_syscall.ptrace.kill_after ...
# # OK TRACE_syscall.ptrace.kill_after
# ok 73 TRACE_syscall.ptrace.kill_after
# # RUN TRACE_syscall.seccomp.negative_ENOSYS ...
# # OK TRACE_syscall.seccomp.negative_ENOSYS
# ok 74 TRACE_syscall.seccomp.negative_ENOSYS
# # RUN TRACE_syscall.seccomp.syscall_allowed ...
# # OK TRACE_syscall.seccomp.syscall_allowed
# ok 75 TRACE_syscall.seccomp.syscall_allowed
# # RUN TRACE_syscall.seccomp.syscall_redirected ...
# # OK TRACE_syscall.seccomp.syscall_redirected
# ok 76 TRACE_syscall.seccomp.syscall_redirected
# # RUN TRACE_syscall.seccomp.syscall_errno ...
# # OK TRACE_syscall.seccomp.syscall_errno
# ok 77 TRACE_syscall.seccomp.syscall_errno
# # RUN TRACE_syscall.seccomp.syscall_faked ...
# # OK TRACE_syscall.seccomp.syscall_faked
# ok 78 TRACE_syscall.seccomp.syscall_faked
# # RUN TRACE_syscall.seccomp.skip_after ...
# # OK TRACE_syscall.seccomp.skip_after
# ok 79 TRACE_syscall.seccomp.skip_after
# # RUN TRACE_syscall.seccomp.kill_after ...
# # OK TRACE_syscall.seccomp.kill_after
# ok 80 TRACE_syscall.seccomp.kill_after
# # RUN TSYNC.siblings_fail_prctl ...
# # OK TSYNC.siblings_fail_prctl
# ok 81 TSYNC.siblings_fail_prctl
# # RUN TSYNC.two_siblings_with_ancestor ...
# # OK TSYNC.two_siblings_with_ancestor
# ok 82 TSYNC.two_siblings_with_ancestor
# # RUN TSYNC.two_sibling_want_nnp ...
# # OK TSYNC.two_sibling_want_nnp
# ok 83 TSYNC.two_sibling_want_nnp
# # RUN TSYNC.two_siblings_with_no_filter ...
# # OK TSYNC.two_siblings_with_no_filter
# ok 84 TSYNC.two_siblings_with_no_filter
# # RUN TSYNC.two_siblings_with_one_divergence ...
# # OK TSYNC.two_siblings_with_one_divergence
# ok 85 TSYNC.two_siblings_with_one_divergence
# # RUN TSYNC.two_siblings_with_one_divergence_no_tid_in_err ...
# # OK TSYNC.two_siblings_with_one_divergence_no_tid_in_err
# ok 86 TSYNC.two_siblings_with_one_divergence_no_tid_in_err
# # RUN TSYNC.two_siblings_not_under_filter ...
# # OK TSYNC.two_siblings_not_under_filter
# ok 87 TSYNC.two_siblings_not_under_filter
# # PASSED: 87 / 87 tests passed.
# # Totals: pass:87 fail:0 xfail:0 xpass:0 skip:0 error:0
ok 1 selftests: seccomp: seccomp_bpf
# selftests: seccomp: seccomp_benchmark
# net.core.bpf_jit_enable = 1
# net.core.bpf_jit_harden = 0
# Current BPF sysctl settings:
# Calibrating sample size for 15 seconds worth of syscalls ...
# Benchmarking 18250590 syscalls...
# 15.671098000 - 1.000871323 = 14670226677 (14.7s)
# getpid native: 803 ns
# 30.660267505 - 15.671370913 = 14988896592 (15.0s)
# getpid RET_ALLOW 1 filter (bitmap): 821 ns
# 45.403350482 - 30.660471377 = 14742879105 (14.7s)
# getpid RET_ALLOW 2 filters (bitmap): 807 ns
# 62.521709238 - 45.403552362 = 17118156876 (17.1s)
# getpid RET_ALLOW 3 filters (full): 937 ns
# 79.152560752 - 62.521923393 = 16630637359 (16.6s)
# getpid RET_ALLOW 4 filters (full): 911 ns
# Estimated total seccomp overhead for 1 bitmapped filter: 18 ns
# Estimated total seccomp overhead for 2 bitmapped filters: 4 ns
# Estimated total seccomp overhead for 3 full filters: 134 ns
# Estimated total seccomp overhead for 4 full filters: 108 ns
# Estimated seccomp entry overhead: 32 ns
# Estimated seccomp per-filter overhead (last 2 diff): 18446744073709551590 ns
# Saw unexpected benchmark result. Try running again with more samples?
ok 2 selftests: seccomp: seccomp_benchmark
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:29 /kselftests/run_kselftest.sh -c sigaltstack
TAP version 13
1..1
# selftests: sigaltstack: sas
# TAP version 13
# 1..3
# ok 1 Initial sigaltstack state was SS_DISABLE
# # [RUN] signal USR1
# ok 2 sigaltstack is disabled in sighandler
# # [RUN] switched to user ctx
# # [RUN] signal USR2
# # [OK] Stack preserved
# ok 3 sigaltstack is still SS_AUTODISARM after signal
# # Totals: pass:3 fail:0 xfail:0 xpass:0 skip:0 error:0
ok 1 selftests: sigaltstack: sas
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:29 /kselftests/run_kselftest.sh -c size
TAP version 13
1..1
# selftests: size: get_size
# TAP version 13
# # Testing system size.
# ok 1 get runtime memory use
# # System runtime memory report (units in Kilobytes):
# ---
# Total: 32738052
# Free: 29397508
# Buffer: 12
# In use: 3340532
# ...
# 1..1
ok 1 selftests: size: get_size
LKP WARN miss target soft-dirty
2021-05-29 14:17:29 make run_tests -C soft-dirty
make: Entering directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-51001dc3401827a612f986357b9bbc69bad17c1d/tools/testing/selftests/soft-dirty'
gcc -Wall -I../../../../usr/include/ -O0 -g3 soft-dirty.c -o /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-51001dc3401827a612f986357b9bbc69bad17c1d/tools/testing/selftests/soft-dirty/soft-dirty
soft-dirty.c: In function ‘touch_page’:
soft-dirty.c:41:7: error: ‘page_size’ undeclared (first use in this function); did you mean ‘pagesize’?
map[(page_size * n) + 1]++;
^~~~~~~~~
pagesize
soft-dirty.c:41:7: note: each undeclared identifier is reported only once for each function it appears in
soft-dirty.c: In function ‘test_simple’:
soft-dirty.c:70:22: error: ‘page_size’ undeclared (first use in this function); did you mean ‘pagesize’?
map = aligned_alloc(page_size, mmap_size);
^~~~~~~~~
pagesize
soft-dirty.c: In function ‘main’:
soft-dirty.c:247:19: error: called object ‘pagesize’ is not a function or function pointer
mmap_size = 10 * pagesize();
^~~~~~~~
soft-dirty.c:30:5: note: declared here
int pagesize;
^~~~~~~~
make: *** [../lib.mk:144: /usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-51001dc3401827a612f986357b9bbc69bad17c1d/tools/testing/selftests/soft-dirty/soft-dirty] Error 1
make: Leaving directory '/usr/src/perf_selftests-x86_64-rhel-8.3-kselftests-51001dc3401827a612f986357b9bbc69bad17c1d/tools/testing/selftests/soft-dirty'
LKP SKIP sparc64
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:29 /kselftests/run_kselftest.sh -c splice
TAP version 13
1..2
# selftests: splice: default_file_splice_read.sh
ok 1 selftests: splice: default_file_splice_read.sh
# selftests: splice: short_splice_read.sh
# splice: Invalid argument
# FAIL: /proc/1957/limits 4096
# splice: Invalid argument
# FAIL: /proc/1957/limits 2
# splice: Invalid argument
# FAIL: /proc/1957/comm 4096
# splice: Invalid argument
# FAIL: /proc/1957/comm 2
# ok: /proc/sys/fs/nr_open 4096
# ok: /proc/sys/fs/nr_open 2
# ok: /proc/sys/kernel/modprobe 4096
# ok: /proc/sys/kernel/modprobe 2
# ok: /proc/sys/kernel/version 4096
# ok: /proc/sys/kernel/version 2
# ok: /sys/module/test_module/coresize 4096
# ok: /sys/module/test_module/coresize 2
# ok: /sys/module/test_module/sections/.init.text 4096
# ok: /sys/module/test_module/sections/.init.text 2
not ok 2 selftests: splice: short_splice_read.sh # exit=1
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:30 /kselftests/run_kselftest.sh -c static_keys
TAP version 13
1..1
# selftests: static_keys: test_static_keys.sh
# static_key: ok
ok 1 selftests: static_keys: test_static_keys.sh
LKP WARN miss config CONFIG_SYNC= of sync/config
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:30 /kselftests/run_kselftest.sh -c sync
TAP version 13
1..1
# selftests: sync: sync_test
# TAP version 13
# 1..10
# # [RUN] Testing sync framework
# ok 1 [RUN] test_alloc_timeline
# ok 2 [RUN] test_alloc_fence
# ok 3 [RUN] test_alloc_fence_negative
# ok 4 [RUN] test_fence_one_timeline_wait
# ok 5 [RUN] test_fence_one_timeline_merge
# ok 6 [RUN] test_fence_merge_same_fence
# ok 7 [RUN] test_fence_multi_timeline_wait
# ok 8 [RUN] test_stress_two_threads_shared_timeline
# ok 9 [RUN] test_consumer_stress_multi_producer_single_consumer
# ok 10 [RUN] test_merge_stress_random_merge
# # Totals: pass:10 fail:0 xfail:0 xpass:0 skip:0 error:0
ok 1 selftests: sync: sync_test
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:33 /kselftests/run_kselftest.sh -c syscall_user_dispatch
TAP version 13
1..2
# selftests: syscall_user_dispatch: sud_test
# TAP version 13
# 1..6
# # Starting 6 tests from 1 test cases.
# # RUN global.dispatch_trigger_sigsys ...
# # OK global.dispatch_trigger_sigsys
# ok 1 global.dispatch_trigger_sigsys
# # RUN global.bad_prctl_param ...
# # OK global.bad_prctl_param
# ok 2 global.bad_prctl_param
# # RUN global.dispatch_and_return ...
# # OK global.dispatch_and_return
# ok 3 global.dispatch_and_return
# # RUN global.bad_selector ...
# # OK global.bad_selector
# ok 4 global.bad_selector
# # RUN global.disable_dispatch ...
# # OK global.disable_dispatch
# ok 5 global.disable_dispatch
# # RUN global.direct_dispatch_range ...
# # OK global.direct_dispatch_range
# ok 6 global.direct_dispatch_range
# # PASSED: 6 / 6 tests passed.
# # Totals: pass:6 fail:0 xfail:0 xpass:0 skip:0 error:0
ok 1 selftests: syscall_user_dispatch: sud_test
# selftests: syscall_user_dispatch: sud_benchmark
# Enabling syscall trapping.
# Caught sys_ff00
# Calibrating test set to last ~5 seconds...
# test iterations = 4000000
# Avg syscall time 1314ns.
# trapped_call_count 1, native_call_count 0.
# Avg syscall time 1346ns.
# Interception overhead: 2.4% (+31ns).
ok 2 selftests: syscall_user_dispatch: sud_benchmark
source /lkp/lkp/src/lib/tests/kernel-selftests-ext.sh
2021-05-29 14:17:45 /kselftests/run_kselftest.sh -c sysctl
TAP version 13
1..1
# selftests: sysctl: sysctl.sh
# Checking production write strict setting ... ok
# Sat May 29 14:17:45 UTC 2021
# Running test: sysctl_test_0001 - run #0
# == Testing sysctl behavior against /proc/sys/debug/test_sysctl/int_0001 ==
# Writing test file ... ok
# Checking sysctl is not set to test value ... ok
# Writing sysctl from shell ... ok
# Resetting sysctl to original value ... ok
# Writing entire sysctl in single write ... ok
# Writing middle of sysctl after synchronized seek ... ok
# Writing beyond end of sysctl ... ok
# Writing sysctl with multiple long writes ... ok
# Testing that 0x0000000100000000 fails as expected...ok
# Testing that 0x0000000100000001 fails as expected...ok
# Testing that 0x00000001ffffffff fails as expected...ok
# Testing that 0x0000000180000000 fails as expected...ok
# Testing that 0x000000017fffffff fails as expected...ok
# Testing that 0xffffffff00000000 fails as expected...ok
# Testing that 0xffffffff00000001 fails as expected...ok
# Testing that 0xffffffffffffffff fails as expected...ok
# Testing that 0xffffffff80000000 fails as expected...ok
# Testing that 0xffffffff7fffffff fails as expected...ok
# Testing that -0x0000000100000000 fails as expected...ok
# Testing that -0x0000000100000001 fails as expected...ok
# Testing that -0x00000001ffffffff fails as expected...ok
# Testing that -0x0000000180000000 fails as expected...ok
# Testing that -0x000000017fffffff fails as expected...ok
# Testing that -0xffffffff00000000 fails as expected...ok
# Testing that -0xffffffff00000001 fails as expected...ok
# Testing that -0xffffffffffffffff fails as expected...ok
# Testing that -0xffffffff80000000 fails as expected...ok
# Testing that -0xffffffff7fffffff fails as expected...ok
# Checking ignoring spaces up to PAGE_SIZE works on write ...ok
# Checking passing PAGE_SIZE of spaces fails on write ...ok
# Sat May 29 14:17:45 UTC 2021
# Running test: sysctl_test_0002 - run #0
# == Testing sysctl behavior against /proc/sys/debug/test_sysctl/string_0001 ==
# Writing test file ... ok
# Checking sysctl is not set to test value ... ok
# Writing sysctl from shell ... ok
# Resetting sysctl to original value ... ok
# Writing entire sysctl in single write ... ok
# Writing middle of sysctl after synchronized seek ... ok
# Writing beyond end of sysctl ... ok
# Writing sysctl with multiple long writes ... ok
# Writing entire sysctl in short writes ... ok
# Writing middle of sysctl after unsynchronized seek ... ok
# Checking sysctl maxlen is at least 65 ... ok
# Checking sysctl keeps original string on overflow append ... ok
# Checking sysctl stays NULL terminated on write ... ok
# Checking sysctl stays NULL terminated on overwrite ... ok
# Sat May 29 14:17:45 UTC 2021
# Running test: sysctl_test_0003 - run #0
# == Testing sysctl behavior against /proc/sys/debug/test_sysctl/int_0002 ==
# Writing test file ... ok
# Checking sysctl is not set to test value ... ok
# Writing sysctl from shell ... ok
# Resetting sysctl to original value ... ok
# Writing entire sysctl in single write ... ok
# Writing middle of sysctl after synchronized seek ... ok
# Writing beyond end of sysctl ... ok
# Writing sysctl with multiple long writes ... ok
# Testing that 0x0000000100000000 fails as expected...ok
# Testing that 0x0000000100000001 fails as expected...ok
# Testing that 0x00000001ffffffff fails as expected...ok
# Testing that 0x0000000180000000 fails as expected...ok
# Testing that 0x000000017fffffff fails as expected...ok
# Testing that 0xffffffff00000000 fails as expected...ok
# Testing that 0xffffffff00000001 fails as expected...ok
# Testing that 0xffffffffffffffff fails as expected...ok
# Testing that 0xffffffff80000000 fails as expected...ok
# Testing that 0xffffffff7fffffff fails as expected...ok
# Testing that -0x0000000100000000 fails as expected...ok
# Testing that -0x0000000100000001 fails as expected...ok
# Testing that -0x00000001ffffffff fails as expected...ok
# Testing that -0x0000000180000000 fails as expected...ok
# Testing that -0x000000017fffffff fails as expected...ok
# Testing that -0xffffffff00000000 fails as expected...ok
# Testing that -0xffffffff00000001 fails as expected...ok
# Testing that -0xffffffffffffffff fails as expected...ok
# Testing that -0xffffffff80000000 fails as expected...ok
# Testing that -0xffffffff7fffffff fails as expected...ok
# Checking ignoring spaces up to PAGE_SIZE works on write ...ok
# Checking passing PAGE_SIZE of spaces fails on write ...ok
# Testing INT_MAX works ...ok
# Testing INT_MAX + 1 will fail as expected...ok
# Testing negative values will work as expected...ok
# Sat May 29 14:17:46 UTC 2021
# Running test: sysctl_test_0004 - run #0
# == Testing sysctl behavior against /proc/sys/debug/test_sysctl/uint_0001 ==
# Writing test file ... ok
# Checking sysctl is not set to test value ... ok
# Writing sysctl from shell ... ok
# Resetting sysctl to original value ... ok
# Writing entire sysctl in single write ... ok
# Writing middle of sysctl after synchronized seek ... ok
# Writing beyond end of sysctl ... ok
# Writing sysctl with multiple long writes ... ok
# Testing that 0x0000000100000000 fails as expected...ok
# Testing that 0x0000000100000001 fails as expected...ok
# Testing that 0x00000001ffffffff fails as expected...ok
# Testing that 0x0000000180000000 fails as expected...ok
# Testing that 0x000000017fffffff fails as expected...ok
# Testing that 0xffffffff00000000 fails as expected...ok
# Testing that 0xffffffff00000001 fails as expected...ok
# Testing that 0xffffffffffffffff fails as expected...ok
# Testing that 0xffffffff80000000 fails as expected...ok
# Testing that 0xffffffff7fffffff fails as expected...ok
# Testing that -0x0000000100000000 fails as expected...ok
# Testing that -0x0000000100000001 fails as expected...ok
# Testing that -0x00000001ffffffff fails as expected...ok
# Testing that -0x0000000180000000 fails as expected...ok
# Testing that -0x000000017fffffff fails as expected...ok
# Testing that -0xffffffff00000000 fails as expected...ok
# Testing that -0xffffffff00000001 fails as expected...ok
# Testing that -0xffffffffffffffff fails as expected...ok
# Testing that -0xffffffff80000000 fails as expected...ok
# Testing that -0xffffffff7fffffff fails as expected...ok
# Checking ignoring spaces up to PAGE_SIZE works on write ...ok
# Checking passing PAGE_SIZE of spaces fails on write ...ok
# Testing UINT_MAX works ...ok
# Testing UINT_MAX + 1 will fail as expected...ok
# Testing negative values will not work as expected ...ok
# Sat May 29 14:17:46 UTC 2021
# Running test: sysctl_test_0005 - run #0
# Testing array works as expected ... ok
# Testing skipping trailing array elements works ... ok
# Testing PAGE_SIZE limit on array works ... ok
# Testing exceeding PAGE_SIZE limit fails as expected ... ok
# Sat May 29 14:17:46 UTC 2021
# Running test: sysctl_test_0005 - run #1
# Testing array works as expected ... ok
# Testing skipping trailing array elements works ... ok
# Testing PAGE_SIZE limit on array works ... ok
# Testing exceeding PAGE_SIZE limit fails as expected ... ok
# Sat May 29 14:17:47 UTC 2021
# Running test: sysctl_test_0005 - run #2
# Testing array works as expected ... ok
# Testing skipping trailing array elements works ... ok
# Testing PAGE_SIZE limit on array works ... ok
# Testing exceeding PAGE_SIZE limit fails as expected ... ok
# Sat May 29 14:17:47 UTC 2021
# Running test: sysctl_test_0006 - run #0
# Checking bitmap handler... ok
# Sat May 29 14:17:47 UTC 2021
# Running test: sysctl_test_0006 - run #1
# Checking bitmap handler... ok
# Sat May 29 14:17:49 UTC 2021
# Running test: sysctl_test_0006 - run #2
# Checking bitmap handler... ok
# Sat May 29 14:17:49 UTC 2021
# Running test: sysctl_test_0006 - run #3
# Checking bitmap handler... ok
# Sat May 29 14:17:50 UTC 2021
# Running test: sysctl_test_0006 - run #4
# Checking bitmap handler... ok
# Sat May 29 14:17:52 UTC 2021
# Running test: sysctl_test_0006 - run #5
# Checking bitmap handler... ok
# Sat May 29 14:17:52 UTC 2021
# Running test: sysctl_test_0006 - run #6
# Checking bitmap handler... ok
# Sat May 29 14:17:52 UTC 2021
# Running test: sysctl_test_0006 - run #7
# Checking bitmap handler... ok
# Sat May 29 14:17:53 UTC 2021
# Running test: sysctl_test_0006 - run #8
# Checking bitmap handler... ok
# Sat May 29 14:17:53 UTC 2021
# Running test: sysctl_test_0006 - run #9
# Checking bitmap handler... ok
# Sat May 29 14:17:54 UTC 2021
# Running test: sysctl_test_0006 - run #10
# Checking bitmap handler... ok
# Sat May 29 14:17:54 UTC 2021
# Running test: sysctl_test_0006 - run #11
# Checking bitmap handler... ok
# Sat May 29 14:17:56 UTC 2021
# Running test: sysctl_test_0006 - run #12
# Checking bitmap handler... ok
# Sat May 29 14:17:57 UTC 2021
# Running test: sysctl_test_0006 - run #13
# Checking bitmap handler... ok
# Sat May 29 14:17:57 UTC 2021
# Running test: sysctl_test_0006 - run #14
# Checking bitmap handler... ok
# Sat May 29 14:17:58 UTC 2021
# Running test: sysctl_test_0006 - run #15
# Checking bitmap handler... ok
# Sat May 29 14:18:00 UTC 2021
# Running test: sysctl_test_0006 - run #16
# Checking bitmap handler... ok
# Sat May 29 14:18:00 UTC 2021
# Running test: sysctl_test_0006 - run #17
# Checking bitmap handler... ok
# Sat May 29 14:18:01 UTC 2021
# Running test: sysctl_test_0006 - run #18
# Checking bitmap handler... ok
# Sat May 29 14:18:02 UTC 2021
# Running test: sysctl_test_0006 - run #19
# Checking bitmap handler... ok
# Sat May 29 14:18:03 UTC 2021
# Running test: sysctl_test_0006 - run #20
# Checking bitmap handler... ok
# Sat May 29 14:18:05 UTC 2021
# Running test: sysctl_test_0006 - run #21
# Checking bitmap handler... ok
# Sat May 29 14:18:06 UTC 2021
# Running test: sysctl_test_0006 - run #22
# Checking bitmap handler... ok
# Sat May 29 14:18:06 UTC 2021
# Running test: sysctl_test_0006 - run #23
# Checking bitmap handler... ok
# Sat May 29 14:18:08 UTC 2021
# Running test: sysctl_test_0006 - run #24
# Checking bitmap handler... ok
# Sat May 29 14:18:08 UTC 2021
# Running test: sysctl_test_0006 - run #25
# Checking bitmap handler... ok
# Sat May 29 14:18:09 UTC 2021
# Running test: sysctl_test_0006 - run #26
# Checking bitmap handler... ok
# Sat May 29 14:18:09 UTC 2021
# Running test: sysctl_test_0006 - run #27
# Checking bitmap handler... ok
# Sat May 29 14:18:10 UTC 2021
# Running test: sysctl_test_0006 - run #28
# Checking bitmap handler... ok
# Sat May 29 14:18:12 UTC 2021
# Running test: sysctl_test_0006 - run #29
# Checking bitmap handler... ok
# Sat May 29 14:18:12 UTC 2021
# Running test: sysctl_test_0006 - run #30
# Checking bitmap handler... ok
# Sat May 29 14:18:12 UTC 2021
# Running test: sysctl_test_0006 - run #31
# Checking bitmap handler... ok
# Sat May 29 14:18:13 UTC 2021
# Running test: sysctl_test_0006 - run #32
# Checking bitmap handler... ok
# Sat May 29 14:18:13 UTC 2021
# Running test: sysctl_test_0006 - run #33
# Checking bitmap handler... ok
# Sat May 29 14:18:13 UTC 2021
# Running test: sysctl_test_0006 - run #34
# Checking bitmap handler... ok
# Sat May 29 14:18:14 UTC 2021
# Running test: sysctl_test_0006 - run #35
# Checking bitmap handler... ok
# Sat May 29 14:18:15 UTC 2021
# Running test: sysctl_test_0006 - run #36
# Checking bitmap handler... ok
# Sat May 29 14:18:15 UTC 2021
# Running test: sysctl_test_0006 - run #37
# Checking bitmap handler... ok
# Sat May 29 14:18:16 UTC 2021
# Running test: sysctl_test_0006 - run #38
# Checking bitmap handler... ok
# Sat May 29 14:18:17 UTC 2021
# Running test: sysctl_test_0006 - run #39
# Checking bitmap handler... ok
# Sat May 29 14:18:18 UTC 2021
# Running test: sysctl_test_0006 - run #40
# Checking bitmap handler... ok
# Sat May 29 14:18:19 UTC 2021
# Running test: sysctl_test_0006 - run #41
# Checking bitmap handler... ok
# Sat May 29 14:18:20 UTC 2021
# Running test: sysctl_test_0006 - run #42
# Checking bitmap handler... ok
# Sat May 29 14:18:20 UTC 2021
# Running test: sysctl_test_0006 - run #43
# Checking bitmap handler... ok
# Sat May 29 14:18:21 UTC 2021
# Running test: sysctl_test_0006 - run #44
# Checking bitmap handler... ok
# Sat May 29 14:18:21 UTC 2021
# Running test: sysctl_test_0006 - run #45
# Checking bitmap handler... ok
# Sat May 29 14:18:22 UTC 2021
# Running test: sysctl_test_0006 - run #46
# Checking bitmap handler... ok
# Sat May 29 14:18:22 UTC 2021
# Running test: sysctl_test_0006 - run #47
# Checking bitmap handler... ok
# Sat May 29 14:18:24 UTC 2021
# Running test: sysctl_test_0006 - run #48
# Checking bitmap handler... ok
# Sat May 29 14:18:24 UTC 2021
# Running test: sysctl_test_0006 - run #49
# Checking bitmap handler... ok
# Sat May 29 14:18:24 UTC 2021
# Running test: sysctl_test_0007 - run #0
# Testing if /proc/sys/debug/test_sysctl/boot_int is set to 1 ...ok
ok 1 selftests: sysctl: sysctl.sh



To reproduce:

git clone https://github.com/intel/lkp-tests.git
cd lkp-tests
bin/lkp install job.yaml # job file is attached in this email
bin/lkp split-job --compatible job.yaml # generate the yaml file for lkp run
bin/lkp run generated-yaml-file



---
0DAY/LKP+ Test Infrastructure Open Source Technology Center
https://lists.01.org/hyperkitty/list/[email protected] Intel Corporation

Thanks,
Oliver Sang


Attachments:
(No filename) (34.87 kB)
config-5.13.0-rc2-00001-g51001dc34018 (177.60 kB)
job-script (6.47 kB)
dmesg.xz (29.88 kB)
kernel-selftests (33.28 kB)
job.yaml (5.39 kB)
reproduce (611.00 B)
Download all attachments