From 81bc5f3db8f9ba812836036d5d3e54e933ca2cd6 Mon Sep 17 00:00:00 2001 From: Robert Hensing Date: Mon, 15 May 2023 20:29:07 +0200 Subject: [PATCH] pkgs/linux: Vendor maple tree patch Fetching from a maintainer tree can be unreliable as commits or even repos may be removed. --- ...-state-reusable-after-mas_empty_area.patch | 21 +++++++++++++++++++ pkgs/os-specific/linux/kernel/patches.nix | 9 +++----- 2 files changed, 24 insertions(+), 6 deletions(-) create mode 100644 pkgs/os-specific/linux/kernel/make-maple-state-reusable-after-mas_empty_area.patch diff --git a/pkgs/os-specific/linux/kernel/make-maple-state-reusable-after-mas_empty_area.patch b/pkgs/os-specific/linux/kernel/make-maple-state-reusable-after-mas_empty_area.patch new file mode 100644 index 000000000000..47e1bbbd5a68 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/make-maple-state-reusable-after-mas_empty_area.patch @@ -0,0 +1,21 @@ +--- a/lib/maple_tree.c ++++ b/lib/maple_tree.c +@@ -5317,15 +5317,9 @@ + + mt = mte_node_type(mas->node); + pivots = ma_pivots(mas_mn(mas), mt); +- if (offset) +- mas->min = pivots[offset - 1] + 1; +- +- if (offset < mt_pivots[mt]) +- mas->max = pivots[offset]; +- +- if (mas->index < mas->min) +- mas->index = mas->min; +- ++ min = mas_safe_min(mas, pivots, offset); ++ if (mas->index < min) ++ mas->index = min; + mas->last = mas->index + size - 1; + return 0; + } diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix index 3a76ed2d0882..2330db4e68c3 100644 --- a/pkgs/os-specific/linux/kernel/patches.nix +++ b/pkgs/os-specific/linux/kernel/patches.nix @@ -58,13 +58,10 @@ patch = ./export-rt-sched-migrate.patch; }; - make-maple-state-reusable-after-mas_empty_area = rec { + # https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/patch/?id=39bf07d812b888b23983a9443ad967ca9b61551d + make-maple-state-reusable-after-mas_empty_area = { name = "make-maple-state-reusable-after-mas_empty_area"; - patch = fetchpatch { - name = name + ".patch"; - url = "https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git/patch/?id=39bf07d812b888b23983a9443ad967ca9b61551d"; - hash = "sha256-JHEFq+Gw8Dtl0M8pXcKXpwkaHhbbl5NwTSzvV5qP4hk="; - }; + patch = ./make-maple-state-reusable-after-mas_empty_area.patch; }; fix-em-ice-bonding = {