Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

splice07 fails on kernels <5.10 #1156

Open
edliaw opened this issue Apr 29, 2024 · 2 comments
Open

splice07 fails on kernels <5.10 #1156

edliaw opened this issue Apr 29, 2024 · 2 comments
Labels

Comments

@edliaw
Copy link
Contributor

edliaw commented Apr 29, 2024

splice07 seems to depend on torvalds/linux@36e2c74 ("fs: don't allow splice read/write without explicit ops") to pass. I've compiled a list of failing combinations on 5.4, but I'm not sure what's the right approach to modifying the test:

in_fd out_fd error
TST_FD_PIPE_READ TST_FD_EPOLL hangs
TST_FD_PIPE_READ TST_FD_EVENTFD hangs
TST_FD_PIPE_READ TST_FD_SIGNALFD hangs
TST_FD_PIPE_READ TST_FD_TIMERFD hangs
TST_FD_PIPE_READ TST_FD_PIDFD hangs
TST_FD_PIPE_READ TST_FD_PERF_EVENT hangs
TST_FD_PIPE_READ TST_FD_IO_URING hangs
TST_FD_PIPE_READ TST_FD_BPF_MAP hangs
TST_FD_PIPE_READ TST_FD_FSOPEN hangs
TST_FD_PIPE_READ TST_FD_FSPICK hangs
TST_FD_INOTIFY TST_FD_PIPE_WRITE hangs
TST_FD_DIR TST_FD_PIPE_WRITE EISDIR
TST_FD_PERF_EVENT TST_FD_PIPE_WRITE ENODATA
TST_FD_FSOPEN TST_FD_PIPE_WRITE ENODATA
TST_FD_FSPICK TST_FD_PIPE_WRITE ENODATA

Should it just be gated by kernel version or is there a preferred way to modify it so that it is backwards compatible?

@pevik
Copy link
Member

pevik commented May 10, 2024

Thanks for a detailed table.

@metan-ucw @mdoucha know more than me. AFAIK we noticed at least incorrect errno EISDIR (obviously there is also ENODATA) and hang on TST_FD_EPOLL (I did not know about the following hangs), although AFAIK we did not reported it to the kernel mainline ML (lore).

splice07 seems to depend on torvalds/linux@36e2c74 ("fs: don't allow splice read/write without explicit ops") to pass.

Yes (https://lore.kernel.org/ltp/ZbO-Pl9S7KH2cKkb@yuki/).

FYI before the latest release we whitelisted 2 cases: (c042185, e5970b2) and had a plan to add tests which actually test
splice() on /dev/zero and /proc/self/maps for kernels between v4.4 and v5.3 where it was working (https://lore.kernel.org/ltp/20240126132046.GA508599@pevik/).

@pevik pevik added the bug label May 10, 2024
@pevik pevik pinned this issue May 10, 2024
@mdoucha
Copy link
Contributor

mdoucha commented May 10, 2024

The right approach would be to fix the kernel since all these failures are kernel bugs (maybe except for inotify -> writable pipe). It does not make sense to modify the test, not even to add a kernel version check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants