Fix Linux 6.17 kernel API compatibility#254
Open
absalonCRC wants to merge 1 commit into
Open
Conversation
Support recent kernel API changes that break module builds and loading on 6.17-era kernels: const sysctl handlers, no sysctl sentinel entries from 6.11, linux/unaligned.h from 6.12, strscpy instead of strlcpy, and timer_delete_sync from 6.15. The compatibility guards follow the Debian/Ubuntu iptables-netflow DKMS fixes for Linux 6.11, 6.12, and 6.15 while keeping older kernel support.
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #250. Also covers the build failure in #249.
This updates the module for recent kernel API changes that show up on 6.17-era kernels:
linux/unaligned.hfrom Linux 6.12 onward and keepgen_compat_deftesting the right header forput_unaligned_be24strlcpycalls withstrscpy, with an old-kernel fallbacktimer_delete_syncfrom Linux 6.15 onwardprandom_u32*helpers toget_random_u32*on newer kernelsThe guards are based on the Debian/Ubuntu iptables-netflow DKMS compatibility fixes for Linux 6.11, 6.12, and 6.15, folded into the upstream tree.
Local checks I could run from this macOS host:
git diff --checkbash -n gen_compat_defbash -n configureI cannot locally load/build the kernel module on this host, so the important runtime check is still
dkms build/modprobe ipt_NETFLOWon the target Linux 6.17 system.