From f0c72c771e0f59fb62c6155f25b30b8fee9037ce Mon Sep 17 00:00:00 2001 From: "Justin M. Forbes" Date: Wed, 13 May 2026 08:32:55 -0600 Subject: [PATCH] kernel-7.0.6-200 * Wed May 13 2026 Justin M. Forbes [7.0.6-0] - net: skbuff: propagate shared-frag marker through pskb_copy() (Hyunwoo Kim) - net: skbuff: preserve shared-frag marker during coalescing (William Bowling) - Add BugsFixed for 7.0.7 (Justin M. Forbes) - ovl: fix verity lazy-load guard broken by fsverity_active() semantic change (Colin Walters) - Revert rxrpc dirtyfrag fix in favor of version which landed upstream (Justin M. Forbes) - Re-enable Intel MEI for Fedora x86 (Justin M. Forbes) - xfrm: esp: avoid in-place decrypt on shared skb frags (Kuan-Ting Chen) - rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present (Hyunwoo Kim) - Linux v7.0.6 Resolves: Signed-off-by: Justin M. Forbes --- Patchlist.changelog | 12 +++ kernel-x86_64-debug-fedora.config | 2 +- kernel-x86_64-fedora.config | 2 +- kernel-x86_64-rt-debug-fedora.config | 2 +- kernel-x86_64-rt-fedora.config | 2 +- kernel.changelog | 12 +++ kernel.spec | 17 ++-- patch-7.0-redhat.patch | 122 ++++++++------------------- sources | 6 +- 9 files changed, 79 insertions(+), 98 deletions(-) diff --git a/Patchlist.changelog b/Patchlist.changelog index 8a6f27a8f..1d08eccdf 100644 --- a/Patchlist.changelog +++ b/Patchlist.changelog @@ -1,3 +1,15 @@ +https://gitlab.com/cki-project/kernel-ark/-/commit/0093dd5c7d132be534f197598494eb792ddf886f + 0093dd5c7d132be534f197598494eb792ddf886f net: skbuff: propagate shared-frag marker through pskb_copy() + +https://gitlab.com/cki-project/kernel-ark/-/commit/b4e41de49514fbc5a741441d3988a024dd68a859 + b4e41de49514fbc5a741441d3988a024dd68a859 net: skbuff: preserve shared-frag marker during coalescing + +https://gitlab.com/cki-project/kernel-ark/-/commit/3d6c6ad31de8618af59b488f641577411c9f4513 + 3d6c6ad31de8618af59b488f641577411c9f4513 ovl: fix verity lazy-load guard broken by fsverity_active() semantic change + +https://gitlab.com/cki-project/kernel-ark/-/commit/bc3c698504d2fac0a45904d184caddfc512f8fef + bc3c698504d2fac0a45904d184caddfc512f8fef Revert rxrpc dirtyfrag fix in favor of version which landed upstream + https://gitlab.com/cki-project/kernel-ark/-/commit/eeaa13aa75f77515556db57762d369b57878725c eeaa13aa75f77515556db57762d369b57878725c xfrm: esp: avoid in-place decrypt on shared skb frags diff --git a/kernel-x86_64-debug-fedora.config b/kernel-x86_64-debug-fedora.config index 1cc35365d..9eec9b1fd 100644 --- a/kernel-x86_64-debug-fedora.config +++ b/kernel-x86_64-debug-fedora.config @@ -3249,8 +3249,8 @@ CONFIG_INTEL_ISHTP_ECLITE=m CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_GSC_PROXY=m CONFIG_INTEL_MEI_HDCP=m -# CONFIG_INTEL_MEI is not set CONFIG_INTEL_MEI_LB=m +CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_PXP=m CONFIG_INTEL_MEI_TXE=m diff --git a/kernel-x86_64-fedora.config b/kernel-x86_64-fedora.config index bb0554378..90244c29a 100644 --- a/kernel-x86_64-fedora.config +++ b/kernel-x86_64-fedora.config @@ -3229,8 +3229,8 @@ CONFIG_INTEL_ISHTP_ECLITE=m CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_GSC_PROXY=m CONFIG_INTEL_MEI_HDCP=m -# CONFIG_INTEL_MEI is not set CONFIG_INTEL_MEI_LB=m +CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_PXP=m CONFIG_INTEL_MEI_TXE=m diff --git a/kernel-x86_64-rt-debug-fedora.config b/kernel-x86_64-rt-debug-fedora.config index fe58314bf..0be6d732b 100644 --- a/kernel-x86_64-rt-debug-fedora.config +++ b/kernel-x86_64-rt-debug-fedora.config @@ -3254,8 +3254,8 @@ CONFIG_INTEL_ISHTP_ECLITE=m CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_GSC_PROXY=m CONFIG_INTEL_MEI_HDCP=m -# CONFIG_INTEL_MEI is not set CONFIG_INTEL_MEI_LB=m +CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_PXP=m CONFIG_INTEL_MEI_TXE=m diff --git a/kernel-x86_64-rt-fedora.config b/kernel-x86_64-rt-fedora.config index b405f0cdd..d2a32f301 100644 --- a/kernel-x86_64-rt-fedora.config +++ b/kernel-x86_64-rt-fedora.config @@ -3234,8 +3234,8 @@ CONFIG_INTEL_ISHTP_ECLITE=m CONFIG_INTEL_MEI_GSC=m CONFIG_INTEL_MEI_GSC_PROXY=m CONFIG_INTEL_MEI_HDCP=m -# CONFIG_INTEL_MEI is not set CONFIG_INTEL_MEI_LB=m +CONFIG_INTEL_MEI=m CONFIG_INTEL_MEI_ME=m CONFIG_INTEL_MEI_PXP=m CONFIG_INTEL_MEI_TXE=m diff --git a/kernel.changelog b/kernel.changelog index cb9508b98..9e865a6df 100644 --- a/kernel.changelog +++ b/kernel.changelog @@ -1,3 +1,15 @@ +* Wed May 13 2026 Justin M. Forbes [7.0.6-0] +- net: skbuff: propagate shared-frag marker through pskb_copy() (Hyunwoo Kim) +- net: skbuff: preserve shared-frag marker during coalescing (William Bowling) +- Add BugsFixed for 7.0.7 (Justin M. Forbes) +- ovl: fix verity lazy-load guard broken by fsverity_active() semantic change (Colin Walters) +- Revert rxrpc dirtyfrag fix in favor of version which landed upstream (Justin M. Forbes) +- Re-enable Intel MEI for Fedora x86 (Justin M. Forbes) +- xfrm: esp: avoid in-place decrypt on shared skb frags (Kuan-Ting Chen) +- rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present (Hyunwoo Kim) +- Linux v7.0.6 +Resolves: + * Thu May 07 2026 Justin M. Forbes [7.0.4-0] - wifi: mt76: mt7925: fix incorrect TLV length in CLC command (Quan Zhou) - ASoC: SOF: Don't allow pointer operations on unconfigured streams (Mark Brown) diff --git a/kernel.spec b/kernel.spec index 472037a37..d535914ef 100644 --- a/kernel.spec +++ b/kernel.spec @@ -187,18 +187,18 @@ Summary: The Linux kernel # the --with-release option overrides this setting.) %define debugbuildsenabled 1 # define buildid .local -%define specrpmversion 7.0.4 -%define specversion 7.0.4 +%define specrpmversion 7.0.6 +%define specversion 7.0.6 %define patchversion 7.0 %define pkgrelease 200 %define kversion 7 -%define tarfile_release 7.0.4 +%define tarfile_release 7.0.6 # This is needed to do merge window version magic %define patchlevel 0 # This allows pkg_release to have configurable %%{?dist} tag %define specrelease 200%{?buildid}%{?dist} # This defines the kabi tarball version -%define kabiversion 7.0.4 +%define kabiversion 7.0.6 # If this variable is set to 1, a bpf selftests build failure will cause a # fatal kernel package build error @@ -4825,9 +4825,16 @@ fi\ # # %changelog -* Thu May 07 2026 Justin M. Forbes [7.0.4-200] +* Wed May 13 2026 Justin M. Forbes [7.0.6-0] +- net: skbuff: propagate shared-frag marker through pskb_copy() (Hyunwoo Kim) +- net: skbuff: preserve shared-frag marker during coalescing (William Bowling) +- Add BugsFixed for 7.0.7 (Justin M. Forbes) +- ovl: fix verity lazy-load guard broken by fsverity_active() semantic change (Colin Walters) +- Revert rxrpc dirtyfrag fix in favor of version which landed upstream (Justin M. Forbes) +- Re-enable Intel MEI for Fedora x86 (Justin M. Forbes) - xfrm: esp: avoid in-place decrypt on shared skb frags (Kuan-Ting Chen) - rxrpc: Also unshare DATA/RESPONSE packets when paged frags are present (Hyunwoo Kim) +- Linux v7.0.6 * Thu May 07 2026 Justin M. Forbes [7.0.4-0] - wifi: mt76: mt7925: fix incorrect TLV length in CLC command (Quan Zhou) diff --git a/patch-7.0-redhat.patch b/patch-7.0-redhat.patch index 380f696aa..7aaaee3c2 100644 --- a/patch-7.0-redhat.patch +++ b/patch-7.0-redhat.patch @@ -60,18 +60,14 @@ drivers/net/wireless/mediatek/mt76/mt7925/mcu.c | 2 +- drivers/pci/quirks.c | 24 + drivers/usb/core/hub.c | 7 + + fs/overlayfs/util.c | 2 +- include/linux/efi.h | 22 +- include/linux/lsm_hook_defs.h | 1 + include/linux/mfd/bcm2835-pm.h | 7 + include/linux/rmi.h | 1 + include/linux/security.h | 9 + kernel/module/signing.c | 9 +- - net/ipv4/esp4.c | 3 +- - net/ipv4/ip_output.c | 2 + - net/ipv6/esp6.c | 3 +- - net/ipv6/ip6_output.c | 2 + - net/rxrpc/call_event.c | 2 +- - net/rxrpc/conn_event.c | 2 +- + net/core/skbuff.c | 3 + scripts/Makefile.lib | 3 + scripts/tags.sh | 2 + security/integrity/platform_certs/load_uefi.c | 6 +- @@ -80,7 +76,7 @@ sound/soc/sof/compress.c | 3 + tools/testing/selftests/bpf/Makefile | 2 +- tools/testing/selftests/bpf/prog_tests/ksyms_btf.c | 31 - - 82 files changed, 5418 insertions(+), 550 deletions(-) + 78 files changed, 5412 insertions(+), 547 deletions(-) diff --git a/Documentation/admin-guide/media/amdisp4-1.rst b/Documentation/admin-guide/media/amdisp4-1.rst new file mode 100644 @@ -212,7 +208,7 @@ index d1cc0e12fe1f..985c66951475 100644 M: Felix Kuehling L: amd-gfx@lists.freedesktop.org diff --git a/Makefile b/Makefile -index 316c0c4ebe5c..bb3bdfc00aa7 100644 +index dbc380a9339e..e92abc1711d5 100644 --- a/Makefile +++ b/Makefile @@ -356,6 +356,17 @@ ifneq ($(filter install,$(MAKECMDGOALS)),) @@ -7343,6 +7339,19 @@ index 24960ba9caa9..32597cdb72ef 100644 /* Lock the device, then check to see if we were * disconnected while waiting for the lock to succeed. */ usb_lock_device(hdev); +diff --git a/fs/overlayfs/util.c b/fs/overlayfs/util.c +index 2ea769f311c3..339cb0a3942b 100644 +--- a/fs/overlayfs/util.c ++++ b/fs/overlayfs/util.c +@@ -1379,7 +1379,7 @@ int ovl_ensure_verity_loaded(const struct path *datapath) + struct inode *inode = d_inode(datapath->dentry); + struct file *filp; + +- if (!fsverity_active(inode) && IS_VERITY(inode)) { ++ if (IS_VERITY(inode) && fsverity_get_info(inode) == NULL) { + /* + * If this inode was not yet opened, the verity info hasn't been + * loaded yet, so we need to do that here to force it into memory. diff --git a/include/linux/efi.h b/include/linux/efi.h index 664898d09ff5..34f476d02181 100644 --- a/include/linux/efi.h @@ -7499,86 +7508,27 @@ index a2ff4242e623..f0d2be1ee4f1 100644 } int module_sig_check(struct load_info *info, int flags) -diff --git a/net/ipv4/esp4.c b/net/ipv4/esp4.c -index 6dfc0bcdef65..6a5febbdbee4 100644 ---- a/net/ipv4/esp4.c -+++ b/net/ipv4/esp4.c -@@ -873,7 +873,8 @@ static int esp_input(struct xfrm_state *x, struct sk_buff *skb) - nfrags = 1; +diff --git a/net/core/skbuff.c b/net/core/skbuff.c +index 43ee86dcf2ea..48b321ec2b3c 100644 +--- a/net/core/skbuff.c ++++ b/net/core/skbuff.c +@@ -2258,6 +2258,7 @@ struct sk_buff *__pskb_copy_fclone(struct sk_buff *skb, int headroom, + skb_frag_ref(skb, i); + } + skb_shinfo(n)->nr_frags = i; ++ skb_shinfo(n)->flags |= skb_shinfo(skb)->flags & SKBFL_SHARED_FRAG; + } - goto skip_cow; -- } else if (!skb_has_frag_list(skb)) { -+ } else if (!skb_has_frag_list(skb) && -+ !skb_has_shared_frag(skb)) { - nfrags = skb_shinfo(skb)->nr_frags; - nfrags++; + if (skb_has_frag_list(skb)) { +@@ -6226,6 +6227,8 @@ bool skb_try_coalesce(struct sk_buff *to, struct sk_buff *from, + from_shinfo->frags, + from_shinfo->nr_frags * sizeof(skb_frag_t)); + to_shinfo->nr_frags += from_shinfo->nr_frags; ++ if (from_shinfo->nr_frags) ++ to_shinfo->flags |= from_shinfo->flags & SKBFL_SHARED_FRAG; -diff --git a/net/ipv4/ip_output.c b/net/ipv4/ip_output.c -index e4790cc7b5c2..5bcd73cbdb41 100644 ---- a/net/ipv4/ip_output.c -+++ b/net/ipv4/ip_output.c -@@ -1233,6 +1233,8 @@ static int __ip_append_data(struct sock *sk, - if (err < 0) - goto error; - copy = err; -+ if (!(flags & MSG_NO_SHARED_FRAGS)) -+ skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG; - wmem_alloc_delta += copy; - } else if (!zc) { - int i = skb_shinfo(skb)->nr_frags; -diff --git a/net/ipv6/esp6.c b/net/ipv6/esp6.c -index 9f75313734f8..9c06c5a1419d 100644 ---- a/net/ipv6/esp6.c -+++ b/net/ipv6/esp6.c -@@ -915,7 +915,8 @@ static int esp6_input(struct xfrm_state *x, struct sk_buff *skb) - nfrags = 1; - - goto skip_cow; -- } else if (!skb_has_frag_list(skb)) { -+ } else if (!skb_has_frag_list(skb) && -+ !skb_has_shared_frag(skb)) { - nfrags = skb_shinfo(skb)->nr_frags; - nfrags++; - -diff --git a/net/ipv6/ip6_output.c b/net/ipv6/ip6_output.c -index 8e2a6b28cea7..3f14e363c96e 100644 ---- a/net/ipv6/ip6_output.c -+++ b/net/ipv6/ip6_output.c -@@ -1765,6 +1765,8 @@ static int __ip6_append_data(struct sock *sk, - if (err < 0) - goto error; - copy = err; -+ if (!(flags & MSG_NO_SHARED_FRAGS)) -+ skb_shinfo(skb)->flags |= SKBFL_SHARED_FRAG; - wmem_alloc_delta += copy; - } else if (!zc) { - int i = skb_shinfo(skb)->nr_frags; -diff --git a/net/rxrpc/call_event.c b/net/rxrpc/call_event.c -index fdd683261226..6c924ef55208 100644 ---- a/net/rxrpc/call_event.c -+++ b/net/rxrpc/call_event.c -@@ -334,7 +334,7 @@ bool rxrpc_input_call_event(struct rxrpc_call *call) - - if (sp->hdr.type == RXRPC_PACKET_TYPE_DATA && - sp->hdr.securityIndex != 0 && -- skb_cloned(skb)) { -+ (skb_cloned(skb) || skb->data_len)) { - /* Unshare the packet so that it can be - * modified by in-place decryption. - */ -diff --git a/net/rxrpc/conn_event.c b/net/rxrpc/conn_event.c -index a2130d25aaa9..eab7c5f2517a 100644 ---- a/net/rxrpc/conn_event.c -+++ b/net/rxrpc/conn_event.c -@@ -245,7 +245,7 @@ static int rxrpc_verify_response(struct rxrpc_connection *conn, - { - int ret; - -- if (skb_cloned(skb)) { -+ if (skb_cloned(skb) || skb->data_len) { - /* Copy the packet if shared so that we can do in-place - * decryption. - */ + if (!skb_cloned(from)) + from_shinfo->nr_frags = 0; diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib index 0718e39cedda..10e94a1b8b6e 100644 --- a/scripts/Makefile.lib diff --git a/sources b/sources index 71934634e..a74de39eb 100644 --- a/sources +++ b/sources @@ -1,3 +1,3 @@ -SHA512 (linux-7.0.4.tar.xz) = fb56c0bcf5b527d2dde70175b6090a91c6f841558763fe87388f42568c945bde283df4d8899a7c78dc2e29d1b2be75ca6d2f5b5e49264aee3796db1bcb916253 -SHA512 (kernel-abi-stablelists-7.0.4.tar.xz) = 1d03553a6955ddbf4a62d30d0c6b5396e3aca9bd7aa815db1243b34f6fb01f8d908b316c39d7a25c80bf180ed6f4326e178ded157869183e83f4a8a4a4525bbc -SHA512 (kernel-kabi-dw-7.0.4.tar.xz) = 1ae6c2ebcb6ca1b4399fe6f49cec43f4afe746c109509121f76c0a2c35229c553b0f2aeb21a6dfe513fa044f8b680b61507cdbb1ea0de2007675445d476e05d6 +SHA512 (linux-7.0.6.tar.xz) = d2d1a0449c1b242b4fa22271a573c0c5b64d60374d075767c3cde07bab0abfd4096c613d5dee6f225d3cf6e5fb32ced8f45a36ace9e6427f3d72b1b5eba75c99 +SHA512 (kernel-abi-stablelists-7.0.6.tar.xz) = 9842e3c7ad377c0e3504cffe1b243d6473cfd540547b263d18631c25b14b5b1030d0ae8a2461df69b9af0382dc05eecaec138765ffc67e0cc9bc13affa19498e +SHA512 (kernel-kabi-dw-7.0.6.tar.xz) = 84e0d1afcd68435fdc5acba9d35a4aa189851b8a6bf1c3bebeb8ad31e9818e1796a53d49162b1d5f585b83b07545f948de818724c414cbe268bcf58095ec54fd