Jakub Kicinski
2026-Feb-03 22:40 UTC
[klibc] [PATCH net-next v2 0/4] net: uapi: Provide an UAPI definition of 'struct sockaddr'
On Tue, 3 Feb 2026 12:42:22 +0100 Thomas Wei?schuh wrote:> > FWIW the typelimits change broke compilation of ethtool, we'll see if > > anyone "outside kernel community itself" complains. > > Can you point me to that breakage? I was unable to find it.Not reported on the ML, and it's kinda annoying to repro because the uAPI header sync script isn't committed :/ You have to check this out https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/ and run a script like this to sync headers from the kernel (then build): #!/bin/bash -e sn="${0##*/}" export ARCH="x86_64" if [ ! -d "$LINUX_GIT" ]; then echo "${sn}: LINUX_GIT not set" >&2 exit 1 fi pushd "$LINUX_GIT" if [ -n "$1" ]; then git checkout "$1" fi desc=$(git describe --exact-match 2>/dev/null \ || git show -s --abbrev=12 --pretty='commit %h') kobj=$(mktemp -d) make -j16 O="$kobj" allmodconfig make -j16 O="$kobj" prepare make -j16 O="$kobj" INSTALL_HDR_PATH="${kobj}/hdr" headers_install popd pushd uapi find . -type f -name '*.h' -exec cp -v "${kobj}/hdr/include/{}" {} \; popd rm -rf "$kobj" git add uapi git commit -s -F - <<EOT update UAPI header copies Update to kernel ${desc}. EOT
Thomas Weißschuh
2026-Feb-04 05:51 UTC
[klibc] [PATCH net-next v2 0/4] net: uapi: Provide an UAPI definition of 'struct sockaddr'
On Tue, Feb 03, 2026 at 02:40:11PM -0800, Jakub Kicinski wrote:> On Tue, 3 Feb 2026 12:42:22 +0100 Thomas Wei?schuh wrote: > > > FWIW the typelimits change broke compilation of ethtool, we'll see if > > > anyone "outside kernel community itself" complains. > > > > Can you point me to that breakage? I was unable to find it. > > Not reported on the ML, and it's kinda annoying to repro because > the uAPI header sync script isn't committed :/ You have to check > this out > > https://git.kernel.org/pub/scm/network/ethtool/ethtool.git/ > > and run a script like this to sync headers from the kernel (then build): > > #!/bin/bash -e > > sn="${0##*/}" > export ARCH="x86_64" > > if [ ! -d "$LINUX_GIT" ]; then > echo "${sn}: LINUX_GIT not set" >&2 > exit 1 > fi > > pushd "$LINUX_GIT" > if [ -n "$1" ]; then > git checkout "$1" > fi > desc=$(git describe --exact-match 2>/dev/null \ > || git show -s --abbrev=12 --pretty='commit %h') > kobj=$(mktemp -d)> make -j16 O="$kobj" allmodconfig > make -j16 O="$kobj" prepareThese are not necessary. The UAPI generation does not need a kernel configuration.> make -j16 O="$kobj" INSTALL_HDR_PATH="${kobj}/hdr" headers_install > popd > > pushd uapi > find . -type f -name '*.h' -exec cp -v "${kobj}/hdr/include/{}" {} \;Here only those headers which already exist in ethtool's uapi/ directory are copied. As linux/typelimits.h is new, it is now missing. Honestly, if a user fiddles with the internals of the UAPI headers like this, it is on them to update their code if the internal structure changes. In your case a simple 'touch uapi/linux/typelimits.h' before running the script will be enough. Also internal.h now requires an explicit inclusion of <limits.h>, as that is not satisfied by the UAPI anymore.> popd > rm -rf "$kobj" > > git add uapi > git commit -s -F - <<EOT > update UAPI header copies > > Update to kernel ${desc}. > > EOT