[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