* [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write
@ 2024-01-25 15:51 Petr Vorel
2024-01-26 12:00 ` Cyril Hrubis
2024-01-29 9:58 ` Martin Doucha
0 siblings, 2 replies; 5+ messages in thread
From: Petr Vorel @ 2024-01-25 15:51 UTC (permalink / raw)
To: ltp; +Cc: Jan Kara
/dev/zero on pipe write started to succeeded on kernel 6.7.
Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
Hi,
@Jan could you please check the problem is a kernel 6.7 bug
or just wanted change and we should whitelist /dev/zero on pipe write?
Thanks!
Kind regards,
Petr
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 135c42e47..1fa13b3e6 100644
--- a/testcases/kernel/syscalls/splice/splice07.c
+++ b/testcases/kernel/syscalls/splice/splice07.c
@@ -38,6 +38,7 @@ static void check_splice(struct tst_fd *fd_in, struct tst_fd *fd_out)
if (fd_out->type == TST_FD_PIPE_WRITE) {
switch (fd_in->type) {
/* While these combinations succeeed */
+ case TST_FD_DEV_ZERO:
case TST_FD_FILE:
case TST_FD_MEMFD:
return;
--
2.43.0
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write
2024-01-25 15:51 [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write Petr Vorel
@ 2024-01-26 12:00 ` Cyril Hrubis
2024-01-29 9:58 ` Martin Doucha
1 sibling, 0 replies; 5+ messages in thread
From: Cyril Hrubis @ 2024-01-26 12:00 UTC (permalink / raw)
To: Petr Vorel; +Cc: Jan Kara, ltp
Hi!
> /dev/zero on pipe write started to succeeded on kernel 6.7.
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Hi,
>
> @Jan could you please check the problem is a kernel 6.7 bug
> or just wanted change and we should whitelist /dev/zero on pipe write?
>
> Thanks!
>
> Kind regards,
> Petr
>
> 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 135c42e47..1fa13b3e6 100644
> --- a/testcases/kernel/syscalls/splice/splice07.c
> +++ b/testcases/kernel/syscalls/splice/splice07.c
> @@ -38,6 +38,7 @@ static void check_splice(struct tst_fd *fd_in, struct tst_fd *fd_out)
> if (fd_out->type == TST_FD_PIPE_WRITE) {
> switch (fd_in->type) {
> /* While these combinations succeeed */
> + case TST_FD_DEV_ZERO:
long as the reading end is open and there is a space in the pipe. So I
suppose that we got EINVAL because the /dev/zero didn't support splice.
And indeed looking at git log drivers/char/mem.c shows:
commit 1b057bd800c3ea0c926191d7950cd2365eddc9bb
Author: Max Kellermann <max.kellermann@ionos.com>
Date: Tue Sep 19 09:37:42 2023 +0200
drivers/char/mem: implement splice() for /dev/zero, /dev/full
This allows splicing zeroed pages into a pipe, and allows discarding
pages from a pipe by splicing them to /dev/zero. Writing to /dev/zero
should have the same effect as writing to /dev/null, and a
"splice_write" implementation exists only for /dev/null.
(The /dev/zero splice_read implementation could be optimized by
pushing references to the global zero page to the pipe, but that's an
optimization for another day.)
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Link: https://lore.kernel.org/r/20230919073743.1066313-1-max.kellermann@ionos.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
With that I guess that we may want to skip the test only on newer
kernels and possibly implement splice test for these two special files
later on.
> case TST_FD_FILE:
> case TST_FD_MEMFD:
> return;
> --
> 2.43.0
>
--
Cyril Hrubis
chrubis@suse.cz
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write
2024-01-25 15:51 [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write Petr Vorel
2024-01-26 12:00 ` Cyril Hrubis
@ 2024-01-29 9:58 ` Martin Doucha
2024-01-29 10:07 ` Cyril Hrubis
2024-01-29 10:08 ` Petr Vorel
1 sibling, 2 replies; 5+ messages in thread
From: Martin Doucha @ 2024-01-29 9:58 UTC (permalink / raw)
To: Petr Vorel, ltp; +Cc: Jan Kara
Hi,
we should drop v2 and merge this patch.
Reviewed-by: Martin Doucha <mdoucha@suse.cz>
On 25. 01. 24 16:51, Petr Vorel wrote:
> /dev/zero on pipe write started to succeeded on kernel 6.7.
>
> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> Hi,
>
> @Jan could you please check the problem is a kernel 6.7 bug
> or just wanted change and we should whitelist /dev/zero on pipe write?
>
> Thanks!
>
> Kind regards,
> Petr
>
> 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 135c42e47..1fa13b3e6 100644
> --- a/testcases/kernel/syscalls/splice/splice07.c
> +++ b/testcases/kernel/syscalls/splice/splice07.c
> @@ -38,6 +38,7 @@ static void check_splice(struct tst_fd *fd_in, struct tst_fd *fd_out)
> if (fd_out->type == TST_FD_PIPE_WRITE) {
> switch (fd_in->type) {
> /* While these combinations succeeed */
> + case TST_FD_DEV_ZERO:
> case TST_FD_FILE:
> case TST_FD_MEMFD:
> return;
--
Martin Doucha mdoucha@suse.cz
SW Quality Engineer
SUSE LINUX, s.r.o.
CORSO IIa
Krizikova 148/34
186 00 Prague 8
Czech Republic
--
Mailing list info: https://lists.linux.it/listinfo/ltp
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2024-01-29 10:08 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-01-25 15:51 [LTP] [PATCH 1/1] splice07: Whitelist /dev/zero on pipe write Petr Vorel
2024-01-26 12:00 ` Cyril Hrubis
2024-01-29 9:58 ` Martin Doucha
2024-01-29 10:07 ` Cyril Hrubis
2024-01-29 10:08 ` Petr Vorel
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox