[packages/kernel] Up to 6.15.3

arekm arekm at pld-linux.org
Thu Jun 19 20:50:12 CEST 2025


commit 07f0ddb6c8792b309183f16617eddf9176664dd3
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Thu Jun 19 20:49:53 2025 +0200

    Up to 6.15.3

 kernel-aufs.patch        |   2 +-
 kernel-small_fixes.patch | 126 +----------------------------------------------
 kernel.spec              |   6 +--
 3 files changed, 5 insertions(+), 129 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index ed9eee9f..2f77dba3 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -53,7 +53,7 @@
 
 %define		rel		1
 %define		basever		6.15
-%define		postver		.2
+%define		postver		.3
 
 # define this to '-%{basever}' for longterm branch
 %define		versuffix	%{nil}
@@ -107,7 +107,7 @@ Source0:	https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
 # Source0-md5:	c0f205cc27982a875c519f644a6288c4
 %if "%{postver}" != ".0"
 Patch0:		https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
-# Patch0-md5:	25a3dd45bbafd0358ec68f797e627268
+# Patch0-md5:	1bd27ad2fd16f20b22ad7448b52e74ba
 %endif
 Source1:	kernel.sysconfig
 
@@ -589,7 +589,7 @@ rm -f localversion-rt
 %endif # vanilla
 
 # Small fixes:
-%patch -P2000 -p1
+#%%patch -P2000 -p1
 %patch -P2001 -p1
 
 chmod 755 tools/objtool/sync-check.sh
diff --git a/kernel-aufs.patch b/kernel-aufs.patch
index 62933e62..6e6968b7 100644
--- a/kernel-aufs.patch
+++ b/kernel-aufs.patch
@@ -787,7 +787,7 @@ index 45e8ebee87f2a..c72ef12585d32 100644
  }
 +EXPORT_SYMBOL_GPL(drop_collected_mounts);
  
- bool has_locked_children(struct mount *mnt, struct dentry *dentry)
+ static bool __has_locked_children(struct mount *mnt, struct dentry *dentry)
  {
 @@ -2531,6 +2534,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
  	}
diff --git a/kernel-small_fixes.patch b/kernel-small_fixes.patch
index c70fae5e..6806f98b 100644
--- a/kernel-small_fixes.patch
+++ b/kernel-small_fixes.patch
@@ -1,125 +1 @@
-From e136a4062174a9a8d1c1447ca040ea81accfa6a8 Mon Sep 17 00:00:00 2001
-From: Kees Cook <kees at kernel.org>
-Date: Sat, 26 Apr 2025 00:37:52 -0700
-Subject: randstruct: gcc-plugin: Remove bogus void member
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-When building the randomized replacement tree of struct members, the
-randstruct GCC plugin would insert, as the first member, a 0-sized void
-member. This appears as though it was done to catch non-designated
-("unnamed") static initializers, which wouldn't be stable since they
-depend on the original struct layout order.
-
-This was accomplished by having the side-effect of the "void member"
-tripping an assert in GCC internals (count_type_elements) if the member
-list ever needed to be counted (e.g. for figuring out the order of members
-during a non-designated initialization), which would catch impossible type
-(void) in the struct:
-
-security/landlock/fs.c: In function ‘hook_file_ioctl_common’:
-security/landlock/fs.c:1745:61: internal compiler error: in count_type_elements, at expr.cc:7075
- 1745 |                         .u.op = &(struct lsm_ioctlop_audit) {
-      |                                                             ^
-
-static HOST_WIDE_INT
-count_type_elements (const_tree type, bool for_ctor_p)
-{
-  switch (TREE_CODE (type))
-...
-    case VOID_TYPE:
-    default:
-      gcc_unreachable ();
-    }
-}
-
-However this is a redundant safety measure since randstruct uses the
-__designated_initializer attribute both internally and within the
-__randomized_layout attribute macro so that this would be enforced
-by the compiler directly even when randstruct was not enabled (via
--Wdesignated-init).
-
-A recent change in Landlock ended up tripping the same member counting
-routine when using a full-struct copy initializer as part of an anonymous
-initializer. This, however, is a false positive as the initializer is
-copying between identical structs (and hence identical layouts). The
-"path" member is "struct path", a randomized struct, and is being copied
-to from another "struct path", the "f_path" member:
-
-        landlock_log_denial(landlock_cred(file->f_cred), &(struct landlock_request) {
-                .type = LANDLOCK_REQUEST_FS_ACCESS,
-                .audit = {
-                        .type = LSM_AUDIT_DATA_IOCTL_OP,
-                        .u.op = &(struct lsm_ioctlop_audit) {
-                                .path = file->f_path,
-                                .cmd = cmd,
-                        },
-                },
-	...
-
-As can be seen with the coming randstruct KUnit test, there appears to
-be no behavioral problems with this kind of initialization when the void
-member is removed from the randstruct GCC plugin, so remove it.
-
-Reported-by: "Dr. David Alan Gilbert" <linux at treblig.org>
-Closes: https://lore.kernel.org/lkml/Z_PRaKx7q70MKgCA@gallifrey/
-Reported-by: Mark Brown <broonie at kernel.org>
-Closes: https://lore.kernel.org/lkml/20250407-kbuild-disable-gcc-plugins-v1-1-5d46ae583f5e@kernel.org/
-Reported-by: WangYuli <wangyuli at uniontech.com>
-Closes: https://lore.kernel.org/lkml/337D5D4887277B27+3c677db3-a8b9-47f0-93a4-7809355f1381@uniontech.com/
-Fixes: 313dd1b62921 ("gcc-plugins: Add the randstruct plugin")
-Signed-off-by: Kees Cook <kees at kernel.org>
----
- scripts/gcc-plugins/randomize_layout_plugin.c | 18 +-----------------
- 1 file changed, 1 insertion(+), 17 deletions(-)
-
-diff --git a/scripts/gcc-plugins/randomize_layout_plugin.c b/scripts/gcc-plugins/randomize_layout_plugin.c
-index 5694df3da2e95b..971a1908a8cc40 100644
---- a/scripts/gcc-plugins/randomize_layout_plugin.c
-+++ b/scripts/gcc-plugins/randomize_layout_plugin.c
-@@ -344,29 +344,13 @@ static int relayout_struct(tree type)
- 
- 	shuffle(type, (tree *)newtree, shuffle_length);
- 
--	/*
--	 * set up a bogus anonymous struct field designed to error out on unnamed struct initializers
--	 * as gcc provides no other way to detect such code
--	 */
--	list = make_node(FIELD_DECL);
--	TREE_CHAIN(list) = newtree[0];
--	TREE_TYPE(list) = void_type_node;
--	DECL_SIZE(list) = bitsize_zero_node;
--	DECL_NONADDRESSABLE_P(list) = 1;
--	DECL_FIELD_BIT_OFFSET(list) = bitsize_zero_node;
--	DECL_SIZE_UNIT(list) = size_zero_node;
--	DECL_FIELD_OFFSET(list) = size_zero_node;
--	DECL_CONTEXT(list) = type;
--	// to satisfy the constify plugin
--	TREE_READONLY(list) = 1;
--
- 	for (i = 0; i < num_fields - 1; i++)
- 		TREE_CHAIN(newtree[i]) = newtree[i+1];
- 	TREE_CHAIN(newtree[num_fields - 1]) = NULL_TREE;
- 
- 	main_variant = TYPE_MAIN_VARIANT(type);
- 	for (variant = main_variant; variant; variant = TYPE_NEXT_VARIANT(variant)) {
--		TYPE_FIELDS(variant) = list;
-+		TYPE_FIELDS(variant) = newtree[0];
- 		TYPE_ATTRIBUTES(variant) = copy_list(TYPE_ATTRIBUTES(variant));
- 		TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("randomize_performed"), NULL_TREE, TYPE_ATTRIBUTES(variant));
- 		TYPE_ATTRIBUTES(variant) = tree_cons(get_identifier("designated_init"), NULL_TREE, TYPE_ATTRIBUTES(variant));
--- 
-cgit 1.2.3-korg
-
---- linux-6.15/drivers/scsi/qedf/qedf_main.c~	2025-05-26 01:09:23.000000000 +0200
-+++ linux-6.15/drivers/scsi/qedf/qedf_main.c	2025-05-26 12:23:15.794844219 +0200
-@@ -699,7 +699,7 @@ static u32 qedf_get_login_failures(void
- }
- 
- static struct qed_fcoe_cb_ops qedf_cb_ops = {
--	{
-+	.common = {
- 		.link_update = qedf_link_update,
- 		.bw_update = qedf_bw_update,
- 		.schedule_recovery_handler = qedf_schedule_recovery_handler,
+; nothing for now
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/07f0ddb6c8792b309183f16617eddf9176664dd3



More information about the pld-cvs-commit mailing list