[packages/kernel] Partial update to 6.18.
arekm
arekm at pld-linux.org
Mon Dec 1 13:26:35 CET 2025
commit d750d24d7da25977796e5d18aac6baa2faa8b9d8
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date: Mon Dec 1 13:26:23 2025 +0100
Partial update to 6.18.
kernel-aufs.patch | 353 ++++++++++++++++++++++++------------------------
kernel-multiarch.config | 208 +++++++++++++++++++---------
kernel-x86.config | 9 +-
kernel.spec | 10 +-
update-source.sh | 4 +-
5 files changed, 332 insertions(+), 252 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index dd7c4480..a1994df4 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -51,9 +51,9 @@
%define have_drm 0
%endif
-%define rel 1
-%define basever 6.17
-%define postver .8
+%define rel 0.1
+%define basever 6.18
+%define postver .0
# define this to '-%{basever}' for longterm branch
%define versuffix %{nil}
@@ -104,7 +104,7 @@ Epoch: 3
License: GPL v2
Group: Base/Kernel
Source0: https://www.kernel.org/pub/linux/kernel/v6.x/linux-%{basever}.tar.xz
-# Source0-md5: ac8cfd661ca56a142bb92f9d9e7754a0
+# Source0-md5: 9207ae77b0d63c22dc4646554963cfc7
%if "%{postver}" != ".0"
Patch0: https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
# Patch0-md5: f49ae8d0918f492ee3969d7323c2c2d6
@@ -177,7 +177,7 @@ Patch8000: rpi-sound.patch
Patch8001: kernel-pinebook-pro.patch
Patch8004: ath-regd.patch
Patch8005: rkvdec-hevc.patch
-# Patch8005-md5: be31dd14250cc9e4eb496a5471e88d0f
+# Patch8005-md5: be31dd14250cc9e4eb496a5471e88d0f
URL: https://www.kernel.org/
AutoReqProv: no
diff --git a/kernel-aufs.patch b/kernel-aufs.patch
index 4f161bc9..4da1d89f 100644
--- a/kernel-aufs.patch
+++ b/kernel-aufs.patch
@@ -3380,7 +3380,7 @@ diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
+}
diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
--- /usr/share/empty/fs/aufs/branch.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/branch.h 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,375 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -3616,12 +3616,12 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
+aufs_bindex_t au_xi_root(struct super_block *sb, struct dentry *dentry);
+struct file *au_xino_create(struct super_block *sb, char *fpath, int silent,
+ int wbrtop);
-+struct file *au_xino_create2(struct super_block *sb, struct path *base,
++struct file *au_xino_create2(struct super_block *sb, const struct path *base,
+ struct file *copy_src);
+struct au_xi_new {
+ struct au_xino *xi; /* switch between xino and xigen */
+ int idx;
-+ struct path *base;
++ const struct path *base;
+ struct file *copy_src;
+};
+struct file *au_xi_new(struct super_block *sb, struct au_xi_new *xinew);
@@ -3645,7 +3645,7 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
+int au_xino_set(struct super_block *sb, struct au_opt_xino *xiopt, int remount);
+struct file *au_xino_def(struct super_block *sb);
+int au_xino_init_br(struct super_block *sb, struct au_branch *br, ino_t hino,
-+ struct path *base);
++ const struct path *base);
+
+ino_t au_xino_new_ino(struct super_block *sb);
+void au_xino_delete_inode(struct inode *inode, const int unlinked);
@@ -5378,7 +5378,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.h linux/fs/aufs/cpup.h
+#endif /* __AUFS_CPUP_H__ */
diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
--- /usr/share/empty/fs/aufs/dbgaufs.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/dbgaufs.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,525 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -5614,7 +5614,7 @@ diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
+ struct super_block *sb;
+ struct au_xino *xi;
+ struct file *xf;
-+ struct qstr *name;
++ const struct qstr *name;
+ struct au_branch *br;
+
+ err = -ENOENT;
@@ -6193,7 +6193,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
+}
diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
--- /usr/share/empty/fs/aufs/dcsub.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/dcsub.h 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,139 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -6312,7 +6312,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
+ return err;
+}
+
-+static inline int au_qstreq(struct qstr *a, struct qstr *b)
++static inline int au_qstreq(const struct qstr *a, const struct qstr *b)
+{
+ return a->len == b->len
+ && !memcmp(a->name, b->name, a->len);
@@ -7018,7 +7018,7 @@ diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h
+#endif /* __AUFS_DEBUG_H__ */
diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
--- /usr/share/empty/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dentry.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/dentry.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,1228 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -7270,7 +7270,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ return err;
+}
+
-+struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, struct qstr *name,
++struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, const struct qstr *name,
+ struct path *ppath)
+{
+ struct dentry *dentry;
@@ -7896,7 +7896,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+ unsigned char plus, unhashed, is_root, h_plus, h_nfs, tmpfile;
+ struct inode *h_inode, *h_cached_inode;
+ struct dentry *h_parent, *dentry = args->dentry;
-+ struct qstr *h_name, *qname = (struct qstr *)args->qname;
++ const struct qstr *h_name, *qname = args->qname;
+ struct name_snapshot h_nameshot;
+ struct au_d_reval_args h_args = {
+ .qname = &h_nameshot.name,
@@ -8250,8 +8250,8 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
+};
diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
--- /usr/share/empty/fs/aufs/dentry.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dentry.h 2025-11-02 19:07:07.123309964 +0100
-@@ -0,0 +1,270 @@
++++ linux/fs/aufs/dentry.h 2025-12-01 12:55:07.809977919 +0100
+@@ -0,0 +1,271 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (C) 2005-2025 Junjiro R. Okajima
@@ -8319,7 +8319,8 @@ diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
+struct au_do_lookup_args {
+ unsigned int flags;
+ mode_t type;
-+ struct qstr whname, *name;
++ struct qstr whname;
++ const struct qstr *name;
+ struct au_dr_lookup dirren;
+};
+
@@ -8328,7 +8329,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
+/* dentry.c */
+extern const struct dentry_operations aufs_dop, aufs_dop_noreval;
+struct au_branch;
-+struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, struct qstr *name,
++struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, const struct qstr *name,
+ struct path *ppath);
+int au_h_verify(struct dentry *h_dentry, unsigned int udba, struct inode *h_dir,
+ struct dentry *h_parent, struct au_branch *br);
@@ -9990,7 +9991,7 @@ diff -urN /usr/share/empty/fs/aufs/dir.h linux/fs/aufs/dir.h
+#endif /* __AUFS_DIR_H__ */
diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
--- /usr/share/empty/fs/aufs/dirren.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dirren.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/dirren.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,1315 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -10468,7 +10469,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+ struct au_drinfo_fdata *f, *p;
+ struct au_drinfo *drinfo;
+ struct inode *h_inode;
-+ struct qstr *qname;
++ const struct qstr *qname;
+
+ err = 0;
+ f = *fdata;
@@ -10608,7 +10609,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+ };
+ struct inode *h_dir, *h_inode, *delegated;
+ struct file *infofile;
-+ struct qstr *qname;
++ const struct qstr *qname;
+
+ AuDebugOn(elm
+ && memcmp(elm, page_address(ZERO_PAGE(0)), sizeof(*elm)));
@@ -10797,7 +10798,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+
+/* caller has to call au_dr_rename_fin() later */
+static int au_drinfo_store(struct dentry *dentry, aufs_bindex_t btgt,
-+ struct qstr *dst_name, void *_rev)
++ const struct qstr *dst_name, void *_rev)
+{
+ int err, sz, nelm;
+ aufs_bindex_t bindex, btail;
@@ -10877,7 +10878,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+/* ---------------------------------------------------------------------- */
+
+int au_dr_rename(struct dentry *src, aufs_bindex_t bindex,
-+ struct qstr *dst_name, void *_rev)
++ const struct qstr *dst_name, void *_rev)
+{
+ int err, already;
+ ino_t ino;
@@ -11051,7 +11052,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+
+struct au_drinfo_load {
+ struct path h_ppath;
-+ struct qstr *qname;
++ const struct qstr *qname;
+ unsigned char no_sio;
+
+ aufs_bindex_t ninfo;
@@ -11309,7 +11310,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.c linux/fs/aufs/dirren.c
+}
diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
--- /usr/share/empty/fs/aufs/dirren.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dirren.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/dirren.h 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,140 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -11403,7 +11404,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
+ const struct path *path);
+int au_dr_br_fin(struct super_block *sb, struct au_branch *br);
+int au_dr_rename(struct dentry *src, aufs_bindex_t bindex,
-+ struct qstr *dst_name, void *_rev);
++ const struct qstr *dst_name, void *_rev);
+void au_dr_rename_fin(struct dentry *src, aufs_bindex_t btgt, void *rev);
+void au_dr_rename_rev(struct dentry *src, aufs_bindex_t bindex, void *rev);
+int au_dr_lkup(struct au_do_lookup_args *lkup, struct dentry *dentry,
@@ -11423,7 +11424,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
+ const struct path *path);
+AuStubInt0(au_dr_br_fin, struct super_block *sb, struct au_branch *br);
+AuStubInt0(au_dr_rename, struct dentry *src, aufs_bindex_t bindex,
-+ struct qstr *dst_name, void *_rev);
++ const struct qstr *dst_name, void *_rev);
+AuStubVoid(au_dr_rename_fin, struct dentry *src, aufs_bindex_t btgt, void *rev);
+AuStubVoid(au_dr_rename_rev, struct dentry *src, aufs_bindex_t bindex,
+ void *rev);
@@ -11902,8 +11903,8 @@ diff -urN /usr/share/empty/fs/aufs/dynop.h linux/fs/aufs/dynop.h
+#endif /* __AUFS_DYNOP_H__ */
diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
--- /usr/share/empty/fs/aufs/export.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/export.c 2025-11-02 19:07:07.123309964 +0100
-@@ -0,0 +1,828 @@
++++ linux/fs/aufs/export.c 2025-12-01 12:55:07.809977919 +0100
+@@ -0,0 +1,829 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2025 Junjiro R. Okajima
@@ -12086,7 +12087,7 @@ diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
+ return err;
+}
+
-+int au_xigen_set(struct super_block *sb, struct path *path)
++int au_xigen_set(struct super_block *sb, const struct path *path)
+{
+ int err;
+ struct au_sbinfo *sbinfo;
@@ -12181,7 +12182,8 @@ diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
+static struct vfsmount *au_mnt_get(struct super_block *sb)
+{
+ struct vfsmount *mnt;
-+ struct path root, *paths, *p;
++ struct path root;
++ const struct path *paths, *p;
+ struct path a[8];
+
+ get_fs_root(current->fs, &root);
@@ -14354,8 +14356,8 @@ diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h
+#endif /* __AUFS_FILE_H__ */
diff -urN /usr/share/empty/fs/aufs/finfo.c linux/fs/aufs/finfo.c
--- /usr/share/empty/fs/aufs/finfo.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/finfo.c 2025-07-24 19:31:57.789847457 +0200
-@@ -0,0 +1,147 @@
++++ linux/fs/aufs/finfo.c 2025-12-01 12:55:08.906644586 +0100
+@@ -0,0 +1,148 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2025 Junjiro R. Okajima
@@ -14494,6 +14496,7 @@ diff -urN /usr/share/empty/fs/aufs/finfo.c linux/fs/aufs/finfo.c
+ au_lcnt_inc(&au_sbi(dentry->d_sb)->si_nfiles);
+ au_rw_write_lock(&finfo->fi_rwsem);
+ finfo->fi_btop = -1;
++ INIT_HLIST_BL_NODE(&finfo->fi_mf);
+ finfo->fi_hdir = fidir;
+ atomic_set(&finfo->fi_generation, au_digen(dentry));
+ /* smp_mb(); */ /* atomic_set */
@@ -14505,8 +14508,8 @@ diff -urN /usr/share/empty/fs/aufs/finfo.c linux/fs/aufs/finfo.c
+}
diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
--- /usr/share/empty/fs/aufs/f_op.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/f_op.c 2025-09-29 19:49:18.929975970 +0200
-@@ -0,0 +1,790 @@
++++ linux/fs/aufs/f_op.c 2025-12-01 12:55:08.906644586 +0100
+@@ -0,0 +1,791 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2025 Junjiro R. Okajima
@@ -14741,7 +14744,8 @@ diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
+ if (do_ready)
+ au_unpin(&pin);
+ di_read_unlock(dentry, /*flags*/0);
-+ vfsub_file_start_write(h_file);
++ if (do_ready)
++ vfsub_file_start_write(h_file);
+
+out_fi:
+ fi_write_unlock(file);
@@ -15145,7 +15149,7 @@ diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
+ lockdep_off();
+ si_read_lock(sb, AuLock_NOPLMW);
+
-+ h_file = au_write_pre(file, wlock, /*wpre*/NULL);
++ h_file = au_write_pre(file, /*do_ready*/wlock, /*wpre*/NULL);
+ lockdep_on();
+ err = PTR_ERR(h_file);
+ if (IS_ERR(h_file))
@@ -17397,7 +17401,7 @@ diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c
+}
diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
--- /usr/share/empty/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hnotify.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/hnotify.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,715 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -17595,7 +17599,7 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
+{
+ int err;
+ struct dentry *d;
-+ struct qstr *dname;
++ const struct qstr *dname;
+
+ err = 1;
+ if (unlikely(inode->i_ino == AUFS_ROOT_INO)) {
@@ -17763,7 +17767,7 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
+ struct inode *dir)
+{
+ struct dentry *dentry, *d, *parent;
-+ struct qstr *dname;
++ const struct qstr *dname;
+
+ parent = d_find_any_alias(dir);
+ if (!parent)
@@ -19674,7 +19678,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
+#endif /* __AUFS_INODE_H__ */
diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
--- /usr/share/empty/fs/aufs/ioctl.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/ioctl.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/ioctl.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,220 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -19706,7 +19710,7 @@ diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
+#include <linux/file.h>
+#include "aufs.h"
+
-+static int au_wbr_fd(struct path *path, struct aufs_wbr_fd __user *arg)
++static int au_wbr_fd(const struct path *path, struct aufs_wbr_fd __user *arg)
+{
+ int err, fd;
+ aufs_bindex_t wbi, bindex, bbot;
@@ -24894,8 +24898,8 @@ diff -urN /usr/share/empty/fs/aufs/Makefile linux/fs/aufs/Makefile
+aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o
diff -urN /usr/share/empty/fs/aufs/mf.c linux/fs/aufs/mf.c
--- /usr/share/empty/fs/aufs/mf.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/mf.c 2025-11-02 19:07:07.123309964 +0100
-@@ -0,0 +1,116 @@
++++ linux/fs/aufs/mf.c 2025-12-01 12:55:08.906644586 +0100
+@@ -0,0 +1,119 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2025 Junjiro R. Okajima
@@ -24913,9 +24917,12 @@ diff -urN /usr/share/empty/fs/aufs/mf.c linux/fs/aufs/mf.c
+ * Used by customized file_user_path() and file_user_inode() in
+ * include/linux/fs.h.
+ * This table doesn't make get/put call for the elements.
++ *
++ * INIT_HLIST_BL_HEAD() sets NULL to its member, so we can skip it since this is
++ * 'static'.
+ */
+#define N 0x0ff
-+static struct hlist_bl_head au_mmapped_finfo[N];
++static struct hlist_bl_head au_mmapped_finfo[N + 1];
+
+static unsigned int au_mf_hash(const struct file *h_file)
+{
@@ -24987,7 +24994,7 @@ diff -urN /usr/share/empty/fs/aufs/mf.c linux/fs/aufs/mf.c
+
+const struct path *au_do_file_user_path(const struct file *h_file)
+{
-+ struct path *path;
++ const struct path *path;
+ struct file *file;
+
+ path = NULL;
@@ -25014,7 +25021,7 @@ diff -urN /usr/share/empty/fs/aufs/mf.c linux/fs/aufs/mf.c
+EXPORT_SYMBOL_GPL(au_do_file_user_inode);
diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
--- /usr/share/empty/fs/aufs/module.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/module.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/module.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,275 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -25180,7 +25187,7 @@ diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
+
+static char au_esc_chars[0x20 + 3]; /* 0x01-0x20, backslash, del, and NULL */
+
-+int au_seq_path(struct seq_file *seq, struct path *path)
++int au_seq_path(struct seq_file *seq, const struct path *path)
+{
+ int err;
+
@@ -25293,7 +25300,7 @@ diff -urN /usr/share/empty/fs/aufs/module.c linux/fs/aufs/module.c
+module_exit(aufs_exit);
diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
--- /usr/share/empty/fs/aufs/module.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/module.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/module.h 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,180 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -25400,7 +25407,7 @@ diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
+#endif
+}
+
-+int au_seq_path(struct seq_file *seq, struct path *path);
++int au_seq_path(struct seq_file *seq, const struct path *path);
+
+#ifdef CONFIG_PROC_FS
+/* procfs.c */
@@ -29157,7 +29164,7 @@ diff -urN /usr/share/empty/fs/aufs/sbinfo.c linux/fs/aufs/sbinfo.c
+}
diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
--- /usr/share/empty/fs/aufs/super.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/super.c 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,872 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -29928,7 +29935,7 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
+ .destroy_inode = aufs_destroy_inode,
+ .free_inode = aufs_free_inode,
+ /* always deleting, no clearing */
-+ .drop_inode = generic_delete_inode,
++ .drop_inode = inode_just_drop,
+ .show_options = aufs_show_options,
+ .statfs = aufs_statfs,
+ .put_super = aufs_put_super,
@@ -30033,7 +30040,7 @@ diff -urN /usr/share/empty/fs/aufs/super.c linux/fs/aufs/super.c
+};
diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
--- /usr/share/empty/fs/aufs/super.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/super.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/super.h 2025-12-01 12:55:07.809977919 +0100
@@ -0,0 +1,618 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -30390,7 +30397,7 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
+void au_export_init(struct super_block *sb);
+void au_xigen_inc(struct inode *inode);
+int au_xigen_new(struct inode *inode);
-+int au_xigen_set(struct super_block *sb, struct path *path);
++int au_xigen_set(struct super_block *sb, const struct path *path);
+void au_xigen_clr(struct super_block *sb);
+
+static inline int au_busy_or_stale(void)
@@ -30404,7 +30411,7 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
+AuStubVoid(au_export_init, struct super_block *sb)
+AuStubVoid(au_xigen_inc, struct inode *inode)
+AuStubInt0(au_xigen_new, struct inode *inode)
-+AuStubInt0(au_xigen_set, struct super_block *sb, struct path *path)
++AuStubInt0(au_xigen_set, struct super_block *sb, const struct path *path)
+AuStubVoid(au_xigen_clr, struct super_block *sb)
+AuStub(int, au_busy_or_stale, return -EBUSY, void)
+#endif /* CONFIG_AUFS_EXPORT */
@@ -32298,8 +32305,8 @@ diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
+}
diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
--- /usr/share/empty/fs/aufs/vfsub.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.c 2025-11-02 19:07:07.123309964 +0100
-@@ -0,0 +1,972 @@
++++ linux/fs/aufs/vfsub.c 2025-12-01 12:55:07.813311253 +0100
+@@ -0,0 +1,968 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * Copyright (C) 2005-2025 Junjiro R. Okajima
@@ -32400,7 +32407,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ au_nlink_unlock(inode);
+}
+
-+int vfsub_update_h_iattr(struct path *h_path, int *did)
++int vfsub_update_h_iattr(const struct path *h_path, int *did)
+{
+ int err;
+ struct kstat st;
@@ -32473,8 +32480,8 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ goto out;
+
+ au_lcnt_inc(&br->br_nfiles);
-+ file->f_path.dentry = DENTRY_NOT_SET;
-+ file->f_path.mnt = au_br_mnt(br);
++ file->__f_path.dentry = DENTRY_NOT_SET;
++ file->__f_path.mnt = au_br_mnt(br);
+ AuDbg("%ps\n", dir->i_op->atomic_open);
+ err = dir->i_op->atomic_open(dir, dentry, file, args->open_flag,
+ args->create_mode);
@@ -32776,10 +32783,9 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ if (unlikely(err))
+ goto out;
+
-+ rd.old_mnt_idmap = mnt_idmap(path->mnt);
++ rd.mnt_idmap = mnt_idmap(path->mnt);
+ rd.old_dentry = src_dentry;
+ rd.old_parent = rd.old_dentry->d_parent;
-+ rd.new_mnt_idmap = rd.old_mnt_idmap;
+ rd.new_dentry = path->dentry;
+ rd.new_parent = rd.new_dentry->d_parent;
+ rd.delegated_inode = delegated_inode;
@@ -32996,7 +33002,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ return err;
+}
+
-+int vfsub_fsync(struct file *file, struct path *path, int datasync)
++int vfsub_fsync(struct file *file, const struct path *path, int datasync)
+{
+ int err;
+
@@ -33015,7 +33021,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+}
+
+/* cf. open.c:do_sys_truncate() and do_sys_ftruncate() */
-+int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr,
++int vfsub_trunc(const struct path *h_path, loff_t length, unsigned int attr,
+ struct file *h_file)
+{
+ int err;
@@ -33130,7 +33136,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+
+struct notify_change_args {
+ int *errp;
-+ struct path *path;
++ const struct path *path;
+ struct iattr *ia;
+ struct inode **delegated_inode;
+};
@@ -33157,7 +33163,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ AuTraceErr(*a->errp);
+}
+
-+int vfsub_notify_change(struct path *path, struct iattr *ia,
++int vfsub_notify_change(const struct path *path, struct iattr *ia,
+ struct inode **delegated_inode)
+{
+ int err;
@@ -33196,7 +33202,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+struct unlink_args {
+ int *errp;
+ struct inode *dir;
-+ struct path *path;
++ const struct path *path;
+ struct inode **delegated_inode;
+};
+
@@ -33208,12 +33214,14 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ struct mnt_idmap *idmap;
+ const int stop_sillyrename = (au_test_nfs(d->d_sb)
+ && au_dcount(d) == 1);
++ struct path tmp = {
++ .dentry = d->d_parent,
++ .mnt = a->path->mnt
++ };
+
+ IMustLock(a->dir);
+
-+ a->path->dentry = d->d_parent;
-+ *a->errp = security_path_unlink(a->path, d);
-+ a->path->dentry = d;
++ *a->errp = security_path_unlink(&tmp, d);
+ if (unlikely(*a->errp))
+ return;
+
@@ -33229,13 +33237,8 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ lockdep_off();
+ *a->errp = vfs_unlink(idmap, a->dir, d, a->delegated_inode);
+ lockdep_on();
-+ if (!*a->errp) {
-+ struct path tmp = {
-+ .dentry = d->d_parent,
-+ .mnt = a->path->mnt
-+ };
++ if (!*a->errp)
+ vfsub_update_h_iattr(&tmp, /*did*/NULL); /*ignore*/
-+ }
+
+ if (!stop_sillyrename)
+ dput(d);
@@ -33249,7 +33252,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+ * @dir: must be locked.
+ * @dentry: target dentry.
+ */
-+int vfsub_unlink(struct inode *dir, struct path *path,
++int vfsub_unlink(struct inode *dir, const struct path *path,
+ struct inode **delegated_inode, int force)
+{
+ int err;
@@ -33274,7 +33277,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
+}
diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
--- /usr/share/empty/fs/aufs/vfsub.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vfsub.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/vfsub.h 2025-12-01 12:55:07.813311253 +0100
@@ -0,0 +1,441 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -33404,7 +33407,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+
+/* ---------------------------------------------------------------------- */
+
-+int vfsub_update_h_iattr(struct path *h_path, int *did);
++int vfsub_update_h_iattr(const struct path *h_path, int *did);
+struct file *vfsub_dentry_open(struct path *path, int flags);
+struct file *vfsub_filp_open(const char *path, int oflags, int mode);
+struct au_branch;
@@ -33425,11 +33428,11 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+
+struct vfsub_lkup_one_args {
+ struct dentry **errp;
-+ struct qstr *name;
++ const struct qstr *name;
+ struct path *ppath;
+};
+
-+static inline struct dentry *vfsub_lkup_one(struct qstr *name,
++static inline struct dentry *vfsub_lkup_one(const struct qstr *name,
+ struct path *ppath)
+{
+ return vfsub_lookup_one_len(name->name, ppath, name->len);
@@ -33584,7 +33587,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+ssize_t vfsub_splice_from(struct pipe_inode_info *pipe, struct file *out,
+ loff_t *ppos, size_t len, unsigned int flags);
+
-+static inline long vfsub_truncate(struct path *path, loff_t length)
++static inline long vfsub_truncate(const struct path *path, loff_t length)
+{
+ long err;
+
@@ -33594,9 +33597,9 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+ return err;
+}
+
-+int vfsub_trunc(struct path *h_path, loff_t length, unsigned int attr,
++int vfsub_trunc(const struct path *h_path, loff_t length, unsigned int attr,
+ struct file *h_file);
-+int vfsub_fsync(struct file *file, struct path *path, int datasync);
++int vfsub_fsync(struct file *file, const struct path *path, int datasync);
+
+/*
+ * re-use branch fs's ioctl(FICLONE) while aufs itself doesn't support such
@@ -33646,9 +33649,9 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
+int vfsub_sio_rmdir(struct inode *dir, struct path *path);
+int vfsub_sio_notify_change(struct path *path, struct iattr *ia,
+ struct inode **delegated_inode);
-+int vfsub_notify_change(struct path *path, struct iattr *ia,
++int vfsub_notify_change(const struct path *path, struct iattr *ia,
+ struct inode **delegated_inode);
-+int vfsub_unlink(struct inode *dir, struct path *path,
++int vfsub_unlink(struct inode *dir, const struct path *path,
+ struct inode **delegated_inode, int force);
+
+static inline int vfsub_getattr(const struct path *path, struct kstat *st)
@@ -34558,7 +34561,7 @@ diff -urN /usr/share/empty/fs/aufs/wbr_policy.c linux/fs/aufs/wbr_policy.c
+};
diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
--- /usr/share/empty/fs/aufs/whout.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/whout.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/whout.c 2025-12-01 12:55:07.813311253 +0100
@@ -0,0 +1,1096 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -34627,7 +34630,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
+ * @try_sio specifies the necessary of super-io.
+ */
+int au_wh_test(struct mnt_idmap *h_idmap, struct path *h_ppath,
-+ struct qstr *wh_name, int try_sio)
++ const struct qstr *wh_name, int try_sio)
+{
+ int err;
+ struct dentry *wh_dentry;
@@ -34679,7 +34682,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
+ * returns a negative dentry whose name is unique and temporary.
+ */
+struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br,
-+ struct qstr *prefix)
++ const struct qstr *prefix)
+{
+ struct dentry *dentry;
+ int i;
@@ -35372,7 +35375,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
+ * @base_name: name of dentry which will be whiteouted
+ * returns dentry for whiteout.
+ */
-+struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name,
++struct dentry *au_wh_lkup(struct dentry *h_parent, const struct qstr *base_name,
+ struct au_branch *br)
+{
+ int err;
@@ -35658,7 +35661,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
+}
diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
--- /usr/share/empty/fs/aufs/whout.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/whout.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/whout.h 2025-12-01 12:55:07.813311253 +0100
@@ -0,0 +1,87 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
@@ -35692,11 +35695,11 @@ diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
+/* whout.c */
+int au_wh_name_alloc(struct qstr *wh, const struct qstr *name);
+int au_wh_test(struct mnt_idmap *h_idmap, struct path *h_ppath,
-+ struct qstr *wh_name, int try_sio);
++ const struct qstr *wh_name, int try_sio);
+int au_diropq_test(struct mnt_idmap *h_idmap, struct path *h_path);
+struct au_branch;
+struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br,
-+ struct qstr *prefix);
++ const struct qstr *prefix);
+int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br);
+int au_wh_unlink_dentry(struct inode *h_dir, struct path *h_path,
+ struct dentry *dentry);
@@ -35712,7 +35715,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
+
+struct dentry *au_diropq_sio(struct dentry *dentry, aufs_bindex_t bindex,
+ unsigned int flags);
-+struct dentry *au_wh_lkup(struct dentry *h_parent, struct qstr *base_name,
++struct dentry *au_wh_lkup(struct dentry *h_parent, const struct qstr *base_name,
+ struct au_branch *br);
+struct dentry *au_wh_create(struct dentry *dentry, aufs_bindex_t bindex,
+ struct dentry *h_parent);
@@ -36580,7 +36583,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
+}
diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
--- /usr/share/empty/fs/aufs/xino.c 1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/xino.c 2025-11-02 19:07:07.123309964 +0100
++++ linux/fs/aufs/xino.c 2025-12-01 12:55:07.813311253 +0100
@@ -0,0 +1,1926 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
@@ -36710,7 +36713,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ return parent;
+}
+
-+static void au_xino_lock_dir(struct super_block *sb, struct path *xipath,
++static void au_xino_lock_dir(struct super_block *sb, const struct path *xipath,
+ struct au_xino_lock_dir *ldir)
+{
+ aufs_bindex_t bindex;
@@ -36815,13 +36818,13 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+/*
+ * create a new xinofile at the same place/path as @base.
+ */
-+struct file *au_xino_create2(struct super_block *sb, struct path *base,
++struct file *au_xino_create2(struct super_block *sb, const struct path *base,
+ struct file *copy_src)
+{
+ struct file *file;
+ struct dentry *dentry;
+ struct inode *dir, *delegated;
-+ struct qstr *name;
++ const struct qstr *name;
+ struct path ppath, path;
+ int err, do_unlock;
+ struct au_xino_lock_dir ldir;
@@ -37957,7 +37960,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ sbinfo->si_xib_buf = NULL;
+}
+
-+static int au_xino_set_xib(struct super_block *sb, struct path *path)
++static int au_xino_set_xib(struct super_block *sb, const struct path *path)
+{
+ int err;
+ loff_t pos;
@@ -38051,7 +38054,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ aufs_bindex_t bshared;
+};
+
-+static int au_xino_do_set_br(struct super_block *sb, struct path *path,
++static int au_xino_do_set_br(struct super_block *sb, const struct path *path,
+ struct au_xino_do_set_br *args)
+{
+ int err;
@@ -38096,7 +38099,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ return err;
+}
+
-+static int au_xino_set_br(struct super_block *sb, struct path *path)
++static int au_xino_set_br(struct super_block *sb, const struct path *path)
+{
+ int err;
+ aufs_bindex_t bindex, bbot;
@@ -38137,10 +38140,10 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+{
+ int err, skip;
+ struct dentry *dentry, *parent, *cur_dentry, *cur_parent;
-+ struct qstr *dname, *cur_name;
++ const struct qstr *dname, *cur_name;
+ struct file *cur_xino;
+ struct au_sbinfo *sbinfo;
-+ struct path *path, *cur_path;
++ const struct path *path, *cur_path;
+
+ SiMustWriteLock(sb);
+
@@ -38253,7 +38256,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+ * if found then share the xinofile with another branch.
+ */
+int au_xino_init_br(struct super_block *sb, struct au_branch *br, ino_t h_ino,
-+ struct path *base)
++ const struct path *base)
+{
+ int err;
+ struct au_xino_do_set_br args = {
@@ -38510,7 +38513,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
+}
diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/linux/aufs_type.h
--- /usr/share/empty/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100
-+++ linux/include/uapi/linux/aufs_type.h 2025-11-02 19:07:07.123309964 +0100
++++ linux/include/uapi/linux/aufs_type.h 2025-12-01 12:55:08.906644586 +0100
@@ -0,0 +1,452 @@
+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
+/*
@@ -38554,7 +38557,7 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin
+#include <limits.h>
+#endif /* __KERNEL__ */
+
-+#define AUFS_VERSION "6.17-20251006"
++#define AUFS_VERSION "6.x-rcN-20251110"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -38965,13 +38968,13 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin
+
+#endif /* __AUFS_TYPE_H__ */
SPDX-License-Identifier: GPL-2.0
-aufs6.17 kbuild patch
+aufs6.x-rcN kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
-index c654a36428970..522605732463c 100644
+index 0bfdaecaa8775..22d84f31397cb 100644
--- a/fs/Kconfig
+++ b/fs/Kconfig
-@@ -334,6 +334,7 @@ source "fs/pstore/Kconfig"
+@@ -332,6 +332,7 @@ source "fs/pstore/Kconfig"
source "fs/ufs/Kconfig"
source "fs/erofs/Kconfig"
source "fs/vboxsf/Kconfig"
@@ -38980,22 +38983,22 @@ index c654a36428970..522605732463c 100644
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
-index 334654f9584b9..76bdb36b7a2a8 100644
+index e3523ab2e5871..d841d50e6ae87 100644
--- a/fs/Makefile
+++ b/fs/Makefile
-@@ -130,3 +130,4 @@ obj-$(CONFIG_VBOXSF_FS) += vboxsf/
+@@ -129,3 +129,4 @@ obj-$(CONFIG_VBOXSF_FS) += vboxsf/
obj-$(CONFIG_ZONEFS_FS) += zonefs/
obj-$(CONFIG_BPF_LSM) += bpf_fs_kfuncs.o
obj-$(CONFIG_RESCTRL_FS) += resctrl/
+obj-$(CONFIG_AUFS_FS) += aufs/
SPDX-License-Identifier: GPL-2.0
-aufs6.17 base patch
+aufs6.x-rcN base patch
diff --git a/MAINTAINERS b/MAINTAINERS
-index 97d958c945e4f..fab4c3261c238 100644
+index 46bd8e0330421..a9712efc81fe5 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
-@@ -4038,6 +4038,19 @@ S: Supported
+@@ -4089,6 +4089,19 @@ S: Supported
F: Documentation/dev-tools/autofdo.rst
F: scripts/Makefile.autofdo
@@ -39016,10 +39019,10 @@ index 97d958c945e4f..fab4c3261c238 100644
M: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
R: Dave Ertman <david.m.ertman at intel.com>
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 053a086d547ec..28f606fd10056 100644
+index 13ce229d450cd..d667d541d5ee6 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
-@@ -630,6 +630,26 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -632,6 +632,26 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
goto done;
}
@@ -39047,7 +39050,7 @@ index 053a086d547ec..28f606fd10056 100644
static ssize_t loop_attr_show(struct device *dev, char *page,
diff --git a/fs/dcache.c b/fs/dcache.c
-index 60046ae23d514..f69e432ca64cd 100644
+index 035cccbc92765..93bfb29d0b991 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1277,6 +1277,9 @@ enum d_walk_ret {
@@ -39070,7 +39073,7 @@ index 60046ae23d514..f69e432ca64cd 100644
{
struct dentry *this_parent, *dentry;
diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 5598e4d574229..90af6a47fbadc 100644
+index 72f8433d91098..d248048c75540 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -36,7 +36,7 @@
@@ -39092,10 +39095,10 @@ index 5598e4d574229..90af6a47fbadc 100644
return error;
diff --git a/fs/namespace.c b/fs/namespace.c
-index 51f77c65c0c61..c97877af1142b 100644
+index d82910f33dc48..2e215a7194dc3 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
-@@ -1009,6 +1009,12 @@ static inline int check_mnt(struct mount *mnt)
+@@ -963,6 +963,12 @@ static inline int check_mnt(const struct mount *mnt)
return mnt->mnt_ns == current->nsproxy->mnt_ns;
}
@@ -39122,10 +39125,10 @@ index f5094b6d00a09..19c0ba712acc1 100644
{
if (unlikely(!out->f_op->splice_write))
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 601d036a6c78e..92a229c4b95c1 100644
+index c895146c1444b..64c58c34b1e03 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -1226,6 +1226,7 @@ extern void fasync_free(struct fasync_struct *);
+@@ -1341,6 +1341,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);
@@ -39133,7 +39136,7 @@ index 601d036a6c78e..92a229c4b95c1 100644
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern int f_setown(struct file *filp, int who, int force);
extern void f_delown(struct file *filp);
-@@ -2175,6 +2176,7 @@ struct file_operations {
+@@ -2288,6 +2289,7 @@ struct file_operations {
int (*lock) (struct file *, int, struct file_lock *);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int);
@@ -39155,7 +39158,7 @@ index 67964dc4db952..517ef3ea8c85f 100644
* Acquire a lock.
*
diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h
-index 70b366b648160..08cfdabb2721f 100644
+index 0acd1089d149c..6fb188373a7ef 100644
--- a/include/linux/mnt_namespace.h
+++ b/include/linux/mnt_namespace.h
@@ -10,6 +10,7 @@ struct mnt_namespace;
@@ -39164,9 +39167,9 @@ index 70b366b648160..08cfdabb2721f 100644
struct ns_common;
+struct vfsmount;
- extern struct mnt_namespace *copy_mnt_ns(unsigned long, struct mnt_namespace *,
- struct user_namespace *, struct fs_struct *);
-@@ -17,6 +18,8 @@ extern void put_mnt_ns(struct mnt_namespace *ns);
+ extern struct mnt_namespace init_mnt_ns;
+
+@@ -19,6 +20,8 @@ extern void put_mnt_ns(struct mnt_namespace *ns);
DEFINE_FREE(put_mnt_ns, struct mnt_namespace *, if (!IS_ERR_OR_NULL(_T)) put_mnt_ns(_T))
extern struct ns_common *from_mnt_ns(struct mnt_namespace *);
@@ -39209,10 +39212,10 @@ index 2d4c5bab5af88..b720d966c7b92 100644
#ifdef CONFIG_LOCK_STAT
static DEFINE_PER_CPU(struct lock_class_stats[MAX_LOCKDEP_KEYS], cpu_lock_stats);
SPDX-License-Identifier: GPL-2.0
-aufs6.17 mmap patch
+aufs6.x-rcN mmap patch
diff --git a/fs/Makefile b/fs/Makefile
-index 76bdb36b7a2a8..fa238fd4f2fd6 100644
+index d841d50e6ae87..e4c3707cf45e2 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -17,6 +17,9 @@ obj-y := open.o read_write.o file_table.o super.o \
@@ -39292,7 +39295,7 @@ index 0000000000000..bacf13696a772
+}
+EXPORT_SYMBOL_GPL(au_file_user_inode);
diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 62d35631ba8c3..7c3061d1df6cb 100644
+index 6299878e3d97e..2905284f1dfa8 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1788,7 +1788,7 @@ static int proc_exe_link(struct dentry *dentry, struct path *exe_path)
@@ -39318,7 +39321,7 @@ index c6e7ebc637562..12c340dcdec3d 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
-index 59bfd61d653aa..a67d967f75d39 100644
+index d362919f4f688..79a2590d40f4d 100644
--- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c
@@ -137,7 +137,7 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma)
@@ -39331,12 +39334,12 @@ index 59bfd61d653aa..a67d967f75d39 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index 92a229c4b95c1..a921b5cc813db 100644
+index 64c58c34b1e03..44ab29d90484d 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -2884,6 +2884,21 @@ struct file *dentry_create(const struct path *path, int flags, umode_t mode,
+@@ -2887,6 +2887,21 @@ struct file *dentry_create(const struct path *path, int flags, umode_t mode,
const struct cred *cred);
- struct path *backing_file_user_path(const struct file *f);
+ const struct path *backing_file_user_path(const struct file *f);
+#if IS_MODULE(CONFIG_AUFS_FS)
+/* fs/au_mf.c */
@@ -39356,7 +39359,7 @@ index 92a229c4b95c1..a921b5cc813db 100644
/*
* When mmapping a file on a stackable filesystem (e.g., overlayfs), the file
* stored in ->vm_file is a backing file whose f_inode is on the underlying
-@@ -2896,15 +2911,25 @@ struct path *backing_file_user_path(const struct file *f);
+@@ -2899,15 +2914,25 @@ const struct path *backing_file_user_path(const struct file *f);
/* Get the path to display in /proc/<pid>/maps */
static inline const struct path *file_user_path(const struct file *f)
{
@@ -39383,10 +39386,10 @@ index 92a229c4b95c1..a921b5cc813db 100644
}
SPDX-License-Identifier: GPL-2.0
-aufs6.17 standalone patch
+aufs6.x-rcN standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
-index f69e432ca64cd..ab035b1ad4fcd 100644
+index 93bfb29d0b991..d32683b6cb404 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1387,6 +1387,7 @@ void d_walk(struct dentry *parent, void *data,
@@ -39397,16 +39400,8 @@ index f69e432ca64cd..ab035b1ad4fcd 100644
struct check_mount {
struct vfsmount *mnt;
-@@ -2925,6 +2926,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
-
- write_sequnlock(&rename_lock);
- }
-+EXPORT_SYMBOL_GPL(d_exchange);
-
- /**
- * d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
-index e861a4b7ffda9..10b3646c6b2f0 100644
+index 4298e7e08d5d7..26a62cfc04376 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -120,6 +120,7 @@ bool path_noexec(const struct path *path)
@@ -39418,7 +39413,7 @@ index e861a4b7ffda9..10b3646c6b2f0 100644
#ifdef CONFIG_MMU
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 90af6a47fbadc..7d4eaaff13bc9 100644
+index d248048c75540..0d3731f14d9ec 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -89,6 +89,7 @@ int setfl(int fd, struct file * filp, unsigned int arg)
@@ -39430,7 +39425,7 @@ index 90af6a47fbadc..7d4eaaff13bc9 100644
/*
* Allocate an file->f_owner struct if it doesn't exist, handling racing
diff --git a/fs/file_table.c b/fs/file_table.c
-index 81c72576e548f..8852477affcfe 100644
+index cd4a3db4659ac..27cd4c4d5d4bb 100644
--- a/fs/file_table.c
+++ b/fs/file_table.c
@@ -256,6 +256,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
@@ -39442,10 +39437,10 @@ index 81c72576e548f..8852477affcfe 100644
/*
* Variant of alloc_empty_file() that doesn't check and modify nr_files.
diff --git a/fs/namespace.c b/fs/namespace.c
-index c97877af1142b..175b3f7ac8cdf 100644
+index 2e215a7194dc3..d65a4e12e46ce 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
-@@ -1014,6 +1014,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
+@@ -968,6 +968,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
{
return check_mnt(real_mount(mnt));
}
@@ -39453,15 +39448,15 @@ index c97877af1142b..175b3f7ac8cdf 100644
static inline bool check_anonymous_mnt(struct mount *mnt)
{
-@@ -2337,6 +2338,7 @@ struct path *collect_paths(const struct path *path,
+@@ -2283,6 +2284,7 @@ const struct path *collect_paths(const struct path *path,
path_get(p);
return res;
}
+EXPORT_SYMBOL_GPL(collect_paths);
- void drop_collected_paths(struct path *paths, struct path *prealloc)
+ void drop_collected_paths(const struct path *paths, const struct path *prealloc)
{
-@@ -2345,6 +2347,7 @@ void drop_collected_paths(struct path *paths, struct path *prealloc)
+@@ -2291,6 +2293,7 @@ void drop_collected_paths(const struct path *paths, const struct path *prealloc)
if (paths != prealloc)
kfree(paths);
}
@@ -39470,7 +39465,7 @@ index c97877af1142b..175b3f7ac8cdf 100644
static struct mnt_namespace *alloc_mnt_ns(struct user_namespace *, bool);
diff --git a/fs/notify/fsnotify.c b/fs/notify/fsnotify.c
-index 079b868552c21..70f989d2e4092 100644
+index 46bfc543f9467..49be3944ece01 100644
--- a/fs/notify/fsnotify.c
+++ b/fs/notify/fsnotify.c
@@ -225,6 +225,7 @@ int fsnotify_pre_content(const struct path *path, const loff_t *ppos,
@@ -39494,7 +39489,7 @@ index 18446b7b0d495..09138e0b8a6a5 100644
/*
* Drop a reference to a group. Free it if it's through.
diff --git a/fs/open.c b/fs/open.c
-index 9655158c38853..797f58fa857d1 100644
+index 3d64372ecc675..f264518f60d7c 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -69,6 +69,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
@@ -39506,7 +39501,7 @@ index 9655158c38853..797f58fa857d1 100644
int vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
-index c5b6265d984ba..93a9a9d9e9da5 100644
+index 833bae068770a..1e1f8c6349c57 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -579,6 +579,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
@@ -39571,10 +39566,10 @@ index d1efec571a4a4..eed18cc26c370 100644
}
+EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/security.c b/security/security.c
-index ad163f06bf7ab..c150be79e9e90 100644
+index 4d3c03a4524c5..ed6612a365810 100644
--- a/security/security.c
+++ b/security/security.c
-@@ -1948,6 +1948,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
+@@ -1987,6 +1987,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
return 0;
return call_int_hook(path_rmdir, dir, dentry);
}
@@ -39582,7 +39577,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_path_unlink() - Check if removing a hard link is allowed
-@@ -1983,6 +1984,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
+@@ -2022,6 +2023,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry,
return 0;
return call_int_hook(path_symlink, dir, dentry, old_name);
}
@@ -39590,7 +39585,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_path_link - Check if creating a hard link is allowed
-@@ -2001,6 +2003,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
+@@ -2040,6 +2042,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir,
return 0;
return call_int_hook(path_link, old_dentry, new_dir, new_dentry);
}
@@ -39598,7 +39593,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_path_rename() - Check if renaming a file is allowed
-@@ -2062,6 +2065,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
+@@ -2101,6 +2104,7 @@ int security_path_chmod(const struct path *path, umode_t mode)
return 0;
return call_int_hook(path_chmod, path, mode);
}
@@ -39606,7 +39601,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_path_chown() - Check if changing the file's owner/group is allowed
-@@ -2079,6 +2083,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
+@@ -2118,6 +2122,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid)
return 0;
return call_int_hook(path_chown, path, uid, gid);
}
@@ -39614,7 +39609,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_path_chroot() - Check if changing the root directory is allowed
-@@ -2323,6 +2328,7 @@ int security_inode_permission(struct inode *inode, int mask)
+@@ -2362,6 +2367,7 @@ int security_inode_permission(struct inode *inode, int mask)
return 0;
return call_int_hook(inode_permission, inode, mask);
}
@@ -39622,7 +39617,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_inode_setattr() - Check if setting file attributes is allowed
-@@ -2873,6 +2879,7 @@ int security_file_permission(struct file *file, int mask)
+@@ -2912,6 +2918,7 @@ int security_file_permission(struct file *file, int mask)
{
return call_int_hook(file_permission, file, mask);
}
@@ -39630,7 +39625,7 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_file_alloc() - Allocate and init a file's LSM blob
-@@ -3175,6 +3182,7 @@ int security_file_truncate(struct file *file)
+@@ -3214,6 +3221,7 @@ int security_file_truncate(struct file *file)
{
return call_int_hook(file_truncate, file);
}
@@ -39639,10 +39634,10 @@ index ad163f06bf7ab..c150be79e9e90 100644
/**
* security_task_alloc() - Allocate a task's LSM blob
SPDX-License-Identifier: GPL-2.0
-aufs6.17 loopback patch
+aufs6.x-rcN loopback patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 28f606fd10056..5b4364bc9cbd5 100644
+index d667d541d5ee6..e1f3a84a04d85 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -52,7 +52,7 @@ struct loop_device {
@@ -39678,7 +39673,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
unsigned int memflags;
int error;
bool partscan;
-@@ -570,11 +580,19 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -572,11 +582,19 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
if (!(lo->lo_flags & LO_FLAGS_READ_ONLY))
goto out_err;
@@ -39698,7 +39693,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
error = -EINVAL;
-@@ -594,6 +612,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -596,6 +614,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
memflags = blk_mq_freeze_queue(lo->lo_queue);
mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask);
loop_assign_backing_file(lo, file);
@@ -39706,7 +39701,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
loop_update_dio(lo);
blk_mq_unfreeze_queue(lo->lo_queue, memflags);
partscan = lo->lo_flags & LO_FLAGS_PARTSCAN;
-@@ -613,6 +632,9 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -615,6 +634,9 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
* dependency.
*/
fput(old_file);
@@ -39716,7 +39711,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 0);
if (partscan)
loop_reread_partitions(lo);
-@@ -626,6 +648,9 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
+@@ -628,6 +650,9 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
loop_global_unlock(lo, is_loop);
out_putf:
fput(file);
@@ -39726,7 +39721,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
dev_set_uevent_suppress(disk_to_dev(lo->lo_disk), 0);
goto done;
}
-@@ -1003,6 +1028,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1005,6 +1030,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
const struct loop_config *config)
{
struct file *file = fget(config->fd);
@@ -39734,7 +39729,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
struct queue_limits lim;
int error;
loff_t size;
-@@ -1021,6 +1047,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1025,6 +1051,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
/* This is safe, since we have a reference from open(). */
__module_get(THIS_MODULE);
@@ -39748,7 +39743,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
/*
* If we don't hold exclusive handle for the device, upgrade to it
* here to avoid changing device under exclusive owner.
-@@ -1075,6 +1108,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1079,6 +1112,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
lo->lo_device = bdev;
loop_assign_backing_file(lo, file);
@@ -39756,7 +39751,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
lim = queue_limits_start_update(lo->lo_queue);
loop_update_limits(lo, &lim, config->block_size);
-@@ -1125,6 +1159,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
+@@ -1129,6 +1163,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
bd_abort_claiming(bdev, loop_configure);
out_putf:
fput(file);
@@ -39765,7 +39760,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
return error;
-@@ -1134,11 +1170,13 @@ static void __loop_clr_fd(struct loop_device *lo)
+@@ -1138,11 +1174,13 @@ static void __loop_clr_fd(struct loop_device *lo)
{
struct queue_limits lim;
struct file *filp;
@@ -39779,7 +39774,7 @@ index 28f606fd10056..5b4364bc9cbd5 100644
spin_unlock_irq(&lo->lo_lock);
lo->lo_device = NULL;
-@@ -1205,6 +1243,8 @@ static void __loop_clr_fd(struct loop_device *lo)
+@@ -1209,6 +1247,8 @@ static void __loop_clr_fd(struct loop_device *lo)
* fput can take open_mutex which is usually taken before lo_mutex.
*/
fput(filp);
@@ -39789,10 +39784,10 @@ index 28f606fd10056..5b4364bc9cbd5 100644
static int loop_clr_fd(struct loop_device *lo)
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
-index 11fed959853f3..28abe380982e2 100644
+index 69e6af357cb44..52944cf9e6dc3 100644
--- a/fs/aufs/f_op.c
+++ b/fs/aufs/f_op.c
-@@ -325,7 +325,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter)
+@@ -326,7 +326,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter)
if (IS_ERR(h_file))
goto out;
@@ -39848,7 +39843,7 @@ index 519efba31c700..ac701381da792 100644
#endif /* __KERNEL__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
-index 1cfb665377b3d..b9d1a80bae88d 100644
+index 149b1e74fd798..18cdac3097df6 100644
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -758,7 +758,10 @@ const struct super_operations aufs_sop = {
@@ -39864,10 +39859,10 @@ index 1cfb665377b3d..b9d1a80bae88d 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
-index a921b5cc813db..2fb42df81183f 100644
+index 44ab29d90484d..0559f8b4d7feb 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
-@@ -2382,6 +2382,11 @@ struct super_operations {
+@@ -2497,6 +2497,11 @@ struct super_operations {
*/
int (*remove_bdev)(struct super_block *sb, struct block_device *bdev);
void (*shutdown)(struct super_block *sb);
diff --git a/kernel-multiarch.config b/kernel-multiarch.config
index 8c4a3300..5184a17f 100644
--- a/kernel-multiarch.config
+++ b/kernel-multiarch.config
@@ -31,8 +31,6 @@ CRYPTO_CAMELLIA_AESNI_AVX_X86_64 all=m
CRYPTO_CAMELLIA_X86_64 all=m
CRYPTO_CAST5_AVX_X86_64 all=m
CRYPTO_CAST6_AVX_X86_64 all=m
-CRYPTO_CURVE25519_NEON arm=m
-CRYPTO_CURVE25519_X86 all=m
CRYPTO_DES3_EDE_X86_64 all=m
CRYPTO_GHASH_ARM64_CE arm64=m
CRYPTO_GHASH_ARM_CE arm=m
@@ -220,7 +218,6 @@ CRYPTO_DH_RFC7919_GROUPS all=y
CRYPTO_ECDH all=m x86=y
CRYPTO_ECDSA all=m
CRYPTO_ECRDSA all=m
-CRYPTO_CURVE25519 all=m
CRYPTO_AES all=y
CRYPTO_AES_TI all=m
CRYPTO_ANUBIS all=m
@@ -461,6 +458,7 @@ DRM_ACCEL all=y
#- file drivers/accel/habanalabs/Kconfig goes here
#- file drivers/accel/ivpu/Kconfig goes here
#- file drivers/accel/qaic/Kconfig goes here
+#- file drivers/accel/rocket/Kconfig goes here
#-
#- *** FILE: drivers/accel/amdxdna/Kconfig ***
@@ -471,6 +469,7 @@ DRM_ACCEL_AMDXDNA all=m
#- *** FILE: drivers/accel/habanalabs/Kconfig ***
#-
DRM_ACCEL_HABANALABS all=m
+HL_HLDIO all=y
#-
#- *** FILE: drivers/accel/ivpu/Kconfig ***
@@ -549,6 +548,7 @@ ACPI_EXTLOG all=m
ACPI_CONFIGFS all=m
ACPI_PFRUT all=m
#- file drivers/acpi/arm64/Kconfig goes here
+#- file drivers/acpi/riscv/Kconfig goes here
ACPI_PCC all=y
ACPI_FFH all=y
#- file drivers/acpi/pmic/Kconfig goes here
@@ -829,6 +829,7 @@ BCMA_DEBUG all=n
#-
BLK_DEV all=y
#- file drivers/block/null_blk/Kconfig goes here
+#- file drivers/block/rnull/Kconfig goes here
BLK_DEV_FD all=m sparc=y
BLK_DEV_FD_RAWCMD all=n
MAC_FLOPPY ppc=m
@@ -1146,6 +1147,7 @@ COMMON_CLK_FIXED_MMIO all=y
#- file drivers/clk/ingenic/Kconfig goes here
#- file drivers/clk/keystone/Kconfig goes here
#- file drivers/clk/mediatek/Kconfig goes here
+#- file drivers/clk/mmp/Kconfig goes here
#- file drivers/clk/meson/Kconfig goes here
#- file drivers/clk/mstar/Kconfig goes here
#- file drivers/clk/microchip/Kconfig goes here
@@ -1332,6 +1334,7 @@ COMEDI_ADDI_APCI_3120 all=m
COMEDI_ADDI_APCI_3501 all=m
COMEDI_ADDI_APCI_3XXX all=m
COMEDI_ADL_PCI6208 all=m
+COMEDI_ADL_PCI7250 all=m
COMEDI_ADL_PCI7X3X all=m
COMEDI_ADL_PCI8164 all=m
COMEDI_ADL_PCI9111 all=m
@@ -1493,10 +1496,12 @@ CRYPTO_DEV_ROCKCHIP_DEBUG arm64=n
CRYPTO_DEV_SAFEXCEL all=m
CRYPTO_DEV_CCREE all=m
#- file drivers/crypto/hisilicon/Kconfig goes here
+#- file drivers/crypto/loongson/Kconfig goes here
#- file drivers/crypto/amlogic/Kconfig goes here
#- file drivers/crypto/aspeed/Kconfig goes here
#- file drivers/crypto/starfive/Kconfig goes here
#- file drivers/crypto/inside-secure/eip93/Kconfig goes here
+#- file drivers/crypto/ti/Kconfig goes here
#-
#- *** FILE: drivers/crypto/amlogic/Kconfig ***
@@ -1606,6 +1611,12 @@ ARM_RK3399_DMC_DEVFREQ arm64=m
PM_DEVFREQ_EVENT all=y
DEVFREQ_EVENT_ROCKCHIP_DFI arm64=m
+#-
+#- *** FILE: drivers/dibs/Kconfig ***
+#-
+DIBS all=m
+DIBS_LO all=y
+
#-
#- *** FILE: drivers/dma-buf/Kconfig ***
#-
@@ -1780,6 +1791,7 @@ EXTCON_LC824206XA all=m
EXTCON_MAX14577 all=m
EXTCON_MAX3355 all=m
EXTCON_MAX77693 all=m
+EXTCON_MAX14526 all=m
EXTCON_PTN5150 all=m
EXTCON_QCOM_SPMI_MISC all=m
EXTCON_RT8973A all=m
@@ -2066,8 +2078,10 @@ GPIO_LP3943 all=m
GPIO_LP873X all=m
GPIO_LP87565 all=m
GPIO_MADERA all=m
+GPIO_MAX7360 all=m
GPIO_MAX77650 all=m
GPIO_MAX77759 arm=m arm64=m
+GPIO_NCT6694 all=m
GPIO_SL28CPLD all=m
GPIO_STMPE all=y
GPIO_TIMBERDALE all=y
@@ -2101,6 +2115,7 @@ GPIO_XRA1403 all=m
GPIO_MOXTET all=m
GPIO_VIPERBOARD all=m
GPIO_MPSSE all=m
+GPIO_USBIO all=m
GPIO_AGGREGATOR all=m
GPIO_LATCH all=m
GPIO_MOCKUP all=m
@@ -2183,6 +2198,7 @@ DRM_VGEM all=m
#- file drivers/gpu/drm/solomon/Kconfig goes here
#- file drivers/gpu/drm/sprd/Kconfig goes here
#- file drivers/gpu/drm/imagination/Kconfig goes here
+#- file drivers/gpu/drm/tyr/Kconfig goes here
DRM_HYPERV=m
#-
@@ -2463,7 +2479,6 @@ NOUVEAU_DEBUG_MMU all=n
NOUVEAU_DEBUG_PUSH all=n
DRM_NOUVEAU_BACKLIGHT all=y
DRM_NOUVEAU_SVM all=y
-DRM_NOUVEAU_GSP_DEFAULT all=n
DRM_NOUVEAU_CH7006 all=m
DRM_NOUVEAU_SIL164 all=m
@@ -2701,6 +2716,7 @@ DRM_BOCHS all=m
DRM_CIRRUS_QEMU all=m
DRM_GM12U320 all=m
DRM_PANEL_MIPI_DBI all=m
+DRM_PIXPAPER all=m
TINYDRM_HX8357D all=m
TINYDRM_ILI9163 all=m
TINYDRM_ILI9225 all=m
@@ -2801,6 +2817,7 @@ HID_BATTERY_STRENGTH all=y
HIDRAW all=y
UHID all=m
HID_GENERIC all=m
+HID_HAPTIC all=y
HID_A4TECH all=m
HID_ACCUTOUCH all=m
HID_ACRUX all=m
@@ -3015,10 +3032,11 @@ HTE all=y
#-
#- *** FILE: drivers/hv/Kconfig ***
#-
-HYPERV all=m
+HYPERV all=y
HYPERV_VTL_MODE all=n
HYPERV_UTILS all=m
HYPERV_BALLOON all=m
+HYPERV_VMBUS all=m
MSHV_ROOT all=m
#-
@@ -3085,6 +3103,7 @@ SENSORS_FTSTEUTATES all=m
SENSORS_GIGABYTE_WATERFORCE all=m
SENSORS_GL518SM all=m
SENSORS_GL520SM all=m
+SENSORS_GPD all=m
SENSORS_G760A all=m
SENSORS_G762 all=m
SENSORS_GPIO_FAN all=m
@@ -3161,6 +3180,7 @@ SENSORS_PC87360 all=m
SENSORS_PC87427 all=m
SENSORS_NTC_THERMISTOR all=m
SENSORS_NCT6683 all=m
+SENSORS_NCT6694 all=m
SENSORS_NCT6775 all=m
SENSORS_NCT6775_I2C all=m
SENSORS_NCT7363 all=m
@@ -3302,8 +3322,10 @@ SENSORS_MAX31785 all=m
SENSORS_MAX34440 all=m
SENSORS_MAX8688 all=m
SENSORS_MP2856 all=m
+SENSORS_MP2869 all=m
SENSORS_MP2888=m
SENSORS_MP2891 all=m
+SENSORS_MP29502 all=m
SENSORS_MP2975 all=m
SENSORS_MP2993 all=m
SENSORS_MP2975_REGULATOR all=y
@@ -3466,6 +3488,8 @@ I2C_XILINX all=m
I2C_DIOLAN_U2C all=m
I2C_DLN2 all=m
I2C_LJCA all=m
+I2C_NCT6694 all=m
+I2C_USBIO all=m
I2C_CP2615 all=m
I2C_PARPORT all=m
I2C_PCI1XXXX all=m
@@ -3506,6 +3530,7 @@ I3C all=m
#-
#- *** FILE: drivers/i3c/master/Kconfig ***
#-
+ADI_I3C_MASTER all=m
CDNS_I3C_MASTER all=m
DW_I3C_MASTER all=m
SVC_I3C_MASTER all=m
@@ -3648,6 +3673,7 @@ AD7944 all=m
AD7949 all=m
AD799X all=m
AD9467 all=m
+ADE9000 all=m
ADI_AXI_ADC all=m
AXP20X_ADC all=m
AXP288_ADC all=m
@@ -3694,6 +3720,7 @@ QCOM_SPMI_IADC all=m
QCOM_SPMI_VADC all=m
QCOM_SPMI_ADC5 all=m
RN5T618_ADC all=m
+ROHM_BD79112 all=m
ROHM_BD79124 all=m
ROCKCHIP_SARADC arm64=m
RICHTEK_RTQ6056 all=m
@@ -4057,6 +4084,7 @@ VCNL4035 all=m
VEML3235 all=m
VEML6030 all=m
VEML6040 all=m
+VEML6046X00 all=m
VEML6070 all=m
VEML6075 all=m
VL6180 all=m
@@ -4078,6 +4106,7 @@ MMC35240 all=m
IIO_ST_MAGN_3AXIS all=m
IIO_ST_MAGN_I2C_3AXIS arm=m arm64=m
IIO_ST_MAGN_SPI_3AXIS arm=m arm64=m
+INFINEON_TLV493D all=m
SENSORS_HMC5843_I2C all=m
SENSORS_HMC5843_SPI all=m
SENSORS_RM3100_I2C all=m
@@ -4225,6 +4254,7 @@ INFINIBAND_ADDR_TRANS all=y sparc=
#- file drivers/infiniband/hw/erdma/Kconfig goes here
#- file drivers/infiniband/hw/hfi1/Kconfig goes here
#- file drivers/infiniband/hw/hns/Kconfig goes here
+#- file drivers/infiniband/hw/ionic/Kconfig goes here
#- file drivers/infiniband/hw/irdma/Kconfig goes here
#- file drivers/infiniband/hw/mana/Kconfig goes here
#- file drivers/infiniband/hw/mlx4/Kconfig goes here
@@ -4277,6 +4307,11 @@ SDMA_VERBOSITY all=n
#-
INFINIBAND_HNS_HIP08 arm64=n
+#-
+#- *** FILE: drivers/infiniband/hw/ionic/Kconfig ***
+#-
+INFINIBAND_IONIC all=m
+
#-
#- *** FILE: drivers/infiniband/hw/irdma/Kconfig ***
#-
@@ -4475,12 +4510,12 @@ KEYBOARD_DLINK_DIR685 all=m
KEYBOARD_LKKBD all=m
KEYBOARD_GPIO all=m
KEYBOARD_GPIO_POLLED all=m
-KEYBOARD_TCA6416 all=m
KEYBOARD_TCA8418 all=m
KEYBOARD_MATRIX all=m
KEYBOARD_LM8323 all=m
KEYBOARD_LM8333 all=m
KEYBOARD_MAX7359 all=m
+KEYBOARD_MAX7360 all=m
KEYBOARD_MPR121 all=m
KEYBOARD_IMX_BBM_SCMI arm=m arm64=m
KEYBOARD_NEWTON all=m
@@ -4515,6 +4550,7 @@ INPUT_AD714X_SPI all=m
INPUT_ARIZONA_HAPTICS all=m
INPUT_ATC260X_ONKEY all=m
INPUT_ATMEL_CAPTOUCH all=m
+INPUT_AW86927 all=m
INPUT_BMA150 all=m
INPUT_CS40L50_VIBRA all=m
INPUT_E3X0_BUTTON all=m
@@ -4522,6 +4558,7 @@ INPUT_PCSPKR all=m
INPUT_PM8XXX_VIBRATOR arm=m
INPUT_PMIC8XXX_PWRKEY arm=m
INPUT_SPARCSPKR sparc64=m
+INPUT_MAX7360_ROTARY all=m
INPUT_MAX77650_ONKEY all=m
INPUT_MAX77693_HAPTIC all=m
INPUT_MC13783_PWRBUTTON all=m
@@ -4543,6 +4580,7 @@ INPUT_REGULATOR_HAPTIC all=m
INPUT_RETU_PWRBUTTON all=m
INPUT_TPS65218_PWRBUTTON all=m
INPUT_TPS65219_PWRBUTTON all=m
+INPUT_TPS6594_PWRBUTTON all=m
INPUT_AXP20X_PEK all=m
INPUT_TWL4030_PWRBUTTON powerpc=m
INPUT_UINPUT all=m sparc=n
@@ -4694,8 +4732,10 @@ TOUCHSCREEN_GOODIX all=m
TOUCHSCREEN_GOODIX_BERLIN_I2C all=m
TOUCHSCREEN_GOODIX_BERLIN_SPI all=m
TOUCHSCREEN_HIDEEP all=m
+TOUCHSCREEN_HIMAX_HX852X all=m
TOUCHSCREEN_HYCON_HY46XX all=m
TOUCHSCREEN_HYNITRON_CSTXXX all=m
+TOUCHSCREEN_HYNITRON_CST816X all=m
TOUCHSCREEN_ILI210X all=m
TOUCHSCREEN_ILITEK all=m
TOUCHSCREEN_S6SY761 all=m
@@ -5111,6 +5151,7 @@ MCB_LPC all=m
#-
MD all=y
BLK_DEV_MD all=m
+MD_LLBITMAP all=y
MD_BITMAP_FILE all=y
MD_LINEAR all=m
MD_RAID0 all=m
@@ -5156,6 +5197,7 @@ DM_INTEGRITY all=m
DM_ZONED all=m
DM_AUDIT all=y
#- file drivers/md/dm-vdo/Kconfig goes here
+#- file drivers/md/dm-pcache/Kconfig goes here
#-
#- *** FILE: drivers/md/bcache/Kconfig ***
@@ -5164,6 +5206,11 @@ BCACHE all=m
BCACHE_DEBUG all=n
BCACHE_ASYNC_REGISTRATION all=y
+#-
+#- *** FILE: drivers/md/dm-pcache/Kconfig ***
+#-
+DM_PCACHE all=m
+
#-
#- *** FILE: drivers/md/dm-vdo/Kconfig ***
#-
@@ -5344,6 +5391,7 @@ VIDEO_CAMERA_SENSOR all=y
VIDEO_ALVIUM_CSI2 all=m
VIDEO_AR0521 all=m
VIDEO_GC0308 all=m
+VIDEO_GC0310 all=m
VIDEO_GC05A2 all=m
VIDEO_GC08A3 all=m
VIDEO_GC2145 all=m
@@ -5373,6 +5421,7 @@ VIDEO_MT9V011 arm=m arm64=m
VIDEO_MT9V032 all=m
VIDEO_MT9V111 all=m
VIDEO_OG01A1B all=m
+VIDEO_OG0VE1B all=m
VIDEO_OV01A10 all=m
VIDEO_OV02A10 all=m
VIDEO_OV02E10 all=m
@@ -5385,6 +5434,7 @@ VIDEO_OV2640 all=m
VIDEO_OV2659 all=m
VIDEO_OV2680 all=m
VIDEO_OV2685 all=m
+VIDEO_OV2735 all=m
VIDEO_OV2740 all=m
VIDEO_OV4689 all=m
VIDEO_OV5640 all=m
@@ -5395,8 +5445,8 @@ VIDEO_OV5670 all=m
VIDEO_OV5675 all=m
VIDEO_OV5693 all=m
VIDEO_OV5695 all=m
+VIDEO_OV6211 all=m
VIDEO_OV64A40 all=m
-VIDEO_OV6650 all=m
VIDEO_OV7251 all=m
VIDEO_OV7640 arm=m arm64=m
VIDEO_OV7670 all=m
@@ -5896,7 +5946,6 @@ RADIO_SI476X all=m
RADIO_TEA5764 all=m
RADIO_TEF6862 all=m
RADIO_TIMBERDALE all=m
-RADIO_WL1273 all=m
USB_DSBR all=m
USB_KEENE all=m
USB_MA901 all=m
@@ -6410,6 +6459,7 @@ MFD_MT6360 all=m
MFD_MT6370 all=m
MFD_MT6397 all=m
MFD_MENF21BMC all=m
+MFD_NCT6694 all=m
MFD_OCELOT all=m
EZX_PCAP all=y
MFD_CPCAP all=m
@@ -6439,6 +6489,7 @@ MFD_SYSCON all=y
MFD_TI_AM335X_TSCADC all=m
MFD_LP3943 all=m
MFD_TI_LMU all=m
+MFD_BQ257XX all=m
TPS6105X all=m
TPS65010 all=m
TPS6507X all=m
@@ -6481,6 +6532,7 @@ MFD_QNAP_MCU all=m
MFD_RSMU_I2C all=m
MFD_RSMU_SPI all=m
MFD_UPBOARD_FPGA all=m
+MFD_MAX7360 all=m
#-
#- *** FILE: drivers/misc/Kconfig ***
@@ -6595,6 +6647,7 @@ EEPROM_93CX6 all=m
EEPROM_93XX46 all=m
EEPROM_IDT_89HPESX all=m
EEPROM_EE1004 all=m
+EEPROM_M24LR all=m
#-
#- *** FILE: drivers/misc/genwqe/Kconfig ***
@@ -6628,6 +6681,7 @@ INTEL_MEI_TXE all=m
INTEL_MEI_GSC all=m
INTEL_MEI_VSC_HW all=m
INTEL_MEI_VSC all=m
+INTEL_MEI_LB all=m
#- file drivers/misc/mei/hdcp/Kconfig goes here
#- file drivers/misc/mei/pxp/Kconfig goes here
#- file drivers/misc/mei/gsc_proxy/Kconfig goes here
@@ -7216,6 +7270,7 @@ CAN_F81604 all=m
CAN_GS_USB all=m
CAN_KVASER_USB all=m
CAN_MCBA_USB all=m
+CAN_NCT6694 all=m
CAN_PEAK_USB all=m
CAN_UCAN all=m
@@ -7226,7 +7281,7 @@ CAN_UCAN all=m
NET_DSA_BCM_SF2 all=m
NET_DSA_LOOP all=m
#- file drivers/net/dsa/hirschmann/Kconfig goes here
-NET_DSA_LANTIQ_GSWIP all=m
+#- file drivers/net/dsa/lantiq/Kconfig goes here
NET_DSA_MT7530 all=m
NET_DSA_MT7530_MDIO all=m
NET_DSA_MT7530_MMIO all=m
@@ -7238,6 +7293,7 @@ NET_DSA_MV88E6060 all=m
#- file drivers/net/dsa/sja1105/Kconfig goes here
#- file drivers/net/dsa/xrs700x/Kconfig goes here
#- file drivers/net/dsa/realtek/Kconfig goes here
+NET_DSA_KS8995 all=m
NET_DSA_SMSC_LAN9303_I2C all=m
NET_DSA_SMSC_LAN9303_MDIO all=m
NET_DSA_VITESSE_VSC73XX_SPI all=m
@@ -7258,6 +7314,11 @@ B53_SERDES all=m
#-
NET_DSA_HIRSCHMANN_HELLCREEK all=m
+#-
+#- *** FILE: drivers/net/dsa/lantiq/Kconfig ***
+#-
+NET_DSA_LANTIQ_GSWIP all=m
+
#-
#- *** FILE: drivers/net/dsa/microchip/Kconfig ***
#-
@@ -7426,6 +7487,7 @@ OA_TC6 all=m
#- file drivers/net/ethernet/sfc/Kconfig goes here
#- file drivers/net/ethernet/smsc/Kconfig goes here
#- file drivers/net/ethernet/socionext/Kconfig goes here
+#- file drivers/net/ethernet/spacemit/Kconfig goes here
#- file drivers/net/ethernet/stmicro/Kconfig goes here
#- file drivers/net/ethernet/sun/Kconfig goes here
#- file drivers/net/ethernet/sunplus/Kconfig goes here
@@ -7922,6 +7984,7 @@ MLX5_SW_STEERING all=y
MLX5_HW_STEERING all=y
MLX5_SF all=y
MLX5_DPLL all=m
+MLX5_EN_PSP all=y
#-
#- *** FILE: drivers/net/ethernet/mellanox/mlxbf_gige/Kconfig ***
@@ -8455,7 +8518,6 @@ DP83TD510_PHY all=m
DP83TG720_PHY all=m
VITESSE_PHY all=m
XILINX_GMII2RGMII all=m
-MICREL_KS8995MA all=m
#-
#- *** FILE: drivers/net/phy/aquantia/Kconfig ***
@@ -8512,6 +8574,7 @@ PPP_SYNC_TTY all=m
PSE_CONTROLLER all=y
PSE_REGULATOR all=m
PSE_PD692X0 all=m
+PSE_SI3474 all=m
PSE_TPS23881 all=m
#-
@@ -9442,7 +9505,7 @@ PCIE_HISI_ERR arm64=n
PCI_IXP4XX arm=n
VMD all=m
PCI_MVEBU arm=y
-PCI_HYPERV_INTERFACE arm64=m
+PCI_HYPERV_INTERFACE all=m
PCIE_ROCKCHIP_HOST arm64=m
PCIE_ROCKCHIP_EP arm64=y
PCI_V3_SEMI arm=n
@@ -9651,6 +9714,7 @@ PHY_NXP_PTN3222 all=m
#- file drivers/phy/rockchip/Kconfig goes here
#- file drivers/phy/samsung/Kconfig goes here
#- file drivers/phy/socionext/Kconfig goes here
+#- file drivers/phy/sophgo/Kconfig goes here
#- file drivers/phy/st/Kconfig goes here
#- file drivers/phy/starfive/Kconfig goes here
#- file drivers/phy/sunplus/Kconfig goes here
@@ -9777,6 +9841,7 @@ PINCTRL_AW9523 all=m
PINCTRL_CY8C95X0 all=m
PINCTRL_DA9062 all=m
PINCTRL_EQUILIBRIUM all=m
+PINCTRL_MAX7360 all=m
PINCTRL_MCP23S08 all=m
PINCTRL_MICROCHIP_SGPIO all=m
PINCTRL_OCELOT all=m
@@ -9787,6 +9852,7 @@ PINCTRL_SCMI arm=m arm64=m
PINCTRL_SINGLE all=m
PINCTRL_STMFX all=m
PINCTRL_TPS6594 all=m
+PINCTRL_UPBOARD all=m
PINCTRL_MLXBF3 arm64=m
PINCTRL_RP1 arm=m arm64=m
#- file drivers/pinctrl/actions/Kconfig goes here
@@ -9825,6 +9891,7 @@ PINCTRL_RP1 arm=m arm64=m
#- *** FILE: drivers/pinctrl/bcm/Kconfig ***
#-
PINCTRL_BCM2835 arm=y arm64=y
+#- file drivers/pinctrl/bcm/Kconfig.stb goes here
#-
#- *** FILE: drivers/pinctrl/cirrus/Kconfig ***
@@ -9987,6 +10054,7 @@ HUAWEI_WMI all=m
MXM_WMI all=m
NVIDIA_WMI_EC_BACKLIGHT all=m
XIAOMI_WMI all=m
+REDMI_WMI all=m
GIGABYTE_WMI all=m
ACERHDF all=m
ACER_WIRELESS all=m
@@ -10393,6 +10461,7 @@ CHARGER_BQ24190 all=m
CHARGER_BQ24257 all=m
CHARGER_BQ24735 all=m
CHARGER_BQ2515X all=m
+CHARGER_BQ257XX all=m
CHARGER_BQ25890 all=m
CHARGER_BQ25980 all=m
CHARGER_BQ256XX all=m
@@ -10471,12 +10540,14 @@ PTP_1588_CLOCK_MOCK all=m
PTP_1588_CLOCK_VMW all=m
PTP_1588_CLOCK_OCP all=m
PTP_DFL_TOD all=m
+PTP_NETC_V4_TIMER all=m
#-
#- *** FILE: drivers/pwm/Kconfig ***
#-
PWM all=y
PWM_DEBUG all=n
+PWM_PROVIDE_GPIO all=y
PWM_ADP5585 all=m
PWM_ARGON_FAN_HAT arm=m arm64=m
PWM_ATMEL_HLCDC_PWM all=m
@@ -10492,6 +10563,7 @@ PWM_IQS620A all=m
PWM_LP3943 all=m
PWM_LPSS_PCI all=m
PWM_LPSS_PLATFORM all=m
+PWM_MAX7360 all=m
PWM_MC33XS2410 arm=m arm64=m
PWM_MESON arm64=m
PWM_NTXEC all=m
@@ -10566,6 +10638,7 @@ REGULATOR_AW37503 all=m
REGULATOR_AXP20X all=m
REGULATOR_BCM590XX all=m
REGULATOR_BD9571MWV all=m
+REGULATOR_BQ257XX all=m
REGULATOR_CPCAP all=m
REGULATOR_CROS_EC all=m
REGULATOR_DA903X all=m
@@ -10610,6 +10683,7 @@ REGULATOR_MAX77686 all=m
REGULATOR_MAX77693 all=m
REGULATOR_MAX77802 all=m
REGULATOR_MAX77826 all=m
+REGULATOR_MAX77838 all=m
REGULATOR_MC13783 all=m
REGULATOR_MC13892 all=m
REGULATOR_MCP16502 all=m
@@ -10631,6 +10705,7 @@ REGULATOR_MT6397 all=m
REGULATOR_PCA9450 all=m
REGULATOR_PF9453 all=m
REGULATOR_PCAP all=m
+REGULATOR_PF0900 all=m
REGULATOR_PF8X00 all=m
REGULATOR_PFUZE100 all=m
REGULATOR_PV88060 all=m
@@ -10764,6 +10839,7 @@ RTC_DRV_MAX8907 all=m
RTC_DRV_MAX31335 all=m
RTC_DRV_MAX77686 all=m
RTC_DRV_NCT3018Y all=m
+RTC_DRV_NCT6694 all=m
RTC_DRV_RK808 all=m
RTC_DRV_RS5C372 all=m
RTC_DRV_ISL1208 all=m
@@ -10866,11 +10942,11 @@ RTC_DRV_MT6397 all=m
RTC_DRV_XGENE all=m
RTC_DRV_R7301 all=m
RTC_DRV_CPCAP all=m
-#- HID Sensor RTC drivers
-RTC_DRV_HID_SENSOR_TIME all=m
RTC_DRV_GOLDFISH all=m
RTC_DRV_WILCO_EC all=m
RTC_DRV_AMLOGIC_A4 arm64=m
+#- HID Sensor RTC drivers
+RTC_DRV_HID_SENSOR_TIME all=m
#-
#- *** FILE: drivers/sbus/char/Kconfig ***
@@ -11169,7 +11245,6 @@ SIOX_BUS_GPIO all=m
#- *** FILE: drivers/slimbus/Kconfig ***
#-
SLIMBUS all=m
-SLIM_QCOM_CTRL all=m
#-
#- *** FILE: drivers/soc/amlogic/Kconfig ***
@@ -11304,6 +11379,7 @@ SPI_SN_F_OSPI all=m
SPI_MXIC all=m
SPI_THUNDERX arm64=m
SPI_TOPCLIFF_PCH all=m
+SPI_VIRTIO all=m
SPI_XCOMM all=m
SPI_XILINX all=m
SPI_ZYNQMP_GQSPI all=m
@@ -11492,7 +11568,6 @@ VIDEO_ATOMISP all=m
#-
VIDEO_ATOMISP_OV2722 all=m
VIDEO_ATOMISP_GC2235 all=m
-VIDEO_ATOMISP_GC0310 all=m
#-
#- *** FILE: drivers/staging/media/av7110/Kconfig ***
@@ -11647,6 +11722,7 @@ TEE all=m
#- file drivers/tee/optee/Kconfig goes here
#- file drivers/tee/amdtee/Kconfig goes here
#- file drivers/tee/tstee/Kconfig goes here
+#- file drivers/tee/qcomtee/Kconfig goes here
#-
#- *** FILE: drivers/tee/amdtee/Kconfig ***
@@ -12221,6 +12297,7 @@ USB_IDMOUSE all=m
USB_APPLEDISPLAY all=m
APPLE_MFI_FASTCHARGE all=m
USB_LJCA all=m
+USB_USBIO all=m
#- file drivers/usb/misc/sisusbvga/Kconfig goes here
USB_LD all=m
USB_TRANCEVIBRATOR all=m
@@ -12922,6 +12999,7 @@ RN5T618_WATCHDOG all=m
TWL4030_WATCHDOG powerpc=m
MAX63XX_WATCHDOG all=m
MAX77620_WATCHDOG all=m
+NCT6694_WATCHDOG all=m
RETU_WATCHDOG all=m
MESON_GXBB_WATCHDOG arm64=m
MESON_WATCHDOG arm64=m
@@ -13043,7 +13121,6 @@ VALIDATE_FS_PARSER all=y
#- file fs/btrfs/Kconfig goes here
#- file fs/nilfs2/Kconfig goes here
#- file fs/f2fs/Kconfig goes here
-#- file fs/bcachefs/Kconfig goes here
#- file fs/zonefs/Kconfig goes here
FS_DAX all=y
EXPORTFS_BLOCK_OPS all=y
@@ -13155,22 +13232,6 @@ AUFS_DIRREN all=y
#-
AUTOFS_FS all=m
-#-
-#- *** FILE: fs/bcachefs/Kconfig ***
-#-
-BCACHEFS_FS all=m
-BCACHEFS_QUOTA all=y
-BCACHEFS_ERASURE_CODING all=y
-BCACHEFS_POSIX_ACL all=y
-BCACHEFS_DEBUG all=n
-BCACHEFS_TESTS all=y
-BCACHEFS_LOCK_TIME_STATS all=n
-BCACHEFS_NO_LATENCY_ACCT all=n
-BCACHEFS_SIX_OPTIMISTIC_SPIN all=y
-BCACHEFS_PATH_TRACEPOINTS all=n
-BCACHEFS_TRANS_KMALLOC_TRACE all=n
-BCACHEFS_ASYNC_OBJECT_LISTS all=n
-
#-
#- *** FILE: fs/befs/Kconfig ***
#-
@@ -13191,7 +13252,6 @@ BTRFS_FS_RUN_SANITY_TESTS all=y
BTRFS_DEBUG all=n
BTRFS_ASSERT all=n
BTRFS_EXPERIMENTAL all=n
-BTRFS_FS_REF_VERIFY all=n
#-
#- *** FILE: fs/cachefiles/Kconfig ***
@@ -13288,9 +13348,6 @@ EXT2_FS_SECURITY all=y
#-
#- *** FILE: fs/ext4/Kconfig ***
#-
-EXT3_FS all=n
-EXT3_FS_POSIX_ACL all=y
-EXT3_FS_SECURITY all=y
EXT4_FS all=m
EXT4_USE_FOR_EXT2 all=y
EXT4_FS_POSIX_ACL all=y
@@ -13863,6 +13920,7 @@ KEXEC arm=y arm64=y powerpc=y x86=y
KEXEC_FILE all=y
KEXEC_SIG all=n
KEXEC_HANDOVER all=y
+KEXEC_HANDOVER_DEBUG all=n
CRASH_DUMP arm=n arm64=n powerpc=n x86=n
#-
@@ -14372,28 +14430,6 @@ CRC_T10DIF all=y
CRC32 all=y
CRC64 all=y
-#-
-#- *** FILE: lib/crypto/Kconfig ***
-#-
-#- file lib/crypto/tests/Kconfig goes here
-#- file lib/crypto/arm/Kconfig goes here
-#- file lib/crypto/arm64/Kconfig goes here
-#- file lib/crypto/mips/Kconfig goes here
-#- file lib/crypto/powerpc/Kconfig goes here
-#- file lib/crypto/riscv/Kconfig goes here
-#- file lib/crypto/s390/Kconfig goes here
-#- file lib/crypto/x86/Kconfig goes here
-
-#-
-#- *** FILE: lib/crypto/arm/Kconfig ***
-#-
-CRYPTO_BLAKE2S_ARM arm=y
-
-#-
-#- *** FILE: lib/crypto/x86/Kconfig ***
-#-
-CRYPTO_BLAKE2S_X86 x86_64=y
-
#-
#- *** FILE: lib/fonts/Kconfig ***
#-
@@ -14450,8 +14486,8 @@ ZSWAP_COMPRESSOR_DEFAULT_842 all=n
ZSWAP_COMPRESSOR_DEFAULT_LZ4 all=n
ZSWAP_COMPRESSOR_DEFAULT_LZ4HC all=n
ZSWAP_COMPRESSOR_DEFAULT_ZSTD all=n
-ZSWAP_ZPOOL_DEFAULT_ZSMALLOC all=y
ZSMALLOC all=y
+#- Zsmalloc is a common backend allocator for zswap & zram
ZSMALLOC_STAT all=y
ZSMALLOC_CHAIN_SIZE all=8
SLAB_MERGE_DEFAULT all=y
@@ -14482,6 +14518,7 @@ KSM all=y
DEFAULT_MMAP_MIN_ADDR all=0 x86_64=65536 i386=65536 sparc64=8192 ppc=65536
MEMORY_FAILURE all=y
HWPOISON_INJECT all=m
+PERSISTENT_HUGE_ZERO_FOLIO all=y
TRANSPARENT_HUGEPAGE all=y
TRANSPARENT_HUGEPAGE_ALWAYS all=y
TRANSPARENT_HUGEPAGE_MADVISE all=y
@@ -14583,11 +14620,13 @@ NET_9P_DEBUG all=n
#-
NET all=y
#- file net/packet/Kconfig goes here
+#- file net/psp/Kconfig goes here
#- file net/unix/Kconfig goes here
#- file net/tls/Kconfig goes here
#- file net/xfrm/Kconfig goes here
#- file net/iucv/Kconfig goes here
#- file net/smc/Kconfig goes here
+#- file drivers/dibs/Kconfig goes here
#- file net/xdp/Kconfig goes here
INET all=y
#- file net/ipv4/Kconfig goes here
@@ -14709,7 +14748,6 @@ BATMAN_ADV all=m
BATMAN_ADV_BATMAN_V all=y
BATMAN_ADV_BLA all=y
BATMAN_ADV_DAT all=y
-BATMAN_ADV_NC all=y
BATMAN_ADV_MCAST all= all=y
BATMAN_ADV_DEBUG all=n
BATMAN_ADV_TRACING all=n
@@ -15384,6 +15422,11 @@ PHONET all=m
#-
PSAMPLE all=m
+#-
+#- *** FILE: net/psp/Kconfig ***
+#-
+INET_PSP all=y
+
#-
#- *** FILE: net/qrtr/Kconfig ***
#-
@@ -15514,17 +15557,14 @@ NET_TC_SKB_EXT all=y
#-
IP_SCTP all=m
SCTP_DBG_OBJCNT all=n
-SCTP_DEFAULT_COOKIE_HMAC_MD5 all=y
-SCTP_DEFAULT_COOKIE_HMAC_SHA1 all=n
+SCTP_DEFAULT_COOKIE_HMAC_SHA256 all=y
SCTP_DEFAULT_COOKIE_HMAC_NONE all=n
-SCTP_COOKIE_HMAC_SHA1 all=y
#-
#- *** FILE: net/smc/Kconfig ***
#-
SMC all=m
SMC_DIAG all=m
-SMC_LO all=y
#-
#- *** FILE: net/sunrpc/Kconfig ***
@@ -15534,6 +15574,7 @@ RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1 all=y
RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA all=y
RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 all=y
SUNRPC_DEBUG all=y
+SUNRPC_DEBUG_TRACE all=n
SUNRPC_XPRT_RDMA all=m
#-
@@ -16337,6 +16378,7 @@ SND_SOC_ES8328_SPI all=m
SND_SOC_ES8375 all=m
SND_SOC_ES8389 all=m
SND_SOC_FRAMER all=m
+SND_SOC_FS210X all=m
SND_SOC_GTM601 all=m
SND_SOC_HDA all=m
SND_SOC_ICS43432 all=m
@@ -16359,6 +16401,7 @@ SND_SOC_MAX9860 all=m
SND_SOC_MSM8916_WCD_ANALOG all=m
SND_SOC_MSM8916_WCD_DIGITAL all=m
SND_SOC_PCM1681 all=m
+SND_SOC_PCM1754 all=m
SND_SOC_PCM1789_I2C all=m
SND_SOC_PCM179X_I2C all=m
SND_SOC_PCM179X_SPI all=m
@@ -16373,6 +16416,7 @@ SND_SOC_PCM512x_I2C all=m
SND_SOC_PCM512x_SPI all=m
SND_SOC_PCM6240 all=m
SND_SOC_PEB2466 all=m
+SND_SOC_PM4125_SDW all=m
SND_SOC_RK3308 arm64=m
SND_SOC_RK3328 all=m
SND_SOC_RK817 all=m
@@ -16422,6 +16466,7 @@ SND_SOC_TAS2764 all=m
SND_SOC_TAS2770 all=m
SND_SOC_TAS2780 all=m
SND_SOC_TAS2781_I2C all=m
+SND_SOC_TAS2783_SDW all=m
SND_SOC_TAS5086 all=m
SND_SOC_TAS571X all=m
SND_SOC_TAS5720 all=m
@@ -16789,6 +16834,7 @@ SND_USB_USX2Y all=m
SND_USB_CAIAQ all=m
SND_USB_CAIAQ_INPUT all=y sparc64=n
SND_USB_US122L all=m
+SND_USB_US144MKII all=m
SND_USB_6FIRE all=m
SND_USB_HIFACE all=m
SND_BCD2000 all=m
@@ -16834,6 +16880,40 @@ RD_ZSTD all=y
#-
#- *** PROBABLY REMOVED OPTIONS ***
#-
+BATMAN_ADV_NC all=y
+BCACHEFS_ASYNC_OBJECT_LISTS all=n
+BCACHEFS_DEBUG all=n
+BCACHEFS_ERASURE_CODING all=y
+BCACHEFS_FS all=m
+BCACHEFS_LOCK_TIME_STATS all=n
+BCACHEFS_NO_LATENCY_ACCT all=n
+BCACHEFS_PATH_TRACEPOINTS all=n
+BCACHEFS_POSIX_ACL all=y
+BCACHEFS_QUOTA all=y
+BCACHEFS_SIX_OPTIMISTIC_SPIN all=y
+BCACHEFS_TESTS all=y
+BCACHEFS_TRANS_KMALLOC_TRACE all=n
+BTRFS_FS_REF_VERIFY all=n
+CRYPTO_BLAKE2S_ARM arm=y
+CRYPTO_BLAKE2S_X86 x86_64=y
+CRYPTO_CURVE25519 all=m
+CRYPTO_CURVE25519_NEON arm=m
+CRYPTO_CURVE25519_X86 all=m
+DRM_NOUVEAU_GSP_DEFAULT all=n
+EXT3_FS all=n
+EXT3_FS_POSIX_ACL all=y
+EXT3_FS_SECURITY all=y
+KEYBOARD_TCA6416 all=m
+MICREL_KS8995MA all=m
+RADIO_WL1273 all=m
+SCTP_COOKIE_HMAC_SHA1 all=y
+SCTP_DEFAULT_COOKIE_HMAC_MD5 all=n
+SCTP_DEFAULT_COOKIE_HMAC_SHA1 all=n
+SLIM_QCOM_CTRL all=m
+SMC_LO all=y
SND_BCM2708_SOC_HIFIBERRY_DAC arm=m arm64=m
SND_RPI_SIMPLE_SOUNDCARD arm=m arm64=m
SND_RPI_WM8804_SOUNDCARD arm=m arm64=m
+VIDEO_ATOMISP_GC0310 all=m
+VIDEO_OV6650 all=m
+ZSWAP_ZPOOL_DEFAULT_ZSMALLOC all=y
diff --git a/kernel-x86.config b/kernel-x86.config
index ccb936fa..df142ace 100644
--- a/kernel-x86.config
+++ b/kernel-x86.config
@@ -5,6 +5,7 @@
64BIT i386=n x86_64=y
SMP x86=y
X86_X2APIC all=y
+AMD_SECURE_AVIC x86=y
X86_POSTED_MSI x86_64=y
X86_MPPARSE x86=y
X86_CPU_RESCTRL all=y
@@ -34,6 +35,7 @@ PVH x86=y
PARAVIRT_TIME_ACCOUNTING x86=y
JAILHOUSE_GUEST all=y
ACRN_GUEST all=y
+BHYVE_GUEST x86=y
INTEL_TDX_GUEST x86_64=y
#- file arch/x86/Kconfig.cpu goes here
HPET_TIMER x86=y
@@ -41,8 +43,6 @@ DMI x86=y
GART_IOMMU x86_64=y
MAXSMP i386=n x86_64=n
NR_CPUS i386=32 x86_64=512
-SCHED_SMT x86=y
-SCHED_MC x86=y
SCHED_MC_PRIO all=y
X86_UP_APIC i386=y
X86_UP_IOAPIC i386=y
@@ -62,6 +62,7 @@ TOSHIBA i386=m
X86_REBOOTFIXUPS i386=y
MICROCODE all=y
MICROCODE_LATE_LOADING x86=n
+MICROCODE_DBG all=n
X86_MSR x86=m
X86_CPUID x86=m
HIGHMEM4G i386=y
@@ -210,6 +211,7 @@ VIRTUALIZATION x86=y
KVM x86=m
KVM_INTEL x86=m
X86_SGX_KVM all=y
+KVM_INTEL_TDX x86=y
KVM_AMD x86=m
KVM_AMD_SEV all=y
KVM_XEN all=y
@@ -234,6 +236,7 @@ ACPI_FPDT all=y
#- file drivers/acpi/apei/Kconfig goes here
#- file drivers/acpi/dptf/Kconfig goes here
#- file drivers/acpi/arm64/Kconfig goes here
+#- file drivers/acpi/riscv/Kconfig goes here
#- file drivers/acpi/pmic/Kconfig goes here
#-
@@ -277,6 +280,8 @@ MK8 i386=n x86_64=n amd64=y
MPSC x86_64=n
NOHIGHMEM i386=n
NUMA_EMU x86_64=n
+SCHED_MC x86=y
+SCHED_SMT x86=y
SPECULATION_MITIGATIONS x86=y
STA2X11 all=y
X86_32_NON_STANDARD i386=y
diff --git a/update-source.sh b/update-source.sh
index 260264f4..d2990038 100755
--- a/update-source.sh
+++ b/update-source.sh
@@ -1,8 +1,8 @@
#!/bin/sh
set -xe
-BRANCH=aufs6.17
-#BRANCH=aufs6.x-rcN
+#BRANCH=aufs6.17
+BRANCH=aufs6.x-rcN
# aufs6
[ -d aufs-standalone ] || git clone https://github.com/sfjro/aufs-standalone.git
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/d750d24d7da25977796e5d18aac6baa2faa8b9d8
More information about the pld-cvs-commit
mailing list