diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix index e0a3c4319b8b..652468002775 100644 --- a/pkgs/os-specific/linux/kernel-headers/default.nix +++ b/pkgs/os-specific/linux/kernel-headers/default.nix @@ -111,18 +111,15 @@ let in { inherit makeLinuxHeaders; - linuxHeaders = let version = "6.5"; in + linuxHeaders = let version = "6.6"; in makeLinuxHeaders { inherit version; src = fetchurl { url = "mirror://kernel/linux/kernel/v${lib.versions.major version}.x/linux-${version}.tar.xz"; - hash = "sha256-eldLvCCALqdrUsp/rwcmf3IEXoYbGJFcUnKpjCer+IQ="; + hash = "sha256-2SagbGPdisffP4buH/ws4qO4Gi0WhITna1s4mrqOVtA="; }; patches = [ ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms - - # Fix regression turning `struct sockaddr_ll` flexible size. - ./revert-af_packet-flex.patch ]; }; } diff --git a/pkgs/os-specific/linux/kernel-headers/revert-af_packet-flex.patch b/pkgs/os-specific/linux/kernel-headers/revert-af_packet-flex.patch deleted file mode 100644 index ed6c8861d2fb..000000000000 --- a/pkgs/os-specific/linux/kernel-headers/revert-af_packet-flex.patch +++ /dev/null @@ -1,31 +0,0 @@ -Revert commit https://github.com/torvalds/linux/commit/a0ade8404c3bc2bf2631cb0f20d372eed22d9d96 - -The change caused API regression by turning fixed size struct to -flexible size struct. It was an unintentional change, broke `udp2raw`: - https://github.com/NixOS/nixpkgs/pull/252587#issuecomment-1744427473 ---- a/include/uapi/linux/if_packet.h -+++ b/include/uapi/linux/if_packet.h -@@ -18,11 +18,7 @@ struct sockaddr_ll { - unsigned short sll_hatype; - unsigned char sll_pkttype; - unsigned char sll_halen; -- union { -- unsigned char sll_addr[8]; -- /* Actual length is in sll_halen. */ -- __DECLARE_FLEX_ARRAY(unsigned char, sll_addr_flex); -- }; -+ unsigned char sll_addr[8]; - }; - - /* Packet types */ ---- a/net/packet/af_packet.c -+++ b/net/packet/af_packet.c -@@ -3607,7 +3607,7 @@ static int packet_getname(struct socket *sock, struct sockaddr *uaddr, - if (dev) { - sll->sll_hatype = dev->type; - sll->sll_halen = dev->addr_len; -- memcpy(sll->sll_addr_flex, dev->dev_addr, dev->addr_len); -+ memcpy(sll->sll_addr, dev->dev_addr, dev->addr_len); - } else { - sll->sll_hatype = 0; /* Bad: we have no ARPHRD_UNSPEC */ - sll->sll_halen = 0;