Skip to content

Commit 27cc6fd

Browse files
committed
Merge tag 'linux_kselftest-fixes-6.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest
Pull kselftest fixes from Shuah Khan: "Fixes to build warnings, install scripts, run-time error path, and git status cleanups to tests: - devices/probe: fix for Python3 regex string syntax warnings - clone3: removing unused macro from clone3_cap_checkpoint_restore() - vDSO: fix to align getrandom states to cache line - core and exec: add missing executables to .gitignore files - rtc: change to skip test if /dev/rtc0 can't be accessed - timers/posix: fix warn_unused_result result in __fatal_error() - breakpoints: fix to detect suspend successful condition correctly - hid: fix to install required dependencies to run the test" * tag 'linux_kselftest-fixes-6.12-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/shuah/linux-kselftest: selftests: breakpoints: use remaining time to check if suspend succeed kselftest/devices/probe: Fix SyntaxWarning in regex strings for Python3 selftest: hid: add missing run-hid-tools-tests.sh selftests: vDSO: align getrandom states to cache line selftests: exec: update gitignore for load_address selftests: core: add unshare_test to gitignore clone3: clone3_cap_checkpoint_restore: remove unused MAX_PID_NS_LEVEL macro selftests:timers: posix_timers: Fix warn_unused_result in __fatal_error() selftest: rtc: Check if could access /dev/rtc0 before testing
2 parents ac30860 + c66be90 commit 27cc6fd

File tree

9 files changed

+34
-14
lines changed

9 files changed

+34
-14
lines changed

tools/testing/selftests/breakpoints/step_after_suspend_test.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,7 +152,10 @@ void suspend(void)
152152
if (err < 0)
153153
ksft_exit_fail_msg("timerfd_settime() failed\n");
154154

155-
if (write(power_state_fd, "mem", strlen("mem")) != strlen("mem"))
155+
system("(echo mem > /sys/power/state) 2> /dev/null");
156+
157+
timerfd_gettime(timerfd, &spec);
158+
if (spec.it_value.tv_sec != 0 || spec.it_value.tv_nsec != 0)
156159
ksft_exit_fail_msg("Failed to enter Suspend state\n");
157160

158161
close(timerfd);

tools/testing/selftests/clone3/clone3_cap_checkpoint_restore.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,6 @@
2727
#include "../kselftest_harness.h"
2828
#include "clone3_selftests.h"
2929

30-
#define MAX_PID_NS_LEVEL 32
31-
3230
static void child_exit(int ret)
3331
{
3432
fflush(stdout);
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
close_range_test
2+
unshare_test

tools/testing/selftests/devices/probe/test_discoverable_devices.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ def find_pci_controller_dirs():
4545

4646

4747
def find_usb_controller_dirs():
48-
usb_controller_sysfs_dir = "usb[\d]+"
48+
usb_controller_sysfs_dir = r"usb[\d]+"
4949

5050
dir_regex = re.compile(usb_controller_sysfs_dir)
5151
for d in os.scandir(sysfs_usb_devices):
@@ -91,7 +91,7 @@ def get_acpi_uid(sysfs_dev_dir):
9191

9292

9393
def get_usb_version(sysfs_dev_dir):
94-
re_usb_version = re.compile("PRODUCT=.*/(\d)/.*")
94+
re_usb_version = re.compile(r"PRODUCT=.*/(\d)/.*")
9595
with open(os.path.join(sysfs_dev_dir, "uevent")) as f:
9696
return int(re_usb_version.search(f.read()).group(1))
9797

tools/testing/selftests/exec/.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ execveat.ephemeral
99
execveat.denatured
1010
non-regular
1111
null-argv
12-
/load_address_*
12+
/load_address.*
13+
!load_address.c
1314
/recursion-depth
1415
xxxxxxxx*
1516
pipe

tools/testing/selftests/hid/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ TEST_PROGS += hid-tablet.sh
1717
TEST_PROGS += hid-usb_crash.sh
1818
TEST_PROGS += hid-wacom.sh
1919

20+
TEST_FILES := run-hid-tools-tests.sh
21+
2022
CXX ?= $(CROSS_COMPILE)g++
2123

2224
HOSTPKG_CONFIG := pkg-config

tools/testing/selftests/rtc/rtctest.c

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,6 +412,8 @@ TEST_F_TIMEOUT(rtc, alarm_wkalm_set_minute, 65) {
412412

413413
int main(int argc, char **argv)
414414
{
415+
int ret = -1;
416+
415417
switch (argc) {
416418
case 2:
417419
rtc_file = argv[1];
@@ -423,5 +425,12 @@ int main(int argc, char **argv)
423425
return 1;
424426
}
425427

426-
return test_harness_run(argc, argv);
428+
/* Run the test if rtc_file is accessible */
429+
if (access(rtc_file, R_OK) == 0)
430+
ret = test_harness_run(argc, argv);
431+
else
432+
ksft_exit_skip("[SKIP]: Cannot access rtc file %s - Exiting\n",
433+
rtc_file);
434+
435+
return ret;
427436
}

tools/testing/selftests/timers/posix_timers.c

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,17 @@
2626
static void __fatal_error(const char *test, const char *name, const char *what)
2727
{
2828
char buf[64];
29+
char *ret_str = NULL;
2930

30-
strerror_r(errno, buf, sizeof(buf));
31+
ret_str = strerror_r(errno, buf, sizeof(buf));
3132

32-
if (name && strlen(name))
33-
ksft_exit_fail_msg("%s %s %s %s\n", test, name, what, buf);
33+
if (name && strlen(name) && ret_str)
34+
ksft_exit_fail_msg("%s %s %s %s\n", test, name, what, ret_str);
35+
else if (ret_str)
36+
ksft_exit_fail_msg("%s %s %s\n", test, what, ret_str);
3437
else
35-
ksft_exit_fail_msg("%s %s %s\n", test, what, buf);
38+
ksft_exit_fail_msg("%s %s\n", test, what);
39+
3640
}
3741

3842
#define fatal_error(name, what) __fatal_error(__func__, name, what)

tools/testing/selftests/vDSO/vdso_test_getrandom.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -59,10 +59,12 @@ static void *vgetrandom_get_state(void)
5959
size_t page_size = getpagesize();
6060
size_t new_cap;
6161
size_t alloc_size, num = sysconf(_SC_NPROCESSORS_ONLN); /* Just a decent heuristic. */
62+
size_t state_size_aligned, cache_line_size = sysconf(_SC_LEVEL1_DCACHE_LINESIZE) ?: 1;
6263
void *new_block, *new_states;
6364

64-
alloc_size = (num * vgrnd.params.size_of_opaque_state + page_size - 1) & (~(page_size - 1));
65-
num = (page_size / vgrnd.params.size_of_opaque_state) * (alloc_size / page_size);
65+
state_size_aligned = (vgrnd.params.size_of_opaque_state + cache_line_size - 1) & (~(cache_line_size - 1));
66+
alloc_size = (num * state_size_aligned + page_size - 1) & (~(page_size - 1));
67+
num = (page_size / state_size_aligned) * (alloc_size / page_size);
6668
new_block = mmap(0, alloc_size, vgrnd.params.mmap_prot, vgrnd.params.mmap_flags, -1, 0);
6769
if (new_block == MAP_FAILED)
6870
goto out;
@@ -78,7 +80,7 @@ static void *vgetrandom_get_state(void)
7880
if (((uintptr_t)new_block & (page_size - 1)) + vgrnd.params.size_of_opaque_state > page_size)
7981
new_block = (void *)(((uintptr_t)new_block + page_size - 1) & (~(page_size - 1)));
8082
vgrnd.states[i] = new_block;
81-
new_block += vgrnd.params.size_of_opaque_state;
83+
new_block += state_size_aligned;
8284
}
8385
vgrnd.len = num;
8486
goto success;

0 commit comments

Comments
 (0)