Hello,
This patch series enables purecap applications to utilise tcp_zerocopy_receive to map packets directly from a network interface card into a shared space with the process and kernel.
I do not think I shall have time to continue revising this patch series and debugging the bus error generated by the latest patch. Hopefully this provides a start to tcp_zerocopy_receive for capability architecture.
v2: - There appears to be a new error generated against musl resulting in a BUS error when using memcpy to copy between allocated shared space and other regions of memory. - Rebase patch order to ensure aarch64 support throughout commits. - Fix naming convention format issues for compat structs and functions. - Remove uaddr_to_user_ptr usage to enforce capability model.
v1: I have tested these changes against musl and there still exists an issue in this implementation with copybuf and potentially msg_control generating an EFAULT error.
Gitlab Issue: - https://git.morello-project.org/morello/kernel/linux/-/issues/46
Review branch: - https://git.morello-project.org/harryramsey/linux/-/commits/tcp_zerocopy
Thanks, Harry
Harry Ramsey (2): tcp: Implement compat version of tcp_zerocopy_receive tcp: Support userspace capabilities for tcp_zerocopy_receive
include/linux/sockptr.h | 28 ++++++++ include/uapi/linux/tcp.h | 6 +- net/ipv4/tcp.c | 135 ++++++++++++++++++++++++++++++++++----- 3 files changed, 149 insertions(+), 20 deletions(-)