[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