Branch: refs/heads/misc-bugfixes
Home: https://github.com/kronosnet/kronosnet
Commit: af7e176421247dbeb528aef7162580ddaba3fc02
https://github.com/kronosnet/kronosnet/commit/af7e176421247dbeb528aef716258…
Author: Fabio M. Di Nitto <fdinitto(a)redhat.com>
Date: 2026-05-27 (Wed, 27 May 2026)
Changed paths:
M libknet/handle_api.c
M libknet/libknet.h
M libknet/tests/Makefile.am
M libknet/tests/api_knet_handle_add_datafd.c
Log Message:
-----------
libknet: add comprehensive file descriptor validation in knet_handle_add_datafd
Add validation to reject unsupported file descriptor types and document
supported types in knet_handle_add_datafd API documentation.
Reject:
- User-provided AF_UNIX socketpairs (both SOCK_SEQPACKET and SOCK_DGRAM)
Detected via getpeername() returning addrlen == sizeof(sa_family_t)
- Unidirectional pipes (both O_RDONLY and O_WRONLY ends)
Detected via fstat() + S_ISFIFO() + fcntl(F_GETFL) checking O_ACCMODE
- Unconnected/unbound sockets (SOCK_STREAM and SOCK_DGRAM)
Detected via getpeername() ENOTCONN + getsockname() checks
Accept:
- knet-created socketpairs (datafd=0, both ends available internally)
- TAP devices via libnozzle (primary use case)
- Connected sockets (AF_INET, AF_INET6, etc.)
Add comprehensive test coverage including both blacklist (rejected types)
and whitelist (accepted types) tests to api_knet_handle_add_datafd_test.
Signed-off-by: Fabio M. Di Nitto <fabbione(a)kronosnet.org>
Co-Authored-By: Claude Sonnet 4.5 <noreply(a)anthropic.com>
To unsubscribe from these emails, change your notification settings at https://github.com/kronosnet/kronosnet/settings/notifications
33/86 Non-voting fails: openindiana-x86-64(nonvoting: Run tests) debian-experimental-x86-64(nonvoting: Run tests) alpine-x86-64(nonvoting: Run tests) openindiana-x86-64(nonvoting_debug: Run tests) fedora-rawhide-x86-64(nonvoting: Run tests) openindiana-x86-64(nonvoting-clang: Run tests) alpine-x86-64(nonvoting-clang: Build source) ubuntu-22-04-lts-x86-64(nonvoting-clang: Run tests) debian-12-x86-64(nonvoting-clang: Run tests) ubuntu-24-04-lts-x86-64(nonvoting-clang: Run tests) alpine-x86-64(nonvoting-clang_debug: Build source) rhel-10-x86-64(nonvoting-clang: Run tests) centos-10-x86-64(nonvoting-clang: Run tests) rhel-9-x86-64(nonvoting-clang: Run tests) rhel-8-x86-64(nonvoting-clang: Run tests) centos-9-x86-64(nonvoting-clang: Run tests) rhel-8-s390x(nonvoting-clang: Run tests) openindiana-x86-64(nonvoting-clang_debug: Run tests) ubuntu-22-04-lts-x86-64(nonvoting-clang_debug: Run tests) rhel-10-power9-ppc64le(nonvoting-clang: Run tests) fedora-rawhide-s390x(nonvoting_debug: Run tests) rhel-9-x86-64(nonvoting-clang_debug: Run tests) centos-9-x86-64(nonvoting-clang_debug: Run tests) rhel-8-s390x(nonvoting-clang_debug: Run tests) rhel-10-power9-ppc64le(nonvoting-clang_debug: Run tests) rhel-8-power9-ppc64le(nonvoting-clang: Run tests) fedora-43-s390x(nonvoting-clang: Run tests) fedora-rawhide-s390x(nonvoting-clang: Run tests) fedora-rawhide-power9-ppc64le(nonvoting_debug: Run tests) fedora-43-s390x(nonvoting-clang_debug: Run tests) fedora-rawhide-s390x(nonvoting-clang_debug: Run tests) fedora-rawhide-power9-ppc64le(nonvoting-clang: Run tests) fedora-43-power9-ppc64le(nonvoting-clang: Run tests)
30/79 Voting fails: rhel-10-coverity-x86-64(voting: Run tests) rhel-8-coverity-x86-64(voting: Run tests) rhel-9-coverity-x86-64(voting: Run tests) ubuntu-22-04-lts-x86-64(voting: Run tests) debian-12-x86-64(voting: Run tests) ubuntu-24-04-lts-x86-64(voting: Run tests) debian-13-x86-64(voting: Run tests) rhel-10-coverity-x86-64(voting_debug: Run tests) rhel-8-coverity-x86-64(voting_debug: Run tests) rhel-10-x86-64(voting: Run tests) centos-10-x86-64(voting: Run tests) rhel-9-x86-64(voting: Run tests) rhel-8-x86-64(voting: Run tests) centos-9-x86-64(voting: Run tests) rhel-9-s390x(voting: Run tests) rhel-8-s390x(voting: Run tests) debian-12-x86-64(voting_debug: Run tests) centos-9-s390x(voting: Run tests) rhel-10-x86-64(voting_debug: Run tests) centos-10-x86-64(voting_debug: Run tests) rhel-8-x86-64(voting_debug: Run tests) rhel-9-s390x(voting_debug: Run tests) rhel-8-s390x(voting_debug: Run tests) rhel-10-s390x(voting_debug: Run tests) centos-10-s390x(voting_debug: Run tests) centos-9-s390x(voting_debug: Run tests) rhel-10-power9-ppc64le(voting_debug: Run tests) rhel-8-power9-ppc64le(voting_debug: Run tests) fedora-43-s390x(voting_debug: Run tests) fedora-43-power9-ppc64le(voting_debug: Run tests)
Run reason: Pull request #486 updated
Total runtime: 1 hr 6 min
Split logs: https://ci.kronosnet.org/job/kronosnet/job/kronosnet-pipeline/job/PR-486/15…
Full log: https://ci.kronosnet.org/job/kronosnet/job/kronosnet-pipeline/job/PR-486/15…
Full Coverity results:
http://ci.kronosnet.org/coverity/kronosnet/rhel-10-coverity-x86-64/pr486//15http://ci.kronosnet.org/coverity/kronosnet/rhel-8-coverity-x86-64/pr486//15http://ci.kronosnet.org/coverity/kronosnet/rhel-9-coverity-x86-64/pr486//15
Duplicate job killed: kronosnet/kronosnet-pipeline/PR-486 (14)