Skip to content

Conversation

@achyuki
Copy link

@achyuki achyuki commented Dec 9, 2025

Since this commit, on Linux kernel versions 5.10 and later, splice syscalls for some pseudo files that do not implement splice_read (such as /configfs and /proc/config.gz) will no longer be available and will throw an EINVAL error. Previously, they worked correctly.

Log:

1765217146.998 10322 13163 14367 E EXAMPLE : Caused by: android.system.ErrnoException: splice failed: EINVAL (Invalid argument)
1765217146.998 10322 13163 14367 E EXAMPLE : at libcore.io.Linux.splice(Native Method)
1765217146.998 10322 13163 14367 E EXAMPLE : at libcore.io.ForwardingOs.splice(ForwardingOs.java:831)
1765217146.998 10322 13163 14367 E EXAMPLE : at libcore.io.BlockGuardOs.splice(BlockGuardOs.java:513)
1765217146.998 10322 13163 14367 E EXAMPLE : at android.system.Os.splice(Os.java:899)
1765217146.998 10322 13163 14367 E EXAMPLE : at java.lang.reflect.Method.invoke(Native Method)
1765217146.998 10322 13163 14367 E EXAMPLE : at com.topjohnwu.superuser.internal.OpenFile.pread(OpenFile.java:122)
1765217146.998 10322 13163 14367 E EXAMPLE : at com.topjohnwu.superuser.internal.FileUtils.splice(FileUtils.java:164)
1765217146.998 10322 13163 14367 E EXAMPLE : at com.topjohnwu.superuser.internal.FileSystemService.pread(FileSystemService.java:270)
1765217146.998 10322 13163 14367 E EXAMPLE : at com.topjohnwu.superuser.internal.IFileSystemService$Stub.onTransact(IFileSystemService.java:492)
1765217146.998 10322 13163 14367 E EXAMPLE : at android.os.Binder.execTransactInternal(Binder.java:1285)
1765217146.998 10322 13163 14367 E EXAMPLE : at android.os.Binder.execTransact(Binder.java:1249)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant