Revision tags: v6.6.25, v6.6.24, v6.6.23, v6.6.16, v6.6.15, v6.6.14, v6.6.13, v6.6.12, v6.6.11, v6.6.10, v6.6.9, v6.6.8, v6.6.7, v6.6.6, v6.6.5, v6.6.4, v6.6.3, v6.6.2, v6.5.11, v6.6.1 |
|
#
a95c77f9 |
| 05-Nov-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: fix testcase status alignment
[ Upstream commit 07f679b50252dc9e3d0c19aca5801f82c230c527 ]
Center-align all possible status reports. Before OK and FAIL were center-aligned in rela
selftests/nolibc: fix testcase status alignment
[ Upstream commit 07f679b50252dc9e3d0c19aca5801f82c230c527 ]
Center-align all possible status reports. Before OK and FAIL were center-aligned in relation to each other but SKIPPED and FAILED would be left-aligned.
Before:
7 environ_addr = <0x7fffef3e7c50> [OK] 8 environ_envp = <0x7fffef3e7c58> [FAIL] 9 environ_auxv [SKIPPED] 10 environ_total [SKIPPED] 11 environ_HOME = <0x7fffef3e99bd> [OK] 12 auxv_addr [SKIPPED] 13 auxv_AT_UID = 1000 [OK]
After:
7 environ_addr = <0x7ffff13b00a0> [OK] 8 environ_envp = <0x7ffff13b00a8> [FAIL] 9 environ_auxv [SKIPPED] 10 environ_total [SKIPPED] 11 environ_HOME = <0x7ffff13b19bd> [OK] 12 auxv_addr [SKIPPED] 13 auxv_AT_UID = 1000 [OK]
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Sasha Levin <sashal@kernel.org>
show more ...
|
Revision tags: v6.5.10, v6.6, v6.5.9, v6.5.8, v6.5.7, v6.5.6, v6.5.5, v6.5.4, v6.5.3, v6.5.2, v6.1.51, v6.5.1, v6.1.50, v6.5, v6.1.49, v6.1.48, v6.1.46, v6.1.45, v6.1.44, v6.1.43 |
|
#
9c5e4900 |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: prevent out of bounds access in expect_vfprintf
If read() fails and returns -1 (or returns garbage for some other reason) buf would be accessed out of bounds. Only use the return v
selftests/nolibc: prevent out of bounds access in expect_vfprintf
If read() fails and returns -1 (or returns garbage for some other reason) buf would be accessed out of bounds. Only use the return value of read() after it has been validated.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
37266a9e |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: use correct return type for read() and write()
Avoid truncating values before comparing them.
As printf in nolibc doesn't support ssize_t add casts to int for printing.
Signed-of
selftests/nolibc: use correct return type for read() and write()
Avoid truncating values before comparing them.
As printf in nolibc doesn't support ssize_t add casts to int for printing.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
711f91fd |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: avoid sign-compare warnings
These warnings will be enabled later so avoid triggering them.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1
selftests/nolibc: avoid sign-compare warnings
These warnings will be enabled later so avoid triggering them.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
c8d07815 |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: avoid unused parameter warnings
This warning will be enabled later so avoid triggering it.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1
selftests/nolibc: avoid unused parameter warnings
This warning will be enabled later so avoid triggering it.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
17e66f23 |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: make functions static if possible
This allows the compiler to generate warnings if they go unused.
Functions that are supposed to be used as breakpoints should not be static, so u
selftests/nolibc: make functions static if possible
This allows the compiler to generate warnings if they go unused.
Functions that are supposed to be used as breakpoints should not be static, so un-statify those if necessary.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
10874f20 |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: mark test helpers as potentially unused
When warning about unused functions these would be reported by we want to keep them for future use.
Suggested-by: Zhangjin Wu <falcon@tinyl
selftests/nolibc: mark test helpers as potentially unused
When warning about unused functions these would be reported by we want to keep them for future use.
Suggested-by: Zhangjin Wu <falcon@tinylab.org> Link: https://lore.kernel.org/lkml/20230731064826.16584-1-falcon@tinylab.org/ Suggested-by: Willy Tarreau <w@1wt.eu> Link: https://lore.kernel.org/lkml/20230731224929.GA18296@1wt.eu/ Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
79df81aa |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: drop unused variables
These got copied around as new testcases where created.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
|
#
ca283457 |
| 06-Aug-2023 |
Willy Tarreau <w@1wt.eu> |
selftests/nolibc: avoid warnings during intptr tests
Recent fix ceb528feb7c8 ("selftests/nolibc: avoid gaps in test numbers") had the annoying side effect of always returning skipped tests, which ar
selftests/nolibc: avoid warnings during intptr tests
Recent fix ceb528feb7c8 ("selftests/nolibc: avoid gaps in test numbers") had the annoying side effect of always returning skipped tests, which are normally supposed to happen only when certain features are missing to run the test (missing kernel options, toolchain not supporting stack-protector etc). As such there are now always warnings. Let's modify the test to not use the condition and instead use a ternary expression to check the result.
Fixes: ceb528feb7c8 ("selftests/nolibc: avoid gaps in test numbers") Cc: Thomas WeiÃ<9F>schuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
64077502 |
| 03-Aug-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
tools/nolibc: fix return type of getpagesize()
It's documented as returning int which is also implemented by glibc and musl, so adopt that return type.
Signed-off-by: Thomas Weißschuh <linux@weisss
tools/nolibc: fix return type of getpagesize()
It's documented as returning int which is also implemented by glibc and musl, so adopt that return type.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
5c01259b |
| 01-Aug-2023 |
Yuan Tan <tanyuan@tinylab.org> |
selftests/nolibc: add testcase for pipe
Add a test case of pipe that sends and receives message in a single process.
Suggested-by: Thomas Weißschuh <thomas@t-8ch.de> Suggested-by: Willy Tarreau <w@
selftests/nolibc: add testcase for pipe
Add a test case of pipe that sends and receives message in a single process.
Suggested-by: Thomas Weißschuh <thomas@t-8ch.de> Suggested-by: Willy Tarreau <w@1wt.eu> Link: https://lore.kernel.org/all/c5de2d13-3752-4e1b-90d9-f58cca99c702@t-8ch.de/ Signed-off-by: Yuan Tan <tanyuan@tinylab.org> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> [wt: fixed the "len" type to size_t to address a sign-compare warning with upcoming patches] Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
Revision tags: v6.1.42 |
|
#
e7d0129d |
| 25-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: mmap_munmap_good: fix up return value
The other tests use 1 as failure, mmap_munmap_good uses -1 as failure, let's fix up this.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Rev
selftests/nolibc: mmap_munmap_good: fix up return value
The other tests use 1 as failure, mmap_munmap_good uses -1 as failure, let's fix up this.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
447e5602 |
| 26-Jul-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: avoid buffer underrun in space printing
If the test description is longer than the status alignment the parameter 'n' to putcharn() would lead to a signed underflow that then gets
selftests/nolibc: avoid buffer underrun in space printing
If the test description is longer than the status alignment the parameter 'n' to putcharn() would lead to a signed underflow that then gets converted to a very large unsigned value. This in turn leads out-of-bound writes in memset() crashing the application.
The failure case of EXPECT_PTRER() used in "mmap_bad" exhibits this exact behavior.
Fixes: 29f5540be392 ("selftests/nolibc: add EXPECT_PTREQ, EXPECT_PTRNE and EXPECT_PTRER") Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
Revision tags: v6.1.41, v6.1.40, v6.1.39 |
|
#
48967b73 |
| 15-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: add testcases for startup code
The startup code is critical to get the right argc, argv, envp/environ and _auxv, let's add a startup test group and the corresponding testcases.
Th
selftests/nolibc: add testcases for startup code
The startup code is critical to get the right argc, argv, envp/environ and _auxv, let's add a startup test group and the corresponding testcases.
The "environ" test case is also moved from the stdlib test group to this new startup test group and it is renamed to "environ_envp".
Since argv0 has been used by many other test cases, let's add testcases to gurantee it too.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
fd3a9efd |
| 15-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: add EXPECT_PTRGE, EXPECT_PTRGT, EXPECT_PTRLE, EXPECT_PTRLT
4 new pointer compare macros are added, they are similar to the integer compare macros.
Signed-off-by: Zhangjin Wu <falc
selftests/nolibc: add EXPECT_PTRGE, EXPECT_PTRGT, EXPECT_PTRLE, EXPECT_PTRLT
4 new pointer compare macros are added, they are similar to the integer compare macros.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
ceb528fe |
| 11-Jul-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: avoid gaps in test numbers
As the test numbers are based on line numbers gaps without testcases are to be avoided. Instead use the already existing test condition logic to implemen
selftests/nolibc: avoid gaps in test numbers
As the test numbers are based on line numbers gaps without testcases are to be avoided. Instead use the already existing test condition logic to implement conditional execution.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
b184a261 |
| 11-Jul-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: simplify status printing
pad_spc() is only ever used to print the status message of testcases. The line size is always constant, the return value is never used and the format strin
selftests/nolibc: simplify status printing
pad_spc() is only ever used to print the status message of testcases. The line size is always constant, the return value is never used and the format string is never used as such.
Remove all the unneeded logic and simplify the API and its users.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
3097783e |
| 11-Jul-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
selftests/nolibc: make evaluation of test conditions
If "cond" is a multi-token statement the behavior of the preprocessor will lead to the negation "!" to be only applied to the first token. Althou
selftests/nolibc: make evaluation of test conditions
If "cond" is a multi-token statement the behavior of the preprocessor will lead to the negation "!" to be only applied to the first token. Although currently no test uses such multi-token conditions but it can happen at any time.
Put braces around "cond" to ensure the negation works as expected.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
67d108e2 |
| 10-Jul-2023 |
Thomas Weißschuh <linux@weissschuh.net> |
tools/nolibc: completely remove optional environ support
In commit 52e423f5b93e ("tools/nolibc: export environ as a weak symbol on i386") and friends the asm startup logic was extended to directly p
tools/nolibc: completely remove optional environ support
In commit 52e423f5b93e ("tools/nolibc: export environ as a weak symbol on i386") and friends the asm startup logic was extended to directly populate the "environ" array.
This makes it impossible for "environ" to be dropped by the linker. Therefore also drop the other logic to handle non-present "environ".
Also add a testcase to validate the initialization of environ.
Signed-off-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
148e9718 |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: add chmod_argv0 test
argv0 is readable and chmodable, let's use it for chmod test, but a safe umask should be used, the readable and executable modes should be reserved.
Reviewed-
selftests/nolibc: add chmod_argv0 test
argv0 is readable and chmodable, let's use it for chmod test, but a safe umask should be used, the readable and executable modes should be reserved.
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
135b622e |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: chroot_exe: remove procfs dependency
Since argv0 also works for CONFIG_PROC_FS=n, let's use it instead of '/proc/self/exe'.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-
selftests/nolibc: chroot_exe: remove procfs dependency
Since argv0 also works for CONFIG_PROC_FS=n, let's use it instead of '/proc/self/exe'.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
f576d3c0 |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: stat_timestamps: remove procfs dependency
'/proc/self/' is a good path which doesn't have stale time info but it is only available for CONFIG_PROC_FS=y.
When CONFIG_PROC_FS=n, use
selftests/nolibc: stat_timestamps: remove procfs dependency
'/proc/self/' is a good path which doesn't have stale time info but it is only available for CONFIG_PROC_FS=y.
When CONFIG_PROC_FS=n, use argv0 instead of '/proc/self', use '/' for the worst case.
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
38fc0a35 |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: chdir_root: restore current path after test
The PWD environment variable has the path of the nolibc-test program, the current path must be the same as it, otherwise, the test cases
selftests/nolibc: chdir_root: restore current path after test
The PWD environment variable has the path of the nolibc-test program, the current path must be the same as it, otherwise, the test cases will fail with relative path (e.g. ./nolibc-test).
Since only chdir_root really changes the current path, let's restore it with the PWD environment variable.
Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
6861b1a3 |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: vfprintf: remove MEMFD_CREATE dependency
The vfprintf test case require to open a temporary file to write, the old memfd_create() method is perfect but has strong dependency on MEM
selftests/nolibc: vfprintf: remove MEMFD_CREATE dependency
The vfprintf test case require to open a temporary file to write, the old memfd_create() method is perfect but has strong dependency on MEMFD_CREATE and also TMPFS or HUGETLBFS (see fs/Kconfig):
config MEMFD_CREATE def_bool TMPFS || HUGETLBFS
And from v6.2, MFD_NOEXEC_SEAL must be passed for the non-executable memfd, otherwise, The kernel warning will be output to the test result like this:
Running test 'vfprintf' 0 emptymemfd_create() without MFD_EXEC nor MFD_NOEXEC_SEAL, pid=1 'init' "" = "" [OK]
To avoid such warning and also to remove the MEMFD_CREATE dependency, let's open a file from tmpfs directly.
The /tmp directory is used to detect the existing of tmpfs, if not there, skip instead of fail.
And further, for pid == 1, the initramfs is loaded as ramfs, which can be used as tmpfs, so, it is able to further remove TMPFS dependency too.
Suggested-by: Thomas Weißschuh <linux@weissschuh.net> Link: https://lore.kernel.org/lkml/9ad51430-b7c0-47dc-80af-20c86539498d@t-8ch.de Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|
#
bbb14546 |
| 07-Jul-2023 |
Zhangjin Wu <falcon@tinylab.org> |
selftests/nolibc: prepare /tmp for tests that need to write
create a /tmp directory. If it succeeds, the directory is writable, which is normally the case when booted from an initramfs anyway.
This
selftests/nolibc: prepare /tmp for tests that need to write
create a /tmp directory. If it succeeds, the directory is writable, which is normally the case when booted from an initramfs anyway.
This will be used instead of procfs for some tests.
Reviewed-by: Thomas Weißschuh <linux@weissschuh.net> Signed-off-by: Zhangjin Wu <falcon@tinylab.org> Link: https://lore.kernel.org/lkml/20230710050600.9697-1-falcon@tinylab.org/ [wt: removed the unneeded mount() call] Signed-off-by: Willy Tarreau <w@1wt.eu>
show more ...
|