make SCTP in images work older Linux kernels #477
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.
Linux SCTP ioctl argument length checking is not forward compatible with newer kernel headers.
The length of the SCTP ioctl argument is based on the size of some SCTP structs. If code compiled with newer kernel headers, where the SCTP structs are larger, is running on an older kernel and tries to pass an SCTP struct that is larger than what the running kernel supports, then the ioctl results in an error.
Erlang's SCTP code does exactly that. This means that SCTP in an Erlang VM that has been compiled with recent kernel headers will not work on older kernels.
This change pulls in Linux 5.4.5 kernel headers (and only the kernel headers) from Alpine 3.12. The resulting images will have working SCTP support when running on Linux 5.4.5 and newer.
Replacement for the outdated #336, fixes #332