commit:     3a0024d36447e2aa8242526ec3c6df0baac2d847
Author:     Arisu Tachibana <alicef <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  4 13:11:17 2026 +0000
Commit:     Arisu Tachibana <alicef <AT> gentoo <DOT> org>
CommitDate: Wed Mar  4 13:11:17 2026 +0000
URL:        https://gitweb.gentoo.org/proj/linux-patches.git/commit/?id=3a0024d3

Linux patch 6.18.15

Signed-off-by: Arisu Tachibana <alicef <AT> gentoo.org>

 0000_README              |  4 +++
 1014_linux-6.18.15.patch | 67 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 71 insertions(+)

diff --git a/0000_README b/0000_README
index 46c6ee68..1571aa41 100644
--- a/0000_README
+++ b/0000_README
@@ -99,6 +99,10 @@ Patch:  1013_linux-6.18.14.patch
 From:   https://www.kernel.org
 Desc:   Linux 6.18.14
 
+Patch:  1014_linux-6.18.15.patch
+From:   https://www.kernel.org
+Desc:   Linux 6.18.15
+
 Patch:  1510_fs-enable-link-security-restrictions-by-default.patch
 From:   
http://sources.debian.net/src/linux/3.16.7-ckt4-3/debian/patches/debian/fs-enable-link-security-restrictions-by-default.patch/
 Desc:   Enable link security restrictions by default.

diff --git a/1014_linux-6.18.15.patch b/1014_linux-6.18.15.patch
new file mode 100644
index 00000000..132340d9
--- /dev/null
+++ b/1014_linux-6.18.15.patch
@@ -0,0 +1,67 @@
+diff --git a/Makefile b/Makefile
+index d166d069509991..e4aa2e76ea563a 100644
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,7 @@
+ # SPDX-License-Identifier: GPL-2.0
+ VERSION = 6
+ PATCHLEVEL = 18
+-SUBLEVEL = 14
++SUBLEVEL = 15
+ EXTRAVERSION =
+ NAME = Baby Opossum Posse
+ 
+diff --git a/include/net/netfilter/nf_tables.h 
b/include/net/netfilter/nf_tables.h
+index 7eac73f9b4ce34..05f57ba6224476 100644
+--- a/include/net/netfilter/nf_tables.h
++++ b/include/net/netfilter/nf_tables.h
+@@ -456,6 +456,7 @@ struct nft_set_ext;
+  *    @init: initialize private data of new set instance
+  *    @destroy: destroy private data of set instance
+  *    @gc_init: initialize garbage collection
++ *    @abort_skip_removal: skip removal of elements from abort path
+  *    @elemsize: element private size
+  *
+  *    Operations lookup, update and delete have simpler interfaces, are faster
+@@ -513,6 +514,7 @@ struct nft_set_ops {
+                                                  const struct nft_set *set);
+       void                            (*gc_init)(const struct nft_set *set);
+ 
++      bool                            abort_skip_removal;
+       unsigned int                    elemsize;
+ };
+ 
+diff --git a/net/netfilter/nf_tables_api.c b/net/netfilter/nf_tables_api.c
+index df367638cdef0f..d4babc4d3bff38 100644
+--- a/net/netfilter/nf_tables_api.c
++++ b/net/netfilter/nf_tables_api.c
+@@ -7821,7 +7821,8 @@ static bool nft_trans_elems_new_abort(const struct 
nft_ctx *ctx,
+                       continue;
+               }
+ 
+-              if (!te->set->ops->abort || nft_setelem_is_catchall(te->set, 
te->elems[i].priv))
++              if (!te->set->ops->abort_skip_removal ||
++                  nft_setelem_is_catchall(te->set, te->elems[i].priv))
+                       nft_setelem_remove(ctx->net, te->set, 
te->elems[i].priv);
+ 
+               if (!nft_setelem_is_catchall(te->set, te->elems[i].priv))
+diff --git a/net/netfilter/nft_set_pipapo.c b/net/netfilter/nft_set_pipapo.c
+index 6d77a5f0088ad0..18e1903b1d3d0b 100644
+--- a/net/netfilter/nft_set_pipapo.c
++++ b/net/netfilter/nft_set_pipapo.c
+@@ -2370,6 +2370,7 @@ const struct nft_set_type nft_set_pipapo_type = {
+               .gc_init        = nft_pipapo_gc_init,
+               .commit         = nft_pipapo_commit,
+               .abort          = nft_pipapo_abort,
++              .abort_skip_removal = true,
+               .elemsize       = offsetof(struct nft_pipapo_elem, ext),
+       },
+ };
+@@ -2394,6 +2395,7 @@ const struct nft_set_type nft_set_pipapo_avx2_type = {
+               .gc_init        = nft_pipapo_gc_init,
+               .commit         = nft_pipapo_commit,
+               .abort          = nft_pipapo_abort,
++              .abort_skip_removal = true,
+               .elemsize       = offsetof(struct nft_pipapo_elem, ext),
+       },
+ };

Reply via email to