[LTP] [PATCH] splice07: require kernel version 5.10
Changwei Zou
changwei.zou@canonical.com
Mon Dec 15 11:20:23 CET 2025
Hi Petr,
The fix was intended to avoid running splice07 on older kernels.
However, you are right — that would hide the fact that those kernels are
buggy.
I couldn’t agree with you more.
Thank you very much for the detailed information.
Kind regards,
Changwei
On 12/15/25 18:59, Petr Vorel wrote:
> Hi Changwei,
>
>> On Linux kernel 5.9, the splice07 test fails as follows:
>> Running tests.......
>> tst_fd.c:260: TCONF: Skipping memfd secret: ENOSYS (38)
>> splice07.c:64: TINFO: directory -> ...
>> splice07.c:56: TPASS: splice() on directory -> file : EINVAL (22)
>> splice07.c:56: TPASS: splice() on directory -> O_PATH file : EBADF (9)
>> splice07.c:56: TPASS: splice() on directory -> directory : EBADF (9)
>> splice07.c:56: TPASS: splice() on directory -> /dev/zero : EBADF (9)
>> splice07.c:56: TPASS: splice() on directory -> /proc/self/maps : EBADF (9)
>> splice07.c:56: TPASS: splice() on directory -> pipe read end : EBADF (9)
>> splice07.c:56: TFAIL: splice() on directory -> pipe write end expected EBADF, EINVAL: EISDIR (21)
>> ...
>> splice07.c:64: TINFO: pipe read end -> ...
>> splice07.c:56: TPASS: splice() on pipe read end -> O_PATH file : EBADF (9)
>> splice07.c:56: TPASS: splice() on pipe read end -> directory : EBADF (9)
>> splice07.c:56: TPASS: splice() on pipe read end -> /dev/zero : EBADF (9)
>> splice07.c:56: TPASS: splice() on pipe read end -> /proc/self/maps : EBADF (9)
>> splice07.c:56: TPASS: splice() on pipe read end -> pipe read end : EBADF (9)
>> Test timeouted, sending SIGKILL!
>> tst_test.c:1918: TINFO: If you are running on slow machine, try exporting LTP_TIMEOUT_MUL > 1
>> tst_test.c:1920: TBROK: Test killed! (timeout?)
>> Summary:
>> passed 121
>> failed 1
>> broken 1
>> skipped 5
>> warnings 0
>> INFO: ltp-pan reported some tests FAIL
>> LTP Version: 20250930-60-gb446dd4ed
>> This test passes on kernel versions 5.10 and later.
> IMHO this is wrong. Older kernels are broken, and this would hide they are
> buggy. That's the reason why the related issue was closed [1].
> The correct way in ideal world would be to fix the kernel (but that would
> require nontrivial backports).
>
> FYI we have rule "Do not work around kernel bugs" (the doc is not yet
> merged [2], but will be soon to be visible in docs [3]) and this would violate
> it.
>
> Kind regards,
> Petr
>
> [1]https://github.com/linux-test-project/ltp/issues/1156
> [2]https://lore.kernel.org/ltp/20251209120246.18435-1-chrubis@suse.cz/
> [3]https://linux-test-project.readthedocs.io/
>
>> Signed-off-by: Changwei Zou<changwei.zou@canonical.com>
>> ---
>> testcases/kernel/syscalls/splice/splice07.c | 1 +
>> 1 file changed, 1 insertion(+)
>> diff --git a/testcases/kernel/syscalls/splice/splice07.c b/testcases/kernel/syscalls/splice/splice07.c
>> index c750a14bf..10206514f 100644
>> --- a/testcases/kernel/syscalls/splice/splice07.c
>> +++ b/testcases/kernel/syscalls/splice/splice07.c
>> @@ -69,4 +69,5 @@ static void verify_splice(void)
>> static struct tst_test test = {
>> .test_all = verify_splice,
>> + .min_kver = "5.10",
>> };
More information about the ltp
mailing list