[packages/kernel] Partial 6.3.0 update (aufs fails to build)

arekm arekm at pld-linux.org
Mon Apr 24 08:58:51 CEST 2023


commit 5db017eb132180a8a6fb3f255876e776cb38b22b
Author: Arkadiusz Miśkiewicz <arekm at maven.pl>
Date:   Mon Apr 24 08:58:09 2023 +0200

    Partial 6.3.0 update (aufs fails to build)

 android-enable-building-binder-as-module.patch |  10 -
 kernel-aufs.patch                              | 689 ++++++++++++-------------
 kernel-multiarch.config                        | 362 ++++++++-----
 kernel-pom-ng-IPV4OPTSSTRIP.patch              |   3 +-
 kernel.spec                                    |   8 +-
 update-source.sh                               |   2 +-
 6 files changed, 561 insertions(+), 513 deletions(-)
---
diff --git a/kernel.spec b/kernel.spec
index 2a91d425..4e8d228d 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -65,9 +65,9 @@
 %define		have_pcmcia	0
 %endif
 
-%define		rel		1
-%define		basever		6.2
-%define		postver		.11
+%define		rel		0.1
+%define		basever		6.3
+%define		postver		.0
 
 # define this to '-%{basever}' for longterm branch
 %define		versuffix	%{nil}
@@ -118,7 +118,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:	787862593d7bf354cf1a5c37e21fc147
+# Source0-md5:	df4f97e65bde4174dd8be2af836f28e1
 %if "%{postver}" != ".0"
 Patch0:		https://www.kernel.org/pub/linux/kernel/v6.x/patch-%{version}.xz
 # Patch0-md5:	3c17a6ccf1a52b4b2ffaab379bac3ba8
diff --git a/android-enable-building-binder-as-module.patch b/android-enable-building-binder-as-module.patch
index c6006b25..2272c590 100644
--- a/android-enable-building-binder-as-module.patch
+++ b/android-enable-building-binder-as-module.patch
@@ -63,16 +63,6 @@
  
  /**
   * task_work_cancel_match - cancel a pending work added by task_work_add()
---- a/mm/memory.c
-+++ b/mm/memory.c
-@@ -1757,6 +1757,7 @@ void zap_page_range(struct vm_area_struc
- 	mmu_notifier_invalidate_range_end(&range);
- 	tlb_finish_mmu(&tlb);
- }
-+EXPORT_SYMBOL_GPL(zap_page_range);
- 
- /**
-  * zap_page_range_single - remove user pages in a given range
 --- a/security/security.c
 +++ b/security/security.c
 @@ -752,24 +752,28 @@ int security_binder_set_context_mgr(cons
diff --git a/kernel-aufs.patch b/kernel-aufs.patch
index 9d9946ba..8829c796 100644
--- a/kernel-aufs.patch
+++ b/kernel-aufs.patch
@@ -1,11 +1,11 @@
 SPDX-License-Identifier: GPL-2.0
-aufs6.2 kbuild patch
+aufs6.x-rcN kbuild patch
 
 diff --git a/fs/Kconfig b/fs/Kconfig
-index 2685a4d0d353..a2df3d4bb3aa 100644
+index e99830c65033..ad12851f7abd 100644
 --- a/fs/Kconfig
 +++ b/fs/Kconfig
-@@ -319,6 +319,7 @@ source "fs/sysv/Kconfig"
+@@ -323,6 +323,7 @@ source "fs/sysv/Kconfig"
  source "fs/ufs/Kconfig"
  source "fs/erofs/Kconfig"
  source "fs/vboxsf/Kconfig"
@@ -14,22 +14,22 @@ index 2685a4d0d353..a2df3d4bb3aa 100644
  endif # MISC_FILESYSTEMS
  
 diff --git a/fs/Makefile b/fs/Makefile
-index 4dea17840761..9795cbfdd0bf 100644
+index 05f89b5c962f..84f0a6832c11 100644
 --- a/fs/Makefile
 +++ b/fs/Makefile
-@@ -137,3 +137,4 @@ obj-$(CONFIG_EFIVAR_FS)		+= efivarfs/
+@@ -138,3 +138,4 @@ obj-$(CONFIG_EFIVAR_FS)		+= efivarfs/
  obj-$(CONFIG_EROFS_FS)		+= erofs/
  obj-$(CONFIG_VBOXSF_FS)		+= vboxsf/
  obj-$(CONFIG_ZONEFS_FS)		+= zonefs/
 +obj-$(CONFIG_AUFS_FS)           += aufs/
 SPDX-License-Identifier: GPL-2.0
-aufs6.2 base patch
+aufs6.x-rcN base patch
 
 diff --git a/MAINTAINERS b/MAINTAINERS
-index 135d93368d36..7d3230ef47ec 100644
+index 8d5bc223f305..269079ad5d05 100644
 --- a/MAINTAINERS
 +++ b/MAINTAINERS
-@@ -3526,6 +3526,19 @@ F:	include/uapi/linux/audit.h
+@@ -3371,6 +3371,19 @@ F:	include/uapi/linux/audit.h
  F:	kernel/audit*
  F:	lib/*audit.c
  
@@ -50,7 +50,7 @@ index 135d93368d36..7d3230ef47ec 100644
  M:	Miguel Ojeda <ojeda at kernel.org>
  S:	Maintained
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 1518a6423279..7a9928c6db9d 100644
+index 839373451c2b..463edc7c1633 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
 @@ -645,6 +645,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -92,10 +92,10 @@ index 52e6d5fdab6b..519321f32f95 100644
  {
  	struct dentry *this_parent;
 diff --git a/fs/fcntl.c b/fs/fcntl.c
-index 146c9ab0cd4b..c980a0524118 100644
+index b622be119706..9ea58b7bb580 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -33,7 +33,7 @@
+@@ -34,7 +34,7 @@
  
  #define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME)
  
@@ -104,7 +104,7 @@ index 146c9ab0cd4b..c980a0524118 100644
  {
  	struct inode * inode = file_inode(filp);
  	int error = 0;
-@@ -63,6 +63,8 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
+@@ -64,6 +64,8 @@ static int setfl(int fd, struct file * filp, unsigned long arg)
  
  	if (filp->f_op->check_flags)
  		error = filp->f_op->check_flags(arg);
@@ -114,10 +114,10 @@ index 146c9ab0cd4b..c980a0524118 100644
  		return error;
  
 diff --git a/fs/namespace.c b/fs/namespace.c
-index ab467ee58341..8cd34f760f63 100644
+index bc0f15257b49..4e4dce8f483c 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
-@@ -963,6 +963,12 @@ static inline int check_mnt(struct mount *mnt)
+@@ -849,6 +849,12 @@ static inline int check_mnt(struct mount *mnt)
  	return mnt->mnt_ns == current->nsproxy->mnt_ns;
  }
  
@@ -131,10 +131,10 @@ index ab467ee58341..8cd34f760f63 100644
   * vfsmount lock must be held for write
   */
 diff --git a/fs/splice.c b/fs/splice.c
-index 5969b7a1d353..21db9b057d60 100644
+index 2e76dbb81a8f..cf863787b4e7 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -756,8 +756,8 @@ static int warn_unsupported(struct file *file, const char *op)
+@@ -848,8 +848,8 @@ static int warn_unsupported(struct file *file, const char *op)
  /*
   * Attempt to initiate a splice from pipe to file.
   */
@@ -145,7 +145,7 @@ index 5969b7a1d353..21db9b057d60 100644
  {
  	if (unlikely(!out->f_op->splice_write))
  		return warn_unsupported(out, "write");
-@@ -767,9 +767,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -859,9 +859,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  /*
   * Attempt to initiate a splice from a file to a pipe.
   */
@@ -159,10 +159,10 @@ index 5969b7a1d353..21db9b057d60 100644
  	unsigned int p_space;
  	int ret;
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index c1769a2c5d70..ec560e8704a4 100644
+index c85916e9f7db..d676c6742cc2 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -1386,6 +1386,7 @@ extern void fasync_free(struct fasync_struct *);
+@@ -1049,6 +1049,7 @@ extern void fasync_free(struct fasync_struct *);
  /* can be called from interrupts */
  extern void kill_fasync(struct fasync_struct **, int, int);
  
@@ -170,7 +170,7 @@ index c1769a2c5d70..ec560e8704a4 100644
  extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
  extern int f_setown(struct file *filp, unsigned long arg, int force);
  extern void f_delown(struct file *filp);
-@@ -2113,6 +2114,7 @@ struct file_operations {
+@@ -1776,6 +1777,7 @@ struct file_operations {
  	ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
  	unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
  	int (*check_flags)(int);
@@ -179,7 +179,7 @@ index c1769a2c5d70..ec560e8704a4 100644
  	ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
  	ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
 diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
-index 1f1099dac3f0..81d10b8e9dc0 100644
+index 1023f349af71..8de40ae43082 100644
 --- a/include/linux/lockdep.h
 +++ b/include/linux/lockdep.h
 @@ -248,6 +248,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
@@ -227,10 +227,10 @@ index a55179fd60fc..8e21c53cf883 100644
 +			 unsigned int flags);
  #endif
 diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index e3375bc40dad..c1f0aadde539 100644
+index 50d4863974e7..36caa2ccf344 100644
 --- a/kernel/locking/lockdep.c
 +++ b/kernel/locking/lockdep.c
-@@ -217,7 +217,7 @@ unsigned long max_lock_class_idx;
+@@ -218,7 +218,7 @@ unsigned long max_lock_class_idx;
  struct lock_class lock_classes[MAX_LOCKDEP_KEYS];
  DECLARE_BITMAP(lock_classes_in_use, MAX_LOCKDEP_KEYS);
  
@@ -239,7 +239,7 @@ index e3375bc40dad..c1f0aadde539 100644
  {
  	unsigned int class_idx = hlock->class_idx;
  
-@@ -238,6 +238,7 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock)
+@@ -239,6 +239,7 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock)
  	 */
  	return lock_classes + class_idx;
  }
@@ -248,10 +248,10 @@ index e3375bc40dad..c1f0aadde539 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.2 mmap patch
+aufs6.x-rcN mmap patch
 
 diff --git a/fs/proc/base.c b/fs/proc/base.c
-index 9e479d7d202b..986c2ae12f8b 100644
+index 5e0e0ccd47aa..4dd48e01c595 100644
 --- a/fs/proc/base.c
 +++ b/fs/proc/base.c
 @@ -2218,7 +2218,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
@@ -280,7 +280,7 @@ index 4d3493579458..42edd9a42c78 100644
  		ino = inode->i_ino;
  	}
 diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
-index af1c49ae11b1..cd6a4e461763 100644
+index 6a96e1713fd5..9faa6e65bf21 100644
 --- a/fs/proc/task_mmu.c
 +++ b/fs/proc/task_mmu.c
 @@ -285,7 +285,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
@@ -295,7 +295,7 @@ index af1c49ae11b1..cd6a4e461763 100644
  		dev = inode->i_sb->s_dev;
  		ino = inode->i_ino;
  		pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
-@@ -1940,7 +1943,7 @@ static int show_numa_map(struct seq_file *m, void *v)
+@@ -1939,7 +1942,7 @@ static int show_numa_map(struct seq_file *m, void *v)
  	struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
  	struct vm_area_struct *vma = v;
  	struct numa_maps *md = &numa_priv->md;
@@ -305,7 +305,7 @@ index af1c49ae11b1..cd6a4e461763 100644
  	struct mempolicy *pol;
  	char buffer[64];
 diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
-index 2fd06f52b6a4..b01030da424f 100644
+index 0ec35072a8e5..f0f0a03eb2b5 100644
 --- a/fs/proc/task_nommu.c
 +++ b/fs/proc/task_nommu.c
 @@ -150,7 +150,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma)
@@ -321,10 +321,10 @@ index 2fd06f52b6a4..b01030da424f 100644
  		ino = inode->i_ino;
  		pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
 diff --git a/include/linux/mm.h b/include/linux/mm.h
-index f13f20258ce9..25f4878a0835 100644
+index 1f79667824eb..7e187c88ee4d 100644
 --- a/include/linux/mm.h
 +++ b/include/linux/mm.h
-@@ -2065,6 +2065,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
+@@ -2218,6 +2218,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
  	unmap_mapping_range(mapping, holebegin, holelen, 0);
  }
  
@@ -369,10 +369,10 @@ index f13f20258ce9..25f4878a0835 100644
  		void *buf, int len, unsigned int gup_flags);
  extern int access_remote_vm(struct mm_struct *mm, unsigned long addr,
 diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
-index 9757067c3053..b6a0f30cd722 100644
+index 0722859c3647..0c5e55b5b345 100644
 --- a/include/linux/mm_types.h
 +++ b/include/linux/mm_types.h
-@@ -504,6 +504,9 @@ struct vm_region {
+@@ -449,6 +449,9 @@ struct vm_region {
  	unsigned long	vm_top;		/* region allocated to here */
  	unsigned long	vm_pgoff;	/* the offset in vm_file corresponding to vm_start */
  	struct file	*vm_file;	/* the backing file or NULL */
@@ -382,7 +382,7 @@ index 9757067c3053..b6a0f30cd722 100644
  
  	int		vm_usage;	/* region usage count (access under nommu_region_sem) */
  	bool		vm_icache_flushed : 1; /* true if the icache has been flushed for
-@@ -575,6 +578,9 @@ struct vm_area_struct {
+@@ -528,6 +531,9 @@ struct vm_area_struct {
  	unsigned long vm_pgoff;		/* Offset (within vm_file) in PAGE_SIZE
  					   units */
  	struct file * vm_file;		/* File we map to (can be NULL). */
@@ -393,7 +393,7 @@ index 9757067c3053..b6a0f30cd722 100644
  
  #ifdef CONFIG_ANON_VMA_NAME
 diff --git a/kernel/fork.c b/kernel/fork.c
-index 9f7fe3541897..f9e44ca88a7d 100644
+index f68954d05e89..f102420a50fc 100644
 --- a/kernel/fork.c
 +++ b/kernel/fork.c
 @@ -664,7 +664,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -415,10 +415,10 @@ index 8e105e5b3e29..c218d042dbce 100644
  obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
 +obj-y += prfile.o
 diff --git a/mm/filemap.c b/mm/filemap.c
-index 0e20a8d6dd93..ba1b238d928a 100644
+index 2723104cc06a..d723b8c01689 100644
 --- a/mm/filemap.c
 +++ b/mm/filemap.c
-@@ -3438,7 +3438,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
+@@ -3567,7 +3567,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
  	vm_fault_t ret = VM_FAULT_LOCKED;
  
  	sb_start_pagefault(mapping->host->i_sb);
@@ -428,7 +428,7 @@ index 0e20a8d6dd93..ba1b238d928a 100644
  	if (folio->mapping != mapping) {
  		folio_unlock(folio);
 diff --git a/mm/mmap.c b/mm/mmap.c
-index 425a9349e610..004eb9dbd99a 100644
+index 740b54be3ed4..96b72488ff2a 100644
 --- a/mm/mmap.c
 +++ b/mm/mmap.c
 @@ -139,7 +139,7 @@ static void remove_vma(struct vm_area_struct *vma)
@@ -440,25 +440,7 @@ index 425a9349e610..004eb9dbd99a 100644
  	mpol_put(vma_policy(vma));
  	vm_area_free(vma);
  }
-@@ -589,7 +589,7 @@ inline int vma_expand(struct ma_state *mas, struct vm_area_struct *vma,
- 	if (remove_next) {
- 		if (file) {
- 			uprobe_munmap(next, next->vm_start, next->vm_end);
--			fput(file);
-+			vma_fput(vma);
- 		}
- 		if (next->anon_vma)
- 			anon_vma_merge(vma, next);
-@@ -830,7 +830,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
- again:
- 		if (file) {
- 			uprobe_munmap(next, next->vm_start, next->vm_end);
--			fput(file);
-+			vma_fput(vma);
- 		}
- 		if (next->anon_vma)
- 			anon_vma_merge(vma, next);
-@@ -2228,7 +2228,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
+@@ -2193,7 +2193,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma,
  		goto out_free_mpol;
  
  	if (new->vm_file)
@@ -467,25 +449,16 @@ index 425a9349e610..004eb9dbd99a 100644
  
  	if (new->vm_ops && new->vm_ops->open)
  		new->vm_ops->open(new);
-@@ -2250,7 +2250,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
- 	if (new->vm_ops && new->vm_ops->close)
- 		new->vm_ops->close(new);
- 	if (new->vm_file)
--		fput(new->vm_file);
-+		vma_fput(new);
- 	unlink_anon_vmas(new);
-  out_free_mpol:
- 	mpol_put(vma_policy(new));
-@@ -2750,7 +2750,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
- 	if (vma->vm_ops && vma->vm_ops->close)
- 		vma->vm_ops->close(vma);
+@@ -2700,7 +2700,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
+ 
+ 	if (file || vma->vm_file) {
  unmap_and_free_vma:
--	fput(vma->vm_file);
-+	vma_fput(vma);
- 	vma->vm_file = NULL;
+-		fput(vma->vm_file);
++		vma_fput(vma);
+ 		vma->vm_file = NULL;
  
- 	/* Undo any partial mapping done by a device driver. */
-@@ -2817,6 +2817,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+ 		/* Undo any partial mapping done by a device driver. */
+@@ -2769,6 +2769,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
  	unsigned long populate = 0;
  	unsigned long ret = -EINVAL;
  	struct file *file;
@@ -495,7 +468,7 @@ index 425a9349e610..004eb9dbd99a 100644
  
  	pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
  		     current->comm, current->pid);
-@@ -2875,10 +2878,34 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
+@@ -2827,10 +2830,34 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
  	if (vma->vm_flags & VM_LOCKED)
  		flags |= MAP_LOCKED;
  
@@ -530,7 +503,7 @@ index 425a9349e610..004eb9dbd99a 100644
  out:
  	mmap_write_unlock(mm);
  	if (populate)
-@@ -3226,7 +3253,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+@@ -3174,7 +3201,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
  		if (anon_vma_clone(new_vma, vma))
  			goto out_free_mempol;
  		if (new_vma->vm_file)
@@ -539,8 +512,17 @@ index 425a9349e610..004eb9dbd99a 100644
  		if (new_vma->vm_ops && new_vma->vm_ops->open)
  			new_vma->vm_ops->open(new_vma);
  		if (vma_link(mm, new_vma))
+@@ -3189,7 +3216,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
+ 		new_vma->vm_ops->close(new_vma);
+ 
+ 	if (new_vma->vm_file)
+-		fput(new_vma->vm_file);
++		vma_fput(new_vma);
+ 
+ 	unlink_anon_vmas(new_vma);
+ out_free_mempol:
 diff --git a/mm/nommu.c b/mm/nommu.c
-index 5b83938ecb67..59d483b9c3d3 100644
+index 57ba243c6a37..07e87572757a 100644
 --- a/mm/nommu.c
 +++ b/mm/nommu.c
 @@ -523,7 +523,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -552,7 +534,7 @@ index 5b83938ecb67..59d483b9c3d3 100644
  
  		/* IO memory and memory shared directly out of the pagecache
  		 * from ramfs/tmpfs mustn't be released here */
-@@ -653,7 +653,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
+@@ -602,7 +602,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
  	if (vma->vm_ops && vma->vm_ops->close)
  		vma->vm_ops->close(vma);
  	if (vma->vm_file)
@@ -561,7 +543,7 @@ index 5b83938ecb67..59d483b9c3d3 100644
  	put_nommu_region(vma->vm_region);
  	vm_area_free(vma);
  }
-@@ -1164,7 +1164,7 @@ unsigned long do_mmap(struct file *file,
+@@ -1124,7 +1124,7 @@ unsigned long do_mmap(struct file *file,
  					goto error_just_free;
  				}
  			}
@@ -570,9 +552,9 @@ index 5b83938ecb67..59d483b9c3d3 100644
  			kmem_cache_free(vm_region_jar, region);
  			region = pregion;
  			result = start;
-@@ -1242,10 +1242,10 @@ unsigned long do_mmap(struct file *file,
+@@ -1206,10 +1206,10 @@ unsigned long do_mmap(struct file *file,
  error:
- 	mas_destroy(&mas);
+ 	vma_iter_free(&vmi);
  	if (region->vm_file)
 -		fput(region->vm_file);
 +		vmr_fput(region);
@@ -676,7 +658,7 @@ index 000000000000..8f820a235364
 +}
 +#endif /* !CONFIG_MMU */
 SPDX-License-Identifier: GPL-2.0
-aufs6.2 standalone patch
+aufs6.x-rcN standalone patch
 
 diff --git a/fs/dcache.c b/fs/dcache.c
 index 519321f32f95..267e0c65914a 100644
@@ -699,7 +681,7 @@ index 519321f32f95..267e0c65914a 100644
  /**
   * d_ancestor - search for an ancestor
 diff --git a/fs/exec.c b/fs/exec.c
-index ab913243a367..d84461fddf7d 100644
+index 7c44d0c65b1b..feb02a762884 100644
 --- a/fs/exec.c
 +++ b/fs/exec.c
 @@ -111,6 +111,7 @@ bool path_noexec(const struct path *path)
@@ -711,10 +693,10 @@ index ab913243a367..d84461fddf7d 100644
  #ifdef CONFIG_USELIB
  /*
 diff --git a/fs/fcntl.c b/fs/fcntl.c
-index c980a0524118..40087d11a974 100644
+index 9ea58b7bb580..99fef189bcd6 100644
 --- a/fs/fcntl.c
 +++ b/fs/fcntl.c
-@@ -86,6 +86,7 @@ int setfl(int fd, struct file *filp, unsigned long arg)
+@@ -87,6 +87,7 @@ int setfl(int fd, struct file *filp, unsigned long arg)
   out:
  	return error;
  }
@@ -723,10 +705,10 @@ index c980a0524118..40087d11a974 100644
  static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
                       int force)
 diff --git a/fs/file_table.c b/fs/file_table.c
-index dd88701e54a9..ecdb7817b074 100644
+index 372653b92617..69128fe39b6d 100644
 --- a/fs/file_table.c
 +++ b/fs/file_table.c
-@@ -198,6 +198,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
+@@ -199,6 +199,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
  	}
  	return ERR_PTR(-ENFILE);
  }
@@ -735,10 +717,10 @@ index dd88701e54a9..ecdb7817b074 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 8cd34f760f63..799a94205906 100644
+index 4e4dce8f483c..836f27e4524d 100644
 --- a/fs/namespace.c
 +++ b/fs/namespace.c
-@@ -571,6 +571,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
+@@ -457,6 +457,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
  	mnt_dec_writers(real_mount(mnt));
  	preempt_enable();
  }
@@ -746,7 +728,7 @@ index 8cd34f760f63..799a94205906 100644
  
  /**
   * mnt_drop_write - give up write access to a mount
-@@ -968,6 +969,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
+@@ -854,6 +855,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
  {
  	return check_mnt(real_mount(mnt));
  }
@@ -754,7 +736,7 @@ index 8cd34f760f63..799a94205906 100644
  
  /*
   * vfsmount lock must be held for write
-@@ -2165,6 +2167,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
+@@ -2062,6 +2064,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
  	}
  	return 0;
  }
@@ -775,10 +757,10 @@ index 1de6631a3925..3008eb37a18d 100644
  /*
   * Drop a reference to a group.  Free it if it's through.
 diff --git a/fs/open.c b/fs/open.c
-index 82c1a28b3308..e7bd6f1c9474 100644
+index 4401a73d4032..cb96731ab1fe 100644
 --- a/fs/open.c
 +++ b/fs/open.c
-@@ -66,6 +66,7 @@ int do_truncate(struct user_namespace *mnt_userns, struct dentry *dentry,
+@@ -67,6 +67,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
  	inode_unlock(dentry->d_inode);
  	return ret;
  }
@@ -807,10 +789,10 @@ index 7a2ff6157eda..76f5d4d08687 100644
  /* file_ppos returns &file->f_pos or NULL if file is stream */
  static inline loff_t *file_ppos(struct file *file)
 diff --git a/fs/splice.c b/fs/splice.c
-index 21db9b057d60..abcd14f52c1e 100644
+index cf863787b4e7..906f0ac3ad39 100644
 --- a/fs/splice.c
 +++ b/fs/splice.c
-@@ -763,6 +763,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
+@@ -855,6 +855,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
  		return warn_unsupported(out, "write");
  	return out->f_op->splice_write(pipe, out, ppos, len, flags);
  }
@@ -818,7 +800,7 @@ index 21db9b057d60..abcd14f52c1e 100644
  
  /*
   * Attempt to initiate a splice from a file to a pipe.
-@@ -792,6 +793,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
+@@ -884,6 +885,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
  		return warn_unsupported(in, "read");
  	return in->f_op->splice_read(in, ppos, pipe, len, flags);
  }
@@ -827,10 +809,10 @@ index 21db9b057d60..abcd14f52c1e 100644
  /**
   * splice_direct_to_actor - splices data directly between two non-pipes
 diff --git a/fs/xattr.c b/fs/xattr.c
-index adab9a70b536..b2dc4fc0b25b 100644
+index 14a7eb3c8fa8..1536d773998b 100644
 --- a/fs/xattr.c
 +++ b/fs/xattr.c
-@@ -407,6 +407,7 @@ vfs_getxattr_alloc(struct user_namespace *mnt_userns, struct dentry *dentry,
+@@ -408,6 +408,7 @@ vfs_getxattr_alloc(struct mnt_idmap *idmap, struct dentry *dentry,
  	*xattr_value = value;
  	return error;
  }
@@ -839,10 +821,10 @@ index adab9a70b536..b2dc4fc0b25b 100644
  ssize_t
  __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
 diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
-index c1f0aadde539..278e0a322d20 100644
+index 36caa2ccf344..67085f2c8221 100644
 --- a/kernel/locking/lockdep.c
 +++ b/kernel/locking/lockdep.c
-@@ -238,6 +238,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
+@@ -239,6 +239,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
  	 */
  	return lock_classes + class_idx;
  }
@@ -860,7 +842,7 @@ index 065e1ef8fc8d..c623c6f0c645 100644
  }
 +EXPORT_SYMBOL_GPL(task_work_run);
 diff --git a/security/security.c b/security/security.c
-index d1571900a8c7..6fdcf98bf7ea 100644
+index cf6cc576736f..81f24d90f76f 100644
 --- a/security/security.c
 +++ b/security/security.c
 @@ -1195,6 +1195,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
@@ -909,7 +891,7 @@ index d1571900a8c7..6fdcf98bf7ea 100644
  }
 +EXPORT_SYMBOL_GPL(security_inode_permission);
  
- int security_inode_setattr(struct user_namespace *mnt_userns,
+ int security_inode_setattr(struct mnt_idmap *idmap,
  			   struct dentry *dentry, struct iattr *attr)
 @@ -1593,6 +1599,7 @@ int security_file_permission(struct file *file, int mask)
  
@@ -919,7 +901,7 @@ index d1571900a8c7..6fdcf98bf7ea 100644
  
  int security_file_alloc(struct file *file)
  {
-@@ -1726,6 +1733,7 @@ int security_file_truncate(struct file *file)
+@@ -1727,6 +1734,7 @@ int security_file_truncate(struct file *file)
  {
  	return call_int_hook(file_truncate, 0, file);
  }
@@ -929,7 +911,7 @@ index d1571900a8c7..6fdcf98bf7ea 100644
  {
 diff -urN /usr/share/empty/Documentation/ABI/testing/debugfs-aufs linux/Documentation/ABI/testing/debugfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/debugfs-aufs	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/debugfs-aufs	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/ABI/testing/debugfs-aufs	2022-11-05 23:02:18.955889283 +0100
 @@ -0,0 +1,55 @@
 +What:		/debug/aufs/si_<id>/
 +Date:		March 2009
@@ -988,7 +970,7 @@ diff -urN /usr/share/empty/Documentation/ABI/testing/debugfs-aufs linux/Document
 +		will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentation/ABI/testing/sysfs-aufs
 --- /usr/share/empty/Documentation/ABI/testing/sysfs-aufs	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/ABI/testing/sysfs-aufs	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/ABI/testing/sysfs-aufs	2022-11-05 23:02:18.955889283 +0100
 @@ -0,0 +1,31 @@
 +What:		/sys/fs/aufs/si_<id>/
 +Date:		March 2009
@@ -1023,7 +1005,7 @@ diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentat
 +		will be empty. About XINO files, see the aufs manual.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt linux/Documentation/filesystems/aufs/design/01intro.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/01intro.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/01intro.txt	2022-11-05 23:02:18.955889283 +0100
 @@ -0,0 +1,171 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -1198,7 +1180,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt lin
 +about it. But currently I have implemented it in kernel space.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt linux/Documentation/filesystems/aufs/design/02struct.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/02struct.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/02struct.txt	2022-11-05 23:02:18.955889283 +0100
 @@ -0,0 +1,258 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -1460,7 +1442,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/02struct.txt li
 +For this purpose, use "aumvdown" command in aufs-util.git.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.txt linux/Documentation/filesystems/aufs/design/03atomic_open.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/03atomic_open.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/03atomic_open.txt	2022-11-05 23:02:18.955889283 +0100
 @@ -0,0 +1,85 @@
 +
 +# Copyright (C) 2015-2022 Junjiro R. Okajima
@@ -1549,7 +1531,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03atomic_open.t
 +       be implemented in aufs, but not all I am afraid.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt linux/Documentation/filesystems/aufs/design/03lookup.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/03lookup.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/03lookup.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,113 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -1666,7 +1648,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/03lookup.txt li
 +   by over-mounting something (or another method).
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt linux/Documentation/filesystems/aufs/design/04branch.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/04branch.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/04branch.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,74 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -1744,7 +1726,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/04branch.txt li
 +    same named entry on the upper branch.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.txt linux/Documentation/filesystems/aufs/design/05wbr_policy.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/05wbr_policy.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/05wbr_policy.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,64 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -1812,7 +1794,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/05wbr_policy.tx
 +  copyup policy.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot linux/Documentation/filesystems/aufs/design/06dirren.dot
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06dirren.dot	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/06dirren.dot	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,44 @@
 +
 +// to view this graph, run dot(1) command in GRAPHVIZ.
@@ -1860,7 +1842,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.dot li
 +}
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt linux/Documentation/filesystems/aufs/design/06dirren.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06dirren.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/06dirren.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,102 @@
 +
 +# Copyright (C) 2017-2022 Junjiro R. Okajima
@@ -1966,7 +1948,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06dirren.txt li
 +equivalen to udba=reval case.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt linux/Documentation/filesystems/aufs/design/06fhsm.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06fhsm.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/06fhsm.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,118 @@
 +
 +# Copyright (C) 2011-2022 Junjiro R. Okajima
@@ -2088,7 +2070,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06fhsm.txt linu
 +should restore the original file state after an error happens.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt linux/Documentation/filesystems/aufs/design/06mmap.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06mmap.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/06mmap.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,72 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -2164,7 +2146,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06mmap.txt linu
 +I have to give up this "looks-smater" approach.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt linux/Documentation/filesystems/aufs/design/06xattr.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/06xattr.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/06xattr.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,94 @@
 +
 +# Copyright (C) 2014-2022 Junjiro R. Okajima
@@ -2262,7 +2244,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/06xattr.txt lin
 +now, aufs implements the branch attributes to ignore the error.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt linux/Documentation/filesystems/aufs/design/07export.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/07export.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/07export.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,58 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -2324,7 +2306,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/07export.txt li
 +  lookup_one_len(), vfs_getattr(), encode_fh() and others.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt linux/Documentation/filesystems/aufs/design/08shwh.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/08shwh.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/08shwh.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,52 @@
 +
 +# Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -2380,7 +2362,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/08shwh.txt linu
 +initramfs will use it to replace the old one at the next boot.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt linux/Documentation/filesystems/aufs/design/10dynop.txt
 --- /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/design/10dynop.txt	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/design/10dynop.txt	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,47 @@
 +
 +# Copyright (C) 2010-2022 Junjiro R. Okajima
@@ -2431,7 +2413,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/10dynop.txt lin
 +regular files only.
 diff -urN /usr/share/empty/Documentation/filesystems/aufs/README linux/Documentation/filesystems/aufs/README
 --- /usr/share/empty/Documentation/filesystems/aufs/README	1970-01-01 01:00:00.000000000 +0100
-+++ linux/Documentation/filesystems/aufs/README	2023-04-07 12:29:13.123045930 +0200
++++ linux/Documentation/filesystems/aufs/README	2023-02-20 21:05:51.959693785 +0100
 @@ -0,0 +1,408 @@
 +
 +Aufs6 -- advanced multi layered unification filesystem version 6.x
@@ -2843,7 +2825,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/README linux/Documenta
 +# End: ;
 diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
 --- /usr/share/empty/fs/aufs/aufs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/aufs.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/aufs.h	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,62 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -2909,7 +2891,7 @@ diff -urN /usr/share/empty/fs/aufs/aufs.h linux/fs/aufs/aufs.h
 +#endif /* __AUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/branch.c linux/fs/aufs/branch.c
 --- /usr/share/empty/fs/aufs/branch.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/branch.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/branch.c	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,1427 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -4340,7 +4322,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/branch.h	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,375 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -4490,9 +4472,9 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 +	return br->br_path.dentry;
 +}
 +
-+static inline struct user_namespace *au_br_userns(struct au_branch *br)
++static inline struct mnt_idmap *au_br_idmap(struct au_branch *br)
 +{
-+	return mnt_user_ns(br->br_path.mnt);
++	return mnt_idmap(br->br_path.mnt);
 +}
 +
 +static inline struct super_block *au_br_sb(struct au_branch *br)
@@ -4654,9 +4636,9 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 +}
 +
 +static inline
-+struct user_namespace *au_sbr_userns(struct super_block *sb, aufs_bindex_t bindex)
++struct mnt_idmap *au_sbr_idmap(struct super_block *sb, aufs_bindex_t bindex)
 +{
-+	return au_br_userns(au_sbr(sb, bindex));
++	return au_br_idmap(au_sbr(sb, bindex));
 +}
 +
 +static inline
@@ -4719,7 +4701,7 @@ diff -urN /usr/share/empty/fs/aufs/branch.h linux/fs/aufs/branch.h
 +#endif /* __AUFS_BRANCH_H__ */
 diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
 --- /usr/share/empty/fs/aufs/conf.mk	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/conf.mk	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/conf.mk	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,40 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -4763,7 +4745,7 @@ diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk
 +-include ${srctree}/${src}/conf_priv.mk
 diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 --- /usr/share/empty/fs/aufs/cpup.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/cpup.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,1459 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -5361,18 +5343,18 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +	int err;
 +	struct dentry *h_dentry;
 +	/* struct inode *h_inode; */
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
-+	h_userns = mnt_user_ns(h_path->mnt);
++	h_idmap = mnt_idmap(h_path->mnt);
 +	h_dentry = h_path->dentry;
 +	/* h_inode = d_inode(h_dentry); */
 +	/* forget_all_cached_acls(h_inode)); */
-+	err = vfsub_remove_acl(h_userns, h_dentry, XATTR_NAME_POSIX_ACL_ACCESS);
++	err = vfsub_remove_acl(h_idmap, h_dentry, XATTR_NAME_POSIX_ACL_ACCESS);
 +	AuTraceErr(err);
 +	if (err == -EOPNOTSUPP)
 +		err = 0;
 +	if (!err)
-+		err = vfsub_acl_chmod(h_userns, h_dentry, mode);
++		err = vfsub_acl_chmod(h_idmap, h_dentry, mode);
 +
 +	AuTraceErr(err);
 +	return err;
@@ -5383,10 +5365,10 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +{
 +	int err;
 +	struct inode *dir, *inode;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
-+	h_userns = mnt_user_ns(h_path->mnt);
-+	err = vfsub_remove_acl(h_userns, h_path->dentry,
++	h_idmap = mnt_idmap(h_path->mnt);
++	err = vfsub_remove_acl(h_idmap, h_path->dentry,
 +			       XATTR_NAME_POSIX_ACL_DEFAULT);
 +	AuTraceErr(err);
 +	if (err == -EOPNOTSUPP)
@@ -5866,7 +5848,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +	struct dentry *dentry, *parent;
 +	struct file *h_file;
 +	struct inode *h_dir;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	dentry = cpg->dentry;
 +	h_file = NULL;
@@ -5880,8 +5862,8 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +
 +	parent = dget_parent(dentry);
 +	h_dir = au_h_iptr(d_inode(parent), cpg->bdst);
-+	h_userns = au_sbr_userns(dentry->d_sb, cpg->bdst);
-+	if (!au_test_h_perm_sio(h_userns, h_dir, MAY_EXEC | MAY_WRITE)
++	h_idmap = au_sbr_idmap(dentry->d_sb, cpg->bdst);
++	if (!au_test_h_perm_sio(h_idmap, h_dir, MAY_EXEC | MAY_WRITE)
 +	    && !au_cpup_sio_test(cpg->pin, d_inode(dentry)->i_mode))
 +		err = au_cpup_simple(cpg);
 +	else {
@@ -6051,7 +6033,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +	struct inode *dir, *h_dir, *h_tmpdir;
 +	struct au_wbr *wbr;
 +	struct au_pin wh_pin, *pin_orig;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	dentry = cpg->dentry;
 +	bdst = cpg->bdst;
@@ -6080,8 +6062,8 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +		cpg->pin = &wh_pin;
 +	}
 +
-+	h_userns = au_sbr_userns(dentry->d_sb, bdst);
-+	if (!au_test_h_perm_sio(h_userns, h_tmpdir, MAY_EXEC | MAY_WRITE)
++	h_idmap = au_sbr_idmap(dentry->d_sb, bdst);
++	if (!au_test_h_perm_sio(h_idmap, h_tmpdir, MAY_EXEC | MAY_WRITE)
 +	    && !au_cpup_sio_test(cpg->pin, d_inode(dentry)->i_mode))
 +		err = au_cpup_wh(cpg, file);
 +	else {
@@ -6226,7 +6208,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c
 +}
 diff -urN /usr/share/empty/fs/aufs/cpup.h linux/fs/aufs/cpup.h
 --- /usr/share/empty/fs/aufs/cpup.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/cpup.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/cpup.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,100 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -6330,7 +6312,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dbgaufs.c	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,526 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -6860,7 +6842,7 @@ diff -urN /usr/share/empty/fs/aufs/dbgaufs.c linux/fs/aufs/dbgaufs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dbgaufs.h linux/fs/aufs/dbgaufs.h
 --- /usr/share/empty/fs/aufs/dbgaufs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dbgaufs.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dbgaufs.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,53 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -6917,7 +6899,7 @@ diff -urN /usr/share/empty/fs/aufs/dbgaufs.h linux/fs/aufs/dbgaufs.h
 +#endif /* __DBGAUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/dcsub.c linux/fs/aufs/dcsub.c
 --- /usr/share/empty/fs/aufs/dcsub.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dcsub.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dcsub.c	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,225 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -7146,7 +7128,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dcsub.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,137 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -7287,7 +7269,7 @@ diff -urN /usr/share/empty/fs/aufs/dcsub.h linux/fs/aufs/dcsub.h
 +#endif /* __AUFS_DCSUB_H__ */
 diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
 --- /usr/share/empty/fs/aufs/debug.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/debug.c	2023-02-20 21:05:51.959693785 +0100
 @@ -0,0 +1,446 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -7737,7 +7719,7 @@ diff -urN /usr/share/empty/fs/aufs/debug.c linux/fs/aufs/debug.c
 +}
 diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h
 --- /usr/share/empty/fs/aufs/debug.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/debug.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/debug.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,226 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -7967,7 +7949,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dentry.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,1168 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -8005,7 +7987,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +	struct dentry *h_dentry;
 +	struct inode *h_inode;
 +	struct au_branch *br;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +	struct path h_path;
 +	int wh_found, opq;
 +	unsigned char wh_able;
@@ -8017,10 +7999,10 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +	br = au_sbr(dentry->d_sb, bindex);
 +	h_path.dentry = h_parent;
 +	h_path.mnt = au_br_mnt(br);
-+	h_userns = au_br_userns(br);
++	h_idmap = au_br_idmap(br);
 +	wh_able = !!au_br_whable(br->br_perm);
 +	if (wh_able)
-+		wh_found = au_wh_test(h_userns, &h_path, &args->whname,
++		wh_found = au_wh_test(h_idmap, &h_path, &args->whname,
 +				      ignore_perm);
 +	h_dentry = ERR_PTR(wh_found);
 +	if (!wh_found)
@@ -8038,7 +8020,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +	if (!ignore_perm)
 +		h_dentry = vfsub_lkup_one(args->name, &h_path);
 +	else
-+		h_dentry = au_sio_lkup_one(h_userns, args->name, &h_path);
++		h_dentry = au_sio_lkup_one(h_idmap, args->name, &h_path);
 +	if (IS_ERR(h_dentry)) {
 +		if (PTR_ERR(h_dentry) == -ENAMETOOLONG
 +		    && !allow_neg)
@@ -8074,7 +8056,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +
 +	h_path.dentry = h_dentry;
 +	inode_lock_shared_nested(h_inode, AuLsc_I_CHILD);
-+	opq = au_diropq_test(h_userns, &h_path);
++	opq = au_diropq_test(h_idmap, &h_path);
 +	inode_unlock_shared(h_inode);
 +	if (opq > 0)
 +		au_set_dbdiropq(dentry, bindex);
@@ -8219,13 +8201,13 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +	return err;
 +}
 +
-+struct dentry *au_sio_lkup_one(struct user_namespace *userns, struct qstr *name,
++struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, struct qstr *name,
 +			       struct path *ppath)
 +{
 +	struct dentry *dentry;
 +	int wkq_err;
 +
-+	if (!au_test_h_perm_sio(userns, d_inode(ppath->dentry), MAY_EXEC))
++	if (!au_test_h_perm_sio(idmap, d_inode(ppath->dentry), MAY_EXEC))
 +		dentry = vfsub_lkup_one(name, ppath);
 +	else {
 +		struct vfsub_lkup_one_args args = {
@@ -8250,18 +8232,18 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c
 +	int err;
 +	struct dentry *parent, *h_dentry;
 +	struct au_branch *br;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +	struct path h_ppath;
 +
 +	parent = dget_parent(dentry);
 +	br = au_sbr(dentry->d_sb, bindex);
 +	h_ppath.dentry = au_h_dptr(parent, bindex);
 +	h_ppath.mnt = au_br_mnt(br);
-+	h_userns = au_br_userns(br);
++	h_idmap = au_br_idmap(br);
 +	if (wh)
 +		h_dentry = au_whtmp_lkup(h_ppath.dentry, br, &dentry->d_name);
 +	else
-+		h_dentry = au_sio_lkup_one(h_userns, &dentry->d_name, &h_ppath);
++		h_dentry = au_sio_lkup_one(h_idmap, &dentry->d_name, &h_ppath);
 +	err = PTR_ERR(h_dentry);
 +	if (IS_ERR(h_dentry))
 +		goto out;
@@ -9139,7 +9121,7 @@ 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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dentry.h	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,270 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -9217,7 +9199,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 user_namespace *userns, struct qstr *name,
++struct dentry *au_sio_lkup_one(struct mnt_idmap *idmap, 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);
@@ -9413,7 +9395,7 @@ diff -urN /usr/share/empty/fs/aufs/dentry.h linux/fs/aufs/dentry.h
 +#endif /* __AUFS_DENTRY_H__ */
 diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c
 --- /usr/share/empty/fs/aufs/dinfo.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dinfo.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dinfo.c	2022-12-17 09:21:34.796521861 +0100
 @@ -0,0 +1,555 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -9972,7 +9954,7 @@ diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
 --- /usr/share/empty/fs/aufs/dir.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dir.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dir.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,765 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -10613,14 +10595,14 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
 +	int err, wkq_err;
 +	struct dentry *h_dentry;
 +	struct inode *h_inode;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
-+	h_userns = au_sbr_userns(dentry->d_sb, arg->bindex);
++	h_idmap = au_sbr_idmap(dentry->d_sb, arg->bindex);
 +	h_dentry = au_h_dptr(dentry, arg->bindex);
 +	h_inode = d_inode(h_dentry);
 +	/* todo: i_mode changes anytime? */
 +	inode_lock_shared_nested(h_inode, AuLsc_I_CHILD);
-+	err = au_test_h_perm_sio(h_userns, h_inode, MAY_EXEC | MAY_READ);
++	err = au_test_h_perm_sio(h_idmap, h_inode, MAY_EXEC | MAY_READ);
 +	inode_unlock_shared(h_inode);
 +	if (!err)
 +		err = do_test_empty(dentry, arg);
@@ -10741,7 +10723,7 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c
 +};
 diff -urN /usr/share/empty/fs/aufs/dir.h linux/fs/aufs/dir.h
 --- /usr/share/empty/fs/aufs/dir.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dir.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dir.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,134 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -10879,7 +10861,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dirren.c	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,1315 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -12198,7 +12180,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dirren.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,140 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -12342,7 +12324,7 @@ diff -urN /usr/share/empty/fs/aufs/dirren.h linux/fs/aufs/dirren.h
 +#endif /* __AUFS_DIRREN_H__ */
 diff -urN /usr/share/empty/fs/aufs/dynop.c linux/fs/aufs/dynop.c
 --- /usr/share/empty/fs/aufs/dynop.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dynop.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dynop.c	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,366 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -12712,7 +12694,7 @@ diff -urN /usr/share/empty/fs/aufs/dynop.c linux/fs/aufs/dynop.c
 +}
 diff -urN /usr/share/empty/fs/aufs/dynop.h linux/fs/aufs/dynop.h
 --- /usr/share/empty/fs/aufs/dynop.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/dynop.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/dynop.h	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,77 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -12793,7 +12775,7 @@ 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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/export.c	2022-12-17 09:21:34.796521861 +0100
 @@ -0,0 +1,830 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -13627,7 +13609,7 @@ diff -urN /usr/share/empty/fs/aufs/export.c linux/fs/aufs/export.c
 +}
 diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
 --- /usr/share/empty/fs/aufs/fhsm.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fhsm.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/fhsm.c	2022-11-05 23:02:18.962555950 +0100
 @@ -0,0 +1,426 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -14057,7 +14039,7 @@ diff -urN /usr/share/empty/fs/aufs/fhsm.c linux/fs/aufs/fhsm.c
 +}
 diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
 --- /usr/share/empty/fs/aufs/file.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/file.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/file.c	2022-12-17 09:21:34.799855195 +0100
 @@ -0,0 +1,860 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -14921,7 +14903,7 @@ diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c
 +};
 diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h
 --- /usr/share/empty/fs/aufs/file.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/file.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/file.h	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,342 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -15267,7 +15249,7 @@ 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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/finfo.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,149 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -15420,7 +15402,7 @@ 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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/f_op.c	2023-02-20 21:05:51.959693785 +0100
 @@ -0,0 +1,780 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -16204,7 +16186,7 @@ diff -urN /usr/share/empty/fs/aufs/f_op.c linux/fs/aufs/f_op.c
 +};
 diff -urN /usr/share/empty/fs/aufs/fsctx.c linux/fs/aufs/fsctx.c
 --- /usr/share/empty/fs/aufs/fsctx.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fsctx.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/fsctx.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,1242 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -17450,7 +17432,7 @@ diff -urN /usr/share/empty/fs/aufs/fsctx.c linux/fs/aufs/fsctx.c
 +}
 diff -urN /usr/share/empty/fs/aufs/fstype.h linux/fs/aufs/fstype.h
 --- /usr/share/empty/fs/aufs/fstype.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/fstype.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/fstype.h	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,401 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -17855,7 +17837,7 @@ diff -urN /usr/share/empty/fs/aufs/fstype.h linux/fs/aufs/fstype.h
 +#endif /* __AUFS_FSTYPE_H__ */
 diff -urN /usr/share/empty/fs/aufs/hbl.h linux/fs/aufs/hbl.h
 --- /usr/share/empty/fs/aufs/hbl.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hbl.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/hbl.h	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,65 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -17924,7 +17906,7 @@ diff -urN /usr/share/empty/fs/aufs/hbl.h linux/fs/aufs/hbl.h
 +#endif /* __AUFS_HBL_H__ */
 diff -urN /usr/share/empty/fs/aufs/hfsnotify.c linux/fs/aufs/hfsnotify.c
 --- /usr/share/empty/fs/aufs/hfsnotify.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hfsnotify.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/hfsnotify.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,290 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -18218,7 +18200,7 @@ diff -urN /usr/share/empty/fs/aufs/hfsnotify.c linux/fs/aufs/hfsnotify.c
 +};
 diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c
 --- /usr/share/empty/fs/aufs/hfsplus.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/hfsplus.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/hfsplus.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,60 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -18282,7 +18264,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/hnotify.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,715 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -19001,7 +18983,7 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c
 +}
 diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
 --- /usr/share/empty/fs/aufs/iinfo.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/iinfo.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/iinfo.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,286 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -19291,7 +19273,7 @@ diff -urN /usr/share/empty/fs/aufs/iinfo.c linux/fs/aufs/iinfo.c
 +}
 diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
 --- /usr/share/empty/fs/aufs/inode.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/inode.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,531 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -19807,26 +19789,26 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c
 +	return err;
 +}
 +
-+int au_test_h_perm(struct user_namespace *h_userns, struct inode *h_inode,
++int au_test_h_perm(struct mnt_idmap *h_idmap, struct inode *h_inode,
 +		   int mask)
 +{
 +	if (uid_eq(current_fsuid(), GLOBAL_ROOT_UID))
 +		return 0;
-+	return inode_permission(h_userns, h_inode, mask);
++	return inode_permission(h_idmap, h_inode, mask);
 +}
 +
-+int au_test_h_perm_sio(struct user_namespace *h_userns, struct inode *h_inode,
++int au_test_h_perm_sio(struct mnt_idmap *h_idmap, struct inode *h_inode,
 +		       int mask)
 +{
 +	if (au_test_nfs(h_inode->i_sb)
 +	    && (mask & MAY_WRITE)
 +	    && S_ISDIR(h_inode->i_mode))
 +		mask |= MAY_READ; /* force permission check */
-+	return au_test_h_perm(h_userns, h_inode, mask);
++	return au_test_h_perm(h_idmap, h_inode, mask);
 +}
 diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 --- /usr/share/empty/fs/aufs/inode.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/inode.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/inode.h	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,707 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -19967,9 +19949,9 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 +struct inode *au_new_inode(struct dentry *dentry, int must_new);
 +int au_test_ro(struct super_block *sb, aufs_bindex_t bindex,
 +	       struct inode *inode);
-+int au_test_h_perm(struct user_namespace *h_userns, struct inode *h_inode,
++int au_test_h_perm(struct mnt_idmap *h_idmap, struct inode *h_inode,
 +		   int mask);
-+int au_test_h_perm_sio(struct user_namespace *h_userns, struct inode *h_inode,
++int au_test_h_perm_sio(struct mnt_idmap *h_idmap, struct inode *h_inode,
 +		       int mask);
 +
 +static inline int au_wh_ino(struct super_block *sb, aufs_bindex_t bindex,
@@ -20045,20 +20027,20 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 +/* i_op_add.c */
 +int au_may_add(struct dentry *dentry, aufs_bindex_t bindex,
 +	       struct dentry *h_parent, int isdir);
-+int aufs_mknod(struct user_namespace *userns, struct inode *dir,
++int aufs_mknod(struct mnt_idmap *idmap, struct inode *dir,
 +	       struct dentry *dentry, umode_t mode, dev_t dev);
-+int aufs_symlink(struct user_namespace *userns, struct inode *dir,
++int aufs_symlink(struct mnt_idmap *idmap, struct inode *dir,
 +		 struct dentry *dentry, const char *symname);
-+int aufs_create(struct user_namespace *userns, struct inode *dir,
++int aufs_create(struct mnt_idmap *idmap, struct inode *dir,
 +		struct dentry *dentry, umode_t mode, bool want_excl);
 +struct vfsub_aopen_args;
 +int au_aopen_or_create(struct inode *dir, struct dentry *dentry,
 +		       struct vfsub_aopen_args *args);
-+int aufs_tmpfile(struct user_namespace *userns, struct inode *dir,
++int aufs_tmpfile(struct mnt_idmap *idmap, struct inode *dir,
 +		 struct file *file, umode_t mode);
 +int aufs_link(struct dentry *src_dentry, struct inode *dir,
 +	      struct dentry *dentry);
-+int aufs_mkdir(struct user_namespace *userns, struct inode *dir,
++int aufs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
 +	       struct dentry *dentry, umode_t mode);
 +
 +/* i_op_del.c */
@@ -20070,7 +20052,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 +
 +/* i_op_ren.c */
 +int au_wbr(struct dentry *dentry, aufs_bindex_t btgt);
-+int aufs_rename(struct user_namespace *userns,
++int aufs_rename(struct mnt_idmap *idmap,
 +		struct inode *_src_dir, struct dentry *_src_dentry,
 +		struct inode *_dst_dir, struct dentry *_dst_dentry,
 +		unsigned int _flags);
@@ -20155,9 +20137,9 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h
 +
 +#ifdef CONFIG_FS_POSIX_ACL
 +struct posix_acl *aufs_get_inode_acl(struct inode *inode, int type, bool rcu);
-+struct posix_acl *aufs_get_acl(struct user_namespace *userns,
++struct posix_acl *aufs_get_acl(struct mnt_idmap *idmap,
 +			       struct dentry *dentry, int type);
-+int aufs_set_acl(struct user_namespace *userns, struct dentry *dentry,
++int aufs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
 +		 struct posix_acl *acl, int type);
 +#endif
 +
@@ -20537,7 +20519,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/ioctl.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,220 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -20761,7 +20743,7 @@ diff -urN /usr/share/empty/fs/aufs/ioctl.c linux/fs/aufs/ioctl.c
 +#endif
 diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 --- /usr/share/empty/fs/aufs/i_op_add.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_add.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/i_op_add.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,972 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -21131,7 +21113,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	return err;
 +}
 +
-+int aufs_mknod(struct user_namespace *userns, struct inode *dir,
++int aufs_mknod(struct mnt_idmap *idmap, struct inode *dir,
 +	       struct dentry *dentry, umode_t mode, dev_t dev)
 +{
 +	struct simple_arg arg = {
@@ -21144,7 +21126,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	return add_simple(dir, dentry, &arg);
 +}
 +
-+int aufs_symlink(struct user_namespace *userns, struct inode *dir,
++int aufs_symlink(struct mnt_idmap *idmap, struct inode *dir,
 +		 struct dentry *dentry, const char *symname)
 +{
 +	struct simple_arg arg = {
@@ -21154,7 +21136,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	return add_simple(dir, dentry, &arg);
 +}
 +
-+int aufs_create(struct user_namespace *userns, struct inode *dir,
++int aufs_create(struct mnt_idmap *idmap, struct inode *dir,
 +		struct dentry *dentry, umode_t mode, bool want_excl)
 +{
 +	struct simple_arg arg = {
@@ -21182,7 +21164,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	return add_simple(dir, dentry, &arg);
 +}
 +
-+int aufs_tmpfile(struct user_namespace *userns, struct inode *dir,
++int aufs_tmpfile(struct mnt_idmap *idmap, struct inode *dir,
 +		 struct file *file, umode_t mode)
 +{
 +	int err;
@@ -21193,7 +21175,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	struct dentry *dentry, *parent, *h_parent, *h_dentry;
 +	struct inode *h_dir, *inode;
 +	struct vfsmount *h_mnt;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +	struct file *h_file;
 +	struct au_wr_dir_args wr_dir_args = {
 +		.force_btgt	= -1,
@@ -21244,11 +21226,11 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	if (unlikely(err))
 +		goto out_parent;
 +
-+	h_userns = mnt_user_ns(h_mnt);
++	h_idmap = mnt_idmap(h_mnt);
 +	h_parent = au_h_dptr(parent, bindex);
 +	h_ppath.mnt = h_mnt;
 +	h_ppath.dentry = h_parent;
-+	h_file = vfs_tmpfile_open(h_userns, &h_ppath, mode, /*open_flag*/0,
++	h_file = vfs_tmpfile_open(h_idmap, &h_ppath, mode, /*open_flag*/0,
 +				  current_cred());
 +	if (IS_ERR(h_file)) {
 +		err = PTR_ERR(h_file);
@@ -21627,7 +21609,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +	return err;
 +}
 +
-+int aufs_mkdir(struct user_namespace *userns, struct inode *dir,
++int aufs_mkdir(struct mnt_idmap *idmap, struct inode *dir,
 +	       struct dentry *dentry, umode_t mode)
 +{
 +	int err, rerr;
@@ -21737,8 +21719,8 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c
 +}
 diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 --- /usr/share/empty/fs/aufs/i_op.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op.c	2023-04-07 12:29:13.126380830 +0200
-@@ -0,0 +1,1516 @@
++++ linux/fs/aufs/i_op.c	2023-04-24 08:13:40.969576115 +0200
+@@ -0,0 +1,1517 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
 + * Copyright (C) 2005-2022 Junjiro R. Okajima
@@ -21762,6 +21744,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 + */
 +
 +#include <linux/device_cgroup.h>
++#include <linux/filelock.h>
 +#include <linux/fs_stack.h>
 +#include <linux/iversion.h>
 +#include <linux/security.h>
@@ -21772,7 +21755,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +{
 +	int err;
 +	const unsigned char write_mask = !!(mask & (MAY_WRITE | MAY_APPEND));
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	err = -EPERM;
 +	if (write_mask && IS_IMMUTABLE(h_inode))
@@ -21792,7 +21775,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	 * - nfs always sets SB_POSIXACL regardless its mount option 'noacl.'
 +	 *   in this case, generic_permission() returns -EOPNOTSUPP.
 +	 */
-+	h_userns = mnt_user_ns(h_path->mnt);
++	h_idmap = mnt_idmap(h_path->mnt);
 +	if ((write_mask && !au_br_writable(brperm))
 +	    || (au_test_nfs(h_inode->i_sb) && S_ISDIR(h_inode->i_mode)
 +		&& write_mask && !(mask & MAY_READ))
@@ -21800,14 +21783,14 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +		/* AuLabel(generic_permission); */
 +		/* AuDbg("get_inode_acl %ps\n",
 +		   h_inode->i_op->get_inode_acl); */
-+		err = generic_permission(h_userns, h_inode, mask);
++		err = generic_permission(h_idmap, h_inode, mask);
 +		if (err == -EOPNOTSUPP && au_test_nfs_noacl(h_inode))
-+			err = h_inode->i_op->permission(h_userns, h_inode,
++			err = h_inode->i_op->permission(h_idmap, h_inode,
 +							mask);
 +		AuTraceErr(err);
 +	} else {
 +		/* AuLabel(h_inode->permission); */
-+		err = h_inode->i_op->permission(h_userns, h_inode, mask);
++		err = h_inode->i_op->permission(h_idmap, h_inode, mask);
 +		AuTraceErr(err);
 +	}
 +
@@ -21820,7 +21803,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	return err;
 +}
 +
-+static int aufs_permission(struct user_namespace *userns, struct inode *inode,
++static int aufs_permission(struct mnt_idmap *idmap, struct inode *inode,
 +			   int mask)
 +{
 +	int err;
@@ -22669,7 +22652,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	return err;
 +}
 +
-+static int aufs_setattr(struct user_namespace *userns, struct dentry *dentry,
++static int aufs_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
 +			struct iattr *ia)
 +{
 +	int err;
@@ -22677,12 +22660,12 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	struct super_block *sb;
 +	struct file *file;
 +	struct au_icpup_args *a;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	inode = d_inode(dentry);
 +	IMustLock(inode);
 +
-+	err = setattr_prepare(userns, dentry, ia);
++	err = setattr_prepare(idmap, dentry, ia);
 +	if (unlikely(err))
 +		goto out;
 +
@@ -22776,8 +22759,8 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	 * why don't all acl-aware fs call this func from their ->setattr()?
 +	 */
 +	if (!err && (ia->ia_valid & ATTR_MODE)) {
-+		h_userns = mnt_user_ns(a->h_path.mnt);
-+		err = vfsub_acl_chmod(h_userns, a->h_path.dentry, ia->ia_mode);
++		h_idmap = mnt_idmap(a->h_path.mnt);
++		err = vfsub_acl_chmod(h_idmap, a->h_path.dentry, ia->ia_mode);
 +	}
 +	if (!err)
 +		au_cpup_attr_changeable(inode);
@@ -22840,7 +22823,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	struct super_block *sb;
 +	struct au_icpup_args *a;
 +	struct inode *h_inode;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	IMustLock(inode);
 +
@@ -22859,13 +22842,13 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	err = au_h_path_to_set_attr(dentry, a, &h_path);
 +	if (unlikely(err))
 +		goto out_di;
-+	h_userns = mnt_user_ns(h_path.mnt);
++	h_idmap = mnt_idmap(h_path.mnt);
 +
 +	inode_unlock(a->h_inode);
 +	switch (arg->type) {
 +	case AU_XATTR_SET:
 +		AuDebugOn(d_is_negative(h_path.dentry));
-+		err = vfsub_setxattr(h_userns, h_path.dentry,
++		err = vfsub_setxattr(h_idmap, h_path.dentry,
 +				     arg->u.set.name, arg->u.set.value,
 +				     arg->u.set.size, arg->u.set.flags);
 +		break;
@@ -22874,7 +22857,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +		h_inode = d_inode(h_path.dentry);
 +		if (h_inode->i_op->set_acl) {
 +			/* this will call posix_acl_update_mode */
-+			err = h_inode->i_op->set_acl(h_userns, h_path.dentry,
++			err = h_inode->i_op->set_acl(h_idmap, h_path.dentry,
 +						     arg->u.acl_set.acl,
 +						     arg->u.acl_set.type);
 +		}
@@ -23008,7 +22991,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	return err;
 +}
 +
-+static int aufs_getattr(struct user_namespace *userns, const struct path *path,
++static int aufs_getattr(struct mnt_idmap *idmap, const struct path *path,
 +			struct kstat *st, u32 request, unsigned int query)
 +{
 +	int err;
@@ -23046,7 +23029,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +	goto out_di;
 +
 +out_fill:
-+	generic_fillattr(userns, inode, st);
++	generic_fillattr(idmap, inode, st);
 +out_di:
 +	di_read_unlock(dentry, AuLock_IR);
 +out_si:
@@ -23257,7 +23240,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c
 +};
 diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 --- /usr/share/empty/fs/aufs/i_op_del.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_del.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/i_op_del.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,522 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -23358,7 +23341,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 +	struct path h_ppath;
 +	struct super_block *sb;
 +	struct au_branch *br;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	h_dentry = au_h_dptr(dentry, bindex);
 +	if (d_really_is_positive(dentry)) {
@@ -23398,15 +23381,15 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 +	err = -EACCES;
 +	sb = dentry->d_sb;
 +	br = au_sbr(sb, bindex);
-+	h_userns = au_br_userns(br);
++	h_idmap = au_br_idmap(br);
 +	if (unlikely(!au_opt_test(au_mntflags(sb), DIRPERM1)
-+		     && au_test_h_perm(h_userns, d_inode(h_parent),
++		     && au_test_h_perm(h_idmap, d_inode(h_parent),
 +				       MAY_EXEC | MAY_WRITE)))
 +		goto out;
 +
 +	h_ppath.dentry = h_parent;
 +	h_ppath.mnt = au_br_mnt(br);
-+	h_latest = au_sio_lkup_one(h_userns, &dentry->d_name, &h_ppath);
++	h_latest = au_sio_lkup_one(h_idmap, &dentry->d_name, &h_ppath);
 +	err = -EIO;
 +	if (IS_ERR(h_latest))
 +		goto out;
@@ -23783,7 +23766,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_del.c linux/fs/aufs/i_op_del.c
 +}
 diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
 --- /usr/share/empty/fs/aufs/i_op_ren.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/i_op_ren.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/i_op_ren.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,1257 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -24746,7 +24729,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
 +
 +/* ---------------------------------------------------------------------- */
 +
-+int aufs_rename(struct user_namespace *userns,
++int aufs_rename(struct mnt_idmap *idmap,
 +		struct inode *_src_dir, struct dentry *_src_dentry,
 +		struct inode *_dst_dir, struct dentry *_dst_dentry,
 +		unsigned int _flags)
@@ -25044,7 +25027,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_ren.c linux/fs/aufs/i_op_ren.c
 +}
 diff -urN /usr/share/empty/fs/aufs/Kconfig linux/fs/aufs/Kconfig
 --- /usr/share/empty/fs/aufs/Kconfig	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/Kconfig	2023-04-07 12:29:13.123045930 +0200
++++ linux/fs/aufs/Kconfig	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,199 @@
 +# SPDX-License-Identifier: GPL-2.0
 +config AUFS_FS
@@ -25247,7 +25230,7 @@ diff -urN /usr/share/empty/fs/aufs/Kconfig linux/fs/aufs/Kconfig
 +endif
 diff -urN /usr/share/empty/fs/aufs/lcnt.h linux/fs/aufs/lcnt.h
 --- /usr/share/empty/fs/aufs/lcnt.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/lcnt.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/lcnt.h	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,186 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -25437,7 +25420,7 @@ diff -urN /usr/share/empty/fs/aufs/lcnt.h linux/fs/aufs/lcnt.h
 +#endif /* __AUFS_LCNT_H__ */
 diff -urN /usr/share/empty/fs/aufs/loop.c linux/fs/aufs/loop.c
 --- /usr/share/empty/fs/aufs/loop.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/loop.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/loop.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,148 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -25589,7 +25572,7 @@ diff -urN /usr/share/empty/fs/aufs/loop.c linux/fs/aufs/loop.c
 +}
 diff -urN /usr/share/empty/fs/aufs/loop.h linux/fs/aufs/loop.h
 --- /usr/share/empty/fs/aufs/loop.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/loop.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/loop.h	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,55 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -25648,7 +25631,7 @@ diff -urN /usr/share/empty/fs/aufs/loop.h linux/fs/aufs/loop.h
 +#endif /* __AUFS_LOOP_H__ */
 diff -urN /usr/share/empty/fs/aufs/magic.mk linux/fs/aufs/magic.mk
 --- /usr/share/empty/fs/aufs/magic.mk	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/magic.mk	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/magic.mk	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,31 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -25683,7 +25666,7 @@ diff -urN /usr/share/empty/fs/aufs/magic.mk linux/fs/aufs/magic.mk
 +endif
 diff -urN /usr/share/empty/fs/aufs/Makefile linux/fs/aufs/Makefile
 --- /usr/share/empty/fs/aufs/Makefile	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/Makefile	2023-04-07 12:29:13.123045930 +0200
++++ linux/fs/aufs/Makefile	2022-11-05 23:02:18.959222617 +0100
 @@ -0,0 +1,46 @@
 +# SPDX-License-Identifier: GPL-2.0
 +
@@ -25733,7 +25716,7 @@ 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/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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/module.c	2022-11-05 23:02:18.965889284 +0100
 @@ -0,0 +1,273 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -26010,7 +25993,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	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/module.h	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,180 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -26194,7 +26177,7 @@ diff -urN /usr/share/empty/fs/aufs/module.h linux/fs/aufs/module.h
 +#endif /* __AUFS_MODULE_H__ */
 diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
 --- /usr/share/empty/fs/aufs/mvdown.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/mvdown.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/mvdown.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,706 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -26904,7 +26887,7 @@ diff -urN /usr/share/empty/fs/aufs/mvdown.c linux/fs/aufs/mvdown.c
 +}
 diff -urN /usr/share/empty/fs/aufs/opts.c linux/fs/aufs/opts.c
 --- /usr/share/empty/fs/aufs/opts.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/opts.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/opts.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,1032 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -27940,7 +27923,7 @@ diff -urN /usr/share/empty/fs/aufs/opts.c linux/fs/aufs/opts.c
 +}
 diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h
 --- /usr/share/empty/fs/aufs/opts.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/opts.h	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/opts.h	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,263 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -28207,7 +28190,7 @@ diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h
 +#endif /* __AUFS_OPTS_H__ */
 diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c
 --- /usr/share/empty/fs/aufs/plink.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/plink.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/plink.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,516 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -28727,7 +28710,7 @@ diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c
 +}
 diff -urN /usr/share/empty/fs/aufs/poll.c linux/fs/aufs/poll.c
 --- /usr/share/empty/fs/aufs/poll.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/poll.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/poll.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,51 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -28782,7 +28765,7 @@ diff -urN /usr/share/empty/fs/aufs/poll.c linux/fs/aufs/poll.c
 +}
 diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 --- /usr/share/empty/fs/aufs/posix_acl.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/posix_acl.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/posix_acl.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,108 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -28854,7 +28837,7 @@ diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 +	return acl;
 +}
 +
-+struct posix_acl *aufs_get_acl(struct user_namespace *userns,
++struct posix_acl *aufs_get_acl(struct mnt_idmap *idmap,
 +			       struct dentry *dentry, int type)
 +{
 +	struct posix_acl *acl;
@@ -28866,7 +28849,7 @@ diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 +	return acl;
 +}
 +
-+int aufs_set_acl(struct user_namespace *userns, struct dentry *dentry,
++int aufs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
 +		 struct posix_acl *acl, int type)
 +{
 +	int err;
@@ -28894,7 +28877,7 @@ diff -urN /usr/share/empty/fs/aufs/posix_acl.c linux/fs/aufs/posix_acl.c
 +}
 diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
 --- /usr/share/empty/fs/aufs/procfs.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/procfs.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/procfs.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,170 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -29068,7 +29051,7 @@ diff -urN /usr/share/empty/fs/aufs/procfs.c linux/fs/aufs/procfs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/rdu.c linux/fs/aufs/rdu.c
 --- /usr/share/empty/fs/aufs/rdu.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/rdu.c	2023-04-07 12:29:13.126380830 +0200
++++ linux/fs/aufs/rdu.c	2022-12-17 09:21:34.799855195 +0100
 @@ -0,0 +1,384 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -29456,7 +29439,7 @@ diff -urN /usr/share/empty/fs/aufs/rdu.c linux/fs/aufs/rdu.c
 +#endif
 diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
 --- /usr/share/empty/fs/aufs/rwsem.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/rwsem.h	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/rwsem.h	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,85 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -29545,7 +29528,7 @@ diff -urN /usr/share/empty/fs/aufs/rwsem.h linux/fs/aufs/rwsem.h
 +#endif /* __AUFS_RWSEM_H__ */
 diff -urN /usr/share/empty/fs/aufs/sbinfo.c linux/fs/aufs/sbinfo.c
 --- /usr/share/empty/fs/aufs/sbinfo.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sbinfo.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/sbinfo.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,316 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -29865,7 +29848,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/super.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,871 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -30740,7 +30723,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/super.h	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,592 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -31336,7 +31319,7 @@ diff -urN /usr/share/empty/fs/aufs/super.h linux/fs/aufs/super.h
 +#endif /* __AUFS_SUPER_H__ */
 diff -urN /usr/share/empty/fs/aufs/sysaufs.c linux/fs/aufs/sysaufs.c
 --- /usr/share/empty/fs/aufs/sysaufs.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysaufs.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/sysaufs.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,94 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -31434,7 +31417,7 @@ diff -urN /usr/share/empty/fs/aufs/sysaufs.c linux/fs/aufs/sysaufs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/sysaufs.h linux/fs/aufs/sysaufs.h
 --- /usr/share/empty/fs/aufs/sysaufs.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysaufs.h	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/sysaufs.h	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,102 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -31540,7 +31523,7 @@ diff -urN /usr/share/empty/fs/aufs/sysaufs.h linux/fs/aufs/sysaufs.h
 +#endif /* __SYSAUFS_H__ */
 diff -urN /usr/share/empty/fs/aufs/sysfs.c linux/fs/aufs/sysfs.c
 --- /usr/share/empty/fs/aufs/sysfs.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysfs.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/sysfs.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,374 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -31918,7 +31901,7 @@ diff -urN /usr/share/empty/fs/aufs/sysfs.c linux/fs/aufs/sysfs.c
 +}
 diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
 --- /usr/share/empty/fs/aufs/sysrq.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/sysrq.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/sysrq.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,149 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -32071,7 +32054,7 @@ diff -urN /usr/share/empty/fs/aufs/sysrq.c linux/fs/aufs/sysrq.c
 +}
 diff -urN /usr/share/empty/fs/aufs/vdir.c linux/fs/aufs/vdir.c
 --- /usr/share/empty/fs/aufs/vdir.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/vdir.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/vdir.c	2022-12-17 09:21:34.799855195 +0100
 @@ -0,0 +1,896 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -32971,7 +32954,7 @@ 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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/vfsub.c	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,918 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -33223,7 +33206,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33233,10 +33216,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_create(userns, dir, path->dentry, mode, want_excl);
++	err = vfs_create(idmap, dir, path->dentry, mode, want_excl);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = *path;
@@ -33258,7 +33241,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33268,10 +33251,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_symlink(userns, dir, path->dentry, symname);
++	err = vfs_symlink(idmap, dir, path->dentry, symname);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = *path;
@@ -33293,7 +33276,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33303,10 +33286,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_mknod(userns, dir, path->dentry, mode, dev);
++	err = vfs_mknod(idmap, dir, path->dentry, mode, dev);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = *path;
@@ -33339,7 +33322,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33354,10 +33337,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_link(src_dentry, userns, dir, path->dentry, delegated_inode);
++	err = vfs_link(src_dentry, idmap, dir, path->dentry, delegated_inode);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = *path;
@@ -33400,10 +33383,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	if (unlikely(err))
 +		goto out;
 +
-+	rd.old_mnt_userns = mnt_user_ns(path->mnt);
++	rd.old_mnt_idmap = mnt_idmap(path->mnt);
 +	rd.old_dir = src_dir;
 +	rd.old_dentry = src_dentry;
-+	rd.new_mnt_userns = rd.old_mnt_userns;
++	rd.new_mnt_idmap = rd.old_mnt_idmap;
 +	rd.new_dir = dir;
 +	rd.new_dentry = path->dentry;
 +	rd.delegated_inode = delegated_inode;
@@ -33433,7 +33416,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33443,10 +33426,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_mkdir(userns, dir, path->dentry, mode);
++	err = vfs_mkdir(idmap, dir, path->dentry, mode);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = *path;
@@ -33468,7 +33451,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	int err;
 +	struct dentry *d;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	IMustLock(dir);
 +
@@ -33478,10 +33461,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	path->dentry = d;
 +	if (unlikely(err))
 +		goto out;
-+	userns = mnt_user_ns(path->mnt);
++	idmap = mnt_idmap(path->mnt);
 +
 +	lockdep_off();
-+	err = vfs_rmdir(userns, dir, path->dentry);
++	err = vfs_rmdir(idmap, dir, path->dentry);
 +	lockdep_on();
 +	if (!err) {
 +		struct path tmp = {
@@ -33639,7 +33622,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	int err;
 +	struct inode *h_inode;
 +	struct super_block *h_sb;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	if (!h_file) {
 +		err = vfsub_truncate(h_path, length);
@@ -33653,9 +33636,9 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	lockdep_on();
 +	err = security_file_truncate(h_file);
 +	if (!err) {
-+		h_userns = mnt_user_ns(h_path->mnt);
++		h_idmap = mnt_idmap(h_path->mnt);
 +		lockdep_off();
-+		err = do_truncate(h_userns, h_path->dentry, length, attr,
++		err = do_truncate(h_idmap, h_path->dentry, length, attr,
 +				  h_file);
 +		lockdep_on();
 +	}
@@ -33685,10 +33668,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +int vfsub_sio_mkdir(struct inode *dir, struct path *path, int mode)
 +{
 +	int err, do_sio, wkq_err;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
-+	userns = mnt_user_ns(path->mnt);
-+	do_sio = au_test_h_perm_sio(userns, dir, MAY_EXEC | MAY_WRITE);
++	idmap = mnt_idmap(path->mnt);
++	do_sio = au_test_h_perm_sio(idmap, dir, MAY_EXEC | MAY_WRITE);
 +	if (!do_sio) {
 +		lockdep_off();
 +		err = vfsub_mkdir(dir, path, mode);
@@ -33723,10 +33706,10 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +int vfsub_sio_rmdir(struct inode *dir, struct path *path)
 +{
 +	int err, do_sio, wkq_err;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
-+	userns = mnt_user_ns(path->mnt);
-+	do_sio = au_test_h_perm_sio(userns, dir, MAY_EXEC | MAY_WRITE);
++	idmap = mnt_idmap(path->mnt);
++	do_sio = au_test_h_perm_sio(idmap, dir, MAY_EXEC | MAY_WRITE);
 +	if (!do_sio) {
 +		lockdep_off();
 +		err = vfsub_rmdir(dir, path);
@@ -33758,16 +33741,16 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +{
 +	struct notify_change_args *a = args;
 +	struct inode *h_inode;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +
 +	h_inode = d_inode(a->path->dentry);
 +	IMustLock(h_inode);
 +
 +	*a->errp = -EPERM;
 +	if (!IS_IMMUTABLE(h_inode) && !IS_APPEND(h_inode)) {
-+		userns = mnt_user_ns(a->path->mnt);
++		idmap = mnt_idmap(a->path->mnt);
 +		lockdep_off();
-+		*a->errp = notify_change(userns, a->path->dentry, a->ia,
++		*a->errp = notify_change(idmap, a->path->dentry, a->ia,
 +					 a->delegated_inode);
 +		lockdep_on();
 +		if (!*a->errp)
@@ -33824,7 +33807,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +	struct unlink_args *a = args;
 +	struct dentry *d = a->path->dentry;
 +	struct inode *h_inode;
-+	struct user_namespace *userns;
++	struct mnt_idmap *idmap;
 +	const int stop_sillyrename = (au_test_nfs(d->d_sb)
 +				      && au_dcount(d) == 1);
 +
@@ -33844,9 +33827,9 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c
 +		ihold(h_inode);
 +	}
 +
-+	userns = mnt_user_ns(a->path->mnt);
++	idmap = mnt_idmap(a->path->mnt);
 +	lockdep_off();
-+	*a->errp = vfs_unlink(userns, a->dir, d, a->delegated_inode);
++	*a->errp = vfs_unlink(idmap, a->dir, d, a->delegated_inode);
 +	lockdep_on();
 +	if (!*a->errp) {
 +		struct path tmp = {
@@ -33893,7 +33876,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/vfsub.h	2023-04-24 08:13:40.969576115 +0200
 @@ -0,0 +1,390 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -34131,18 +34114,18 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 +}
 +
 +#ifdef CONFIG_FS_POSIX_ACL
-+static inline int vfsub_acl_chmod(struct user_namespace *h_userns,
++static inline int vfsub_acl_chmod(struct mnt_idmap *h_idmap,
 +				  struct dentry *h_dentry, umode_t h_mode)
 +{
 +	int err;
 +
-+	err = posix_acl_chmod(h_userns, h_dentry, h_mode);
++	err = posix_acl_chmod(h_idmap, h_dentry, h_mode);
 +	if (err == -EOPNOTSUPP)
 +		err = 0;
 +	return err;
 +}
 +#else
-+AuStubInt0(vfsub_acl_chmod, struct user_namespace *h_userns,
++AuStubInt0(vfsub_acl_chmod, struct mnt_idmap *h_idmap,
 +	   struct dentry *h_dentry, umode_t h_mode);
 +#endif
 +
@@ -34226,60 +34209,60 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 +
 +/* ---------------------------------------------------------------------- */
 +
-+static inline int vfsub_setxattr(struct user_namespace *userns,
++static inline int vfsub_setxattr(struct mnt_idmap *idmap,
 +				 struct dentry *dentry, const char *name,
 +				 const void *value, size_t size, int flags)
 +{
 +	int err;
 +
 +	lockdep_off();
-+	err = vfs_setxattr(userns, dentry, name, value, size, flags);
++	err = vfs_setxattr(idmap, dentry, name, value, size, flags);
 +	lockdep_on();
 +
 +	return err;
 +}
 +
-+static inline int vfsub_removexattr(struct user_namespace *userns,
++static inline int vfsub_removexattr(struct mnt_idmap *idmap,
 +				    struct dentry *dentry, const char *name)
 +{
 +	int err;
 +
 +	lockdep_off();
-+	err = vfs_removexattr(userns, dentry, name);
++	err = vfs_removexattr(idmap, dentry, name);
 +	lockdep_on();
 +
 +	return err;
 +}
 +
 +#ifdef CONFIG_FS_POSIX_ACL
-+static inline int vfsub_set_acl(struct user_namespace *userns,
++static inline int vfsub_set_acl(struct mnt_idmap *idmap,
 +				struct dentry *dentry, const char *name,
 +				struct posix_acl *acl)
 +{
 +	int err;
 +
 +	lockdep_off();
-+	err = vfs_set_acl(userns, dentry, name, acl);
++	err = vfs_set_acl(idmap, dentry, name, acl);
 +	lockdep_on();
 +
 +	return err;
 +}
 +
-+static inline int vfsub_remove_acl(struct user_namespace *userns,
++static inline int vfsub_remove_acl(struct mnt_idmap *idmap,
 +				   struct dentry *dentry, const char *name)
 +{
 +	int err;
 +
 +	lockdep_off();
-+	err = vfs_remove_acl(userns, dentry, name);
++	err = vfs_remove_acl(idmap, dentry, name);
 +	lockdep_on();
 +
 +	return err;
 +}
 +#else
-+AuStubInt0(vfsub_set_acl, struct user_namespace *userns, struct dentry *dentry,
++AuStubInt0(vfsub_set_acl, struct mnt_idmap *idmap, struct dentry *dentry,
 +	   const char *name, struct posix_acl *acl);
-+AuStubInt0(vfsub_remove_acl, struct user_namespace *userns,
++AuStubInt0(vfsub_remove_acl, struct mnt_idmap *idmap,
 +	   struct dentry *dentry, const char *name);
 +#endif
 +
@@ -34287,7 +34270,7 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h
 +#endif /* __AUFS_VFSUB_H__ */
 diff -urN /usr/share/empty/fs/aufs/wbr_policy.c linux/fs/aufs/wbr_policy.c
 --- /usr/share/empty/fs/aufs/wbr_policy.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wbr_policy.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/wbr_policy.c	2022-11-05 23:02:18.969222617 +0100
 @@ -0,0 +1,830 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -35121,7 +35104,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/whout.c	2023-04-24 08:13:40.972909448 +0200
 @@ -0,0 +1,1072 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -35189,7 +35172,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 + * test if the @wh_name exists under @h_ppath.
 + * @try_sio specifies the necessary of super-io.
 + */
-+int au_wh_test(struct user_namespace *h_userns, struct path *h_ppath,
++int au_wh_test(struct mnt_idmap *h_idmap, struct path *h_ppath,
 +	       struct qstr *wh_name, int try_sio)
 +{
 +	int err;
@@ -35198,7 +35181,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +	if (!try_sio)
 +		wh_dentry = vfsub_lkup_one(wh_name, h_ppath);
 +	else
-+		wh_dentry = au_sio_lkup_one(h_userns, wh_name, h_ppath);
++		wh_dentry = au_sio_lkup_one(h_idmap, wh_name, h_ppath);
 +	err = PTR_ERR(wh_dentry);
 +	if (IS_ERR(wh_dentry)) {
 +		if (err == -ENAMETOOLONG)
@@ -35227,14 +35210,14 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +/*
 + * test if the @h_path->dentry sets opaque or not.
 + */
-+int au_diropq_test(struct user_namespace *h_userns, struct path *h_path)
++int au_diropq_test(struct mnt_idmap *h_idmap, struct path *h_path)
 +{
 +	int err;
 +	struct inode *h_dir;
 +
 +	h_dir = d_inode(h_path->dentry);
-+	err = au_wh_test(h_userns, h_path, &diropq_name,
-+			 au_test_h_perm_sio(h_userns, h_dir, MAY_EXEC));
++	err = au_wh_test(h_idmap, h_path, &diropq_name,
++			 au_test_h_perm_sio(h_idmap, h_dir, MAY_EXEC));
 +	return err;
 +}
 +
@@ -35252,7 +35235,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +	static unsigned short cnt;
 +	struct qstr qs;
 +	struct path h_ppath;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	BUILD_BUG_ON(sizeof(cnt) * 2 > AUFS_WH_TMP_LEN);
 +
@@ -35278,11 +35261,11 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +
 +	h_ppath.dentry = h_parent;
 +	h_ppath.mnt = au_br_mnt(br);
-+	h_userns = au_br_userns(br);
++	h_idmap = au_br_idmap(br);
 +	qs.name = name;
 +	for (i = 0; i < 3; i++) {
 +		sprintf(p, "%.*x", AUFS_WH_TMP_LEN, cnt++);
-+		dentry = au_sio_lkup_one(h_userns, &qs, &h_ppath);
++		dentry = au_sio_lkup_one(h_idmap, &qs, &h_ppath);
 +		if (IS_ERR(dentry) || d_is_negative(dentry))
 +			goto out_name;
 +		dput(dentry);
@@ -35879,11 +35862,11 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +			     unsigned int flags)
 +{
 +	struct dentry *diropq, *h_dentry;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
-+	h_userns = au_sbr_userns(dentry->d_sb, bindex);
++	h_idmap = au_sbr_idmap(dentry->d_sb, bindex);
 +	h_dentry = au_h_dptr(dentry, bindex);
-+	if (!au_test_h_perm_sio(h_userns, d_inode(h_dentry),
++	if (!au_test_h_perm_sio(h_idmap, d_inode(h_dentry),
 +				MAY_EXEC | MAY_WRITE))
 +		diropq = do_diropq(dentry, bindex, flags);
 +	else {
@@ -36072,7 +36055,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +	struct path wh_path;
 +	struct inode *wh_inode, *h_dir;
 +	struct au_branch *br;
-+	struct user_namespace *h_userns;
++	struct mnt_idmap *h_idmap;
 +
 +	h_dir = d_inode(wh_dentry->d_parent); /* dir inode is locked */
 +	IMustLock(h_dir);
@@ -36080,7 +36063,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +	br = au_sbr(dir->i_sb, bindex);
 +	wh_path.dentry = wh_dentry;
 +	wh_path.mnt = au_br_mnt(br);
-+	h_userns = au_br_userns(br);
++	h_idmap = au_br_idmap(br);
 +	wh_inode = d_inode(wh_dentry);
 +	inode_lock_nested(wh_inode, AuLsc_I_CHILD);
 +
@@ -36088,7 +36071,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c
 +	 * someone else might change some whiteouts while we were sleeping.
 +	 * it means this whlist may have an obsoleted entry.
 +	 */
-+	if (!au_test_h_perm_sio(h_userns, wh_inode, MAY_EXEC | MAY_WRITE))
++	if (!au_test_h_perm_sio(h_idmap, wh_inode, MAY_EXEC | MAY_WRITE))
 +		err = del_wh_children(&wh_path, whlist, bindex);
 +	else {
 +		int wkq_err;
@@ -36197,7 +36180,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/whout.h	2023-04-24 08:13:40.972909448 +0200
 @@ -0,0 +1,87 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -36230,9 +36213,9 @@ 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 user_namespace *h_userns, struct path *h_ppath,
++int au_wh_test(struct mnt_idmap *h_idmap, struct path *h_ppath,
 +	       struct qstr *wh_name, int try_sio);
-+int au_diropq_test(struct user_namespace *h_userns, struct path *h_path);
++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);
@@ -36288,7 +36271,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h
 +#endif /* __AUFS_WHOUT_H__ */
 diff -urN /usr/share/empty/fs/aufs/wkq.c linux/fs/aufs/wkq.c
 --- /usr/share/empty/fs/aufs/wkq.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wkq.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/wkq.c	2022-11-05 23:02:18.972555950 +0100
 @@ -0,0 +1,372 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -36664,7 +36647,7 @@ diff -urN /usr/share/empty/fs/aufs/wkq.c linux/fs/aufs/wkq.c
 +}
 diff -urN /usr/share/empty/fs/aufs/wkq.h linux/fs/aufs/wkq.h
 --- /usr/share/empty/fs/aufs/wkq.h	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/wkq.h	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/wkq.h	2022-11-05 23:02:18.972555950 +0100
 @@ -0,0 +1,89 @@
 +/* SPDX-License-Identifier: GPL-2.0 */
 +/*
@@ -36757,7 +36740,7 @@ diff -urN /usr/share/empty/fs/aufs/wkq.h linux/fs/aufs/wkq.h
 +#endif /* __AUFS_WKQ_H__ */
 diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 --- /usr/share/empty/fs/aufs/xattr.c	1970-01-01 01:00:00.000000000 +0100
-+++ linux/fs/aufs/xattr.c	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/xattr.c	2023-04-24 08:13:40.972909448 +0200
 @@ -0,0 +1,365 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -36833,14 +36816,14 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +	ssize_t ssz;
 +	struct inode *h_idst;
 +	struct dentry *h_dst_dentry, *h_src_dentry;
-+	struct user_namespace *h_dst_userns, *h_src_userns;
++	struct mnt_idmap *h_dst_idmap, *h_src_idmap;
 +	struct posix_acl *acl;
 +
 +	is_acl = !!is_posix_acl_xattr(name);
-+	h_src_userns = mnt_user_ns(h_src->mnt);
++	h_src_idmap = mnt_idmap(h_src->mnt);
 +	h_src_dentry = h_src->dentry;
 +	if (is_acl) {
-+		acl = vfs_get_acl(h_src_userns, h_src_dentry, name);
++		acl = vfs_get_acl(h_src_idmap, h_src_dentry, name);
 +		AuDebugOn(!acl);
 +		if (unlikely(IS_ERR(acl))) {
 +			err = PTR_ERR(acl);
@@ -36854,7 +36837,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +			goto out;
 +		}
 +	} else {
-+		ssz = vfs_getxattr_alloc(h_src_userns, h_src_dentry, name, buf,
++		ssz = vfs_getxattr_alloc(h_src_idmap, h_src_dentry, name, buf,
 +					 0, GFP_NOFS);
 +		if (unlikely(ssz <= 0)) {
 +			err = ssz;
@@ -36870,15 +36853,15 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +	}
 +
 +	/* unlock it temporary */
-+	h_dst_userns = mnt_user_ns(h_dst->mnt);
++	h_dst_idmap = mnt_idmap(h_dst->mnt);
 +	h_dst_dentry = h_dst->dentry;
 +	h_idst = d_inode(h_dst_dentry);
 +	inode_unlock(h_idst);
 +	if (is_acl) {
-+		err = vfsub_set_acl(h_dst_userns, h_dst_dentry, name, acl);
++		err = vfsub_set_acl(h_dst_idmap, h_dst_dentry, name, acl);
 +		posix_acl_release(acl);
 +	} else
-+		err = vfsub_setxattr(h_dst_userns, h_dst_dentry, name, *buf,
++		err = vfsub_setxattr(h_dst_idmap, h_dst_dentry, name, *buf,
 +				     ssz, /*flags*/0);
 +	inode_lock_nested(h_idst, AuLsc_I_CHILD2);
 +	if (unlikely(err)) {
@@ -37024,7 +37007,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +		break;
 +	case AU_XATTR_GET:
 +		AuDebugOn(d_is_negative(h_path.dentry));
-+		err = vfs_getxattr(mnt_user_ns(h_path.mnt), h_path.dentry,
++		err = vfs_getxattr(mnt_idmap(h_path.mnt), h_path.dentry,
 +				   arg->u.get.name, arg->u.get.value,
 +				   arg->u.get.size);
 +		break;
@@ -37096,7 +37079,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c
 +}
 +
 +static int au_xattr_set(const struct xattr_handler *handler,
-+			struct user_namespace *userns,
++			struct mnt_idmap *idmap,
 +			struct dentry *dentry, struct inode *inode,
 +			const char *name, const void *value, size_t size,
 +			int flags)
@@ -37126,7 +37109,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/fs/aufs/xino.c	2023-04-24 08:13:40.972909448 +0200
 @@ -0,0 +1,1926 @@
 +// SPDX-License-Identifier: GPL-2.0
 +/*
@@ -37389,7 +37372,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c
 +	}
 +
 +	/* no need to mnt_want_write() since we call dentry_open() later */
-+	err = vfs_create(mnt_user_ns(base->mnt), dir, path.dentry, 0666, NULL);
++	err = vfs_create(mnt_idmap(base->mnt), dir, path.dentry, 0666, NULL);
 +	if (unlikely(err)) {
 +		file = ERR_PTR(err);
 +		pr_err("%pd create err %d\n", dentry, err);
@@ -39056,7 +39039,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	2023-04-07 12:29:13.129715729 +0200
++++ linux/include/uapi/linux/aufs_type.h	2023-04-24 08:13:40.972909448 +0200
 @@ -0,0 +1,452 @@
 +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 +/*
@@ -39100,7 +39083,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.2-20230227"
++#define AUFS_VERSION	"6.x-rcN-20230313"
 +
 +/* todo? move this to linux-2.6.19/include/magic.h */
 +#define AUFS_SUPER_MAGIC	('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
@@ -39511,10 +39494,10 @@ 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.2 loopback patch
+aufs6.x-rcN loopback patch
 
 diff --git a/drivers/block/loop.c b/drivers/block/loop.c
-index 7a9928c6db9d..0bac486deea2 100644
+index 463edc7c1633..9bd631fc90b8 100644
 --- a/drivers/block/loop.c
 +++ b/drivers/block/loop.c
 @@ -54,7 +54,7 @@ struct loop_device {
@@ -39736,10 +39719,10 @@ index 81922d4faf54..c8a62c267d72 100644
  
  /* ---------------------------------------------------------------------- */
 diff --git a/include/linux/fs.h b/include/linux/fs.h
-index ec560e8704a4..fc6e4d469419 100644
+index d676c6742cc2..64e43f62fb43 100644
 --- a/include/linux/fs.h
 +++ b/include/linux/fs.h
-@@ -2255,6 +2255,10 @@ struct super_operations {
+@@ -1917,6 +1917,10 @@ struct super_operations {
  				  struct shrink_control *);
  	long (*free_cached_objects)(struct super_block *,
  				    struct shrink_control *);
diff --git a/kernel-multiarch.config b/kernel-multiarch.config
index 931a09b7..f507a317 100644
--- a/kernel-multiarch.config
+++ b/kernel-multiarch.config
@@ -21,7 +21,9 @@ CRYPTO_AES_ARM64_NEON_BLK arm64=m
 CRYPTO_AES_ARM_BS arm=m
 CRYPTO_AES_ARM_CE arm=m
 CRYPTO_AES_NI_INTEL all=m
+CRYPTO_ARIA_AESNI_AVX2_X86_64 all=m
 CRYPTO_ARIA_AESNI_AVX_X86_64 all=m
+CRYPTO_ARIA_GFNI_AVX512_X86_64 all=m
 CRYPTO_BLAKE2B_NEON arm=m
 CRYPTO_BLAKE2S_ARM arm=y
 CRYPTO_BLAKE2S_X86 x86_64=y
@@ -353,6 +355,18 @@ FIPS_SIGNATURE_SELFTEST all=y
 #- *** FILE: drivers/accel/Kconfig ***
 #-
 DRM_ACCEL all=y
+#- file drivers/accel/habanalabs/Kconfig goes here
+#- file drivers/accel/ivpu/Kconfig goes here
+
+#-
+#- *** FILE: drivers/accel/habanalabs/Kconfig ***
+#-
+DRM_ACCEL_HABANALABS all=m
+
+#-
+#- *** FILE: drivers/accel/ivpu/Kconfig ***
+#-
+DRM_ACCEL_IVPU all=m
 
 #-
 #- *** FILE: drivers/accessibility/Kconfig ***
@@ -571,11 +585,33 @@ PATA_OF_PLATFORM arm=m arm64=m ppc=m ppc64=m
 PATA_QDI alpha=m i386=m
 PATA_RZ1000 all=m sparc=n
 PATA_WINBOND_VLB all=m sparc=n
+PATA_PARPORT all=m
+#- file drivers/ata/pata_parport/Kconfig goes here
 #- Generic fallback / legacy drivers
 PATA_ACPI arm64=m i386=m ia64=m x86_64=m
 ATA_GENERIC all=m sparc=n
 PATA_LEGACY all=m
 
+#-
+#- *** FILE: drivers/ata/pata_parport/Kconfig ***
+#-
+#- Parallel IDE protocol modules
+PATA_PARPORT_ATEN all=m
+PATA_PARPORT_BPCK all=m
+PATA_PARPORT_COMM all=m
+PATA_PARPORT_DSTR all=m
+PATA_PARPORT_FIT2 all=m
+PATA_PARPORT_FIT3 all=m
+PATA_PARPORT_EPAT all=m
+PATA_PARPORT_EPATC8 all=y
+PATA_PARPORT_EPIA all=m
+PATA_PARPORT_FRIQ all=m
+PATA_PARPORT_FRPW all=m
+PATA_PARPORT_KBIC all=m
+PATA_PARPORT_KTTI all=m
+PATA_PARPORT_ON20 all=m
+PATA_PARPORT_ON26 all=m
+
 #-
 #- *** FILE: drivers/atm/Kconfig ***
 #-
@@ -688,8 +724,6 @@ BLK_DEV all=y
 BLK_DEV_FD all=m sparc=y
 BLK_DEV_FD_RAWCMD all=n
 MAC_FLOPPY ppc=m
-PARIDE all=m
-#- file drivers/block/paride/Kconfig goes here
 #- file drivers/block/mtip32xx/Kconfig goes here
 #- file drivers/block/zram/Kconfig goes here
 BLK_DEV_COW_COMMON all=n
@@ -730,33 +764,6 @@ BLK_DEV_PCIESSD_MTIP32XX all=m
 #-
 BLK_DEV_NULL_BLK all=m
 
-#-
-#- *** FILE: drivers/block/paride/Kconfig ***
-#-
-#- Parallel IDE high-level drivers
-PARIDE_PD all=m
-PARIDE_PCD all=m
-PARIDE_PF all=m
-PARIDE_PT all=m
-PARIDE_PG all=m
-#- Parallel IDE protocol modules
-PARIDE_ATEN all=m
-PARIDE_BPCK all=m
-PARIDE_BPCK6 arm=n i386=m ppc=n
-PARIDE_COMM all=m
-PARIDE_DSTR all=m
-PARIDE_FIT2 all=m
-PARIDE_FIT3 all=m
-PARIDE_EPAT all=m
-PARIDE_EPATC8 all=y
-PARIDE_EPIA all=m
-PARIDE_FRIQ all=m
-PARIDE_FRPW all=m
-PARIDE_KBIC all=m
-PARIDE_KTTI all=m
-PARIDE_ON20 all=m
-PARIDE_ON26 all=m
-
 #-
 #- *** FILE: drivers/block/rnbd/Kconfig ***
 #-
@@ -1262,10 +1269,10 @@ PROC_EVENTS all=y
 #-
 COUNTER all=m
 104_QUAD_8 all=m
-INTERRUPT_CNT all=m
 FTM_QUADDEC arm=m arm64=m
-MICROCHIP_TCB_CAPTURE arm=m arm64=m
 INTEL_QEP=m
+INTERRUPT_CNT all=m
+MICROCHIP_TCB_CAPTURE arm=m arm64=m
 
 #-
 #- *** FILE: drivers/cpufreq/Kconfig ***
@@ -1326,7 +1333,6 @@ CRYPTO_DEV_HIFN_795X_RNG all=y
 #- file drivers/crypto/caam/Kconfig goes here
 CRYPTO_DEV_TALITOS all=m
 #- file drivers/crypto/nx/Kconfig goes here
-#- file drivers/crypto/ux500/Kconfig goes here
 CRYPTO_DEV_ATMEL_ECC all=m
 CRYPTO_DEV_ATMEL_SHA204A all=m
 CRYPTO_DEV_CCP all=y
@@ -1413,6 +1419,7 @@ CXL_MEM_RAW_COMMANDS all=y
 CXL_ACPI=m
 CXL_PMEM=m
 CXL_MEM all=m
+CXL_REGION all=y
 CXL_REGION_INVALIDATION_TEST all=n
 
 #-
@@ -1422,6 +1429,7 @@ DAX arm=m i686=m
 DEV_DAX all=m
 DEV_DAX_PMEM all=m
 DEV_DAX_HMEM all=m
+DEV_DAX_CXL all=m
 DEV_DAX_KMEM all=m
 
 #-
@@ -1493,6 +1501,7 @@ PL330_DMA arm=m arm64=m
 PLX_DMA all=m
 TIMB_DMA all=m
 XILINX_DMA arm64=m
+XILINX_XDMA all=m
 XILINX_ZYNQMP_DMA arm64=m
 XILINX_ZYNQMP_DPDMA all=m
 #- file drivers/dma/bestcomm/Kconfig goes here
@@ -1700,7 +1709,6 @@ GOOGLE_FIRMWARE all=y
 GOOGLE_SMI all=m
 GOOGLE_CBMEM all=m
 GOOGLE_COREBOOT_TABLE all=m
-GOOGLE_COREBOOT_TABLE_ACPI all=m
 GOOGLE_MEMCONSOLE all=m
 GOOGLE_MEMCONSOLE_X86_LEGACY all=m
 GOOGLE_FRAMEBUFFER_COREBOOT all=m
@@ -1852,7 +1860,6 @@ GPIO_TPS65912 all=m
 GPIO_TPS68470 all=m
 GPIO_TQMX86 all=m
 GPIO_TWL4030 powerpc=m
-GPIO_UCB1400 all=m
 GPIO_WHISKEY_COVE all=m
 GPIO_WM831X all=m
 GPIO_WM8994 all=m
@@ -1945,13 +1952,6 @@ DRM_VKMS all=m
 #- file drivers/gpu/drm/sprd/Kconfig goes here
 DRM_HYPERV=m
 DRM_LEGACY all=y
-DRM_TDFX all=m
-DRM_R128 all=m
-DRM_I810 i386=m x86_64=m
-DRM_MGA all=m
-DRM_SIS all=m
-DRM_VIA all=m
-DRM_SAVAGE all=m
 
 #-
 #- *** FILE: drivers/gpu/drm/amd/acp/Kconfig ***
@@ -2015,7 +2015,6 @@ DRM_ATMEL_HLCDC arm=m
 #-
 #- *** FILE: drivers/gpu/drm/bridge/Kconfig ***
 #-
-DRM_CDNS_DSI arm=m arm64=m
 DRM_CHIPONE_ICN6211 arm=m arm64=m
 DRM_CHRONTEL_CH7033 arm=m arm64=m
 DRM_CROS_EC_ANX7688 arm=m arm64=m
@@ -2071,6 +2070,7 @@ DRM_ANALOGIX_ANX7625 arm=m arm64=m
 #-
 #- *** FILE: drivers/gpu/drm/bridge/cadence/Kconfig ***
 #-
+DRM_CDNS_DSI arm=m arm64=m
 DRM_CDNS_MHDP8546 arm=m arm64=m
 
 #-
@@ -2160,14 +2160,13 @@ DRM_I915_PXP all=y
 DRM_I915_GVT all=y
 
 #-
-#- *** FILE: drivers/gpu/drm/imx/Kconfig ***
+#- *** FILE: drivers/gpu/drm/imx/ipuv3/Kconfig ***
 #-
 DRM_IMX arm=m
 DRM_IMX_PARALLEL_DISPLAY arm=m
 DRM_IMX_TVE arm=m
 DRM_IMX_LDB arm=m
 DRM_IMX_HDMI arm=m
-#- file drivers/gpu/drm/imx/dcss/Kconfig goes here
 
 #-
 #- *** FILE: drivers/gpu/drm/lima/Kconfig ***
@@ -2205,7 +2204,6 @@ DRM_IMX_LCDIF arm=m arm64=m
 #- *** FILE: drivers/gpu/drm/nouveau/Kconfig ***
 #-
 DRM_NOUVEAU all=m
-NOUVEAU_LEGACY_CTX_SUPPORT all=y
 NOUVEAU_DEBUG all=5
 NOUVEAU_DEBUG_DEFAULT all=3
 NOUVEAU_DEBUG_MMU all=n
@@ -2235,6 +2233,7 @@ OMAP2_DSS_SLEEP_AFTER_VENC_RESET arm=y
 DRM_PANEL_ABT_Y030XX067A arm=m arm64=m
 DRM_PANEL_ARM_VERSATILE arm=m arm64=m
 DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 arm=m arm64=m
+DRM_PANEL_AUO_A030JTN01 all=m
 DRM_PANEL_BOE_BF060Y8M_AJ0 arm=m arm64=m
 DRM_PANEL_BOE_HIMAX8279D arm=m arm64=m
 DRM_PANEL_BOE_TV101WUM_NL6 arm=m arm64=m
@@ -2271,6 +2270,7 @@ DRM_PANEL_NOVATEK_NT36672A arm=m arm64=m
 DRM_PANEL_NOVATEK_NT39016 arm=m arm64=m
 DRM_PANEL_MANTIX_MLAF057WE51 arm=m arm64=m
 DRM_PANEL_OLIMEX_LCD_OLINUXINO arm=m arm64=m
+DRM_PANEL_ORISETECH_OTA5601A all=m
 DRM_PANEL_ORISETECH_OTM8009A arm=m arm64=m
 DRM_PANEL_OSD_OSD101T2587_53TS arm=m arm64=m
 DRM_PANEL_PANASONIC_VVX10F034N00 arm=m arm64=m
@@ -2463,6 +2463,7 @@ GREYBUS_ES2 all=m
 #-
 #- *** FILE: drivers/hid/Kconfig ***
 #-
+HID_SUPPORT all=y
 HID all=m
 HID_BATTERY_STRENGTH all=y
 HIDRAW all=y
@@ -2495,6 +2496,7 @@ HID_EMS_FF all=m
 HID_ELAN all=m
 HID_ELECOM all=m
 HID_ELO all=m
+HID_EVISION all=m
 HID_EZKEY all=m
 HID_FT260 all=m
 HID_GEMBIRD all=m
@@ -2567,6 +2569,7 @@ HID_SONY all=m
 SONY_FF all=y
 HID_SPEEDLINK all=m
 HID_STEAM all=m
+STEAM_FF all=y
 HID_STEELSERIES all=m
 HID_SUNPLUS all=m
 HID_RMI all=m
@@ -2593,6 +2596,7 @@ HID_SENSOR_HUB all=m
 HID_SENSOR_CUSTOM_SENSOR all=m
 HID_ALPS all=m
 HID_MCP2221 all=m
+#- file drivers/hid/bpf/Kconfig goes here
 #- file drivers/hid/usbhid/Kconfig goes here
 #- file drivers/hid/i2c-hid/Kconfig goes here
 #- file drivers/hid/intel-ish-hid/Kconfig goes here
@@ -2604,9 +2608,15 @@ HID_MCP2221 all=m
 #-
 AMD_SFH_HID all=m
 
+#-
+#- *** FILE: drivers/hid/bpf/Kconfig ***
+#-
+HID_BPF all=y
+
 #-
 #- *** FILE: drivers/hid/i2c-hid/Kconfig ***
 #-
+I2C_HID all=m
 I2C_HID_ACPI all=m
 I2C_HID_OF arm=m arm64=m
 I2C_HID_OF_ELAN arm=m arm64=m
@@ -2756,6 +2766,7 @@ SENSORS_MAX6642 all=m
 SENSORS_MAX6650 all=m
 SENSORS_MAX6697 all=m
 SENSORS_MAX31790 all=m
+SENSORS_MC34VR500 all=m
 SENSORS_MCP3021 all=m
 SENSORS_MLXREG_FAN all=m
 SENSORS_TC654 all=m
@@ -2912,6 +2923,8 @@ SENSORS_MAX8688 all=m
 SENSORS_MP2888=m
 SENSORS_MP2975 all=m
 SENSORS_MP5023 all=m
+SENSORS_MPQ7932_REGULATOR all=y
+SENSORS_MPQ7932 all=m
 SENSORS_PIM4328=m
 SENSORS_PLI1209BC all=m
 SENSORS_PLI1209BC_REGULATOR all=y
@@ -2919,6 +2932,8 @@ SENSORS_PM6764TR all=m
 SENSORS_PXE1610 all=m
 SENSORS_Q54SJ108A2 all=m
 SENSORS_STPDDC60 all=m
+SENSORS_TDA38640 all=m
+SENSORS_TDA38640_REGULATOR all=y
 SENSORS_TPS40422 all=m
 SENSORS_TPS53679 all=m
 SENSORS_TPS546D24 all=m
@@ -3272,12 +3287,14 @@ TI_ADC108S102 all=m
 TI_ADC128S052 all=m
 TI_ADC161S626 all=m
 TI_ADS1015 all=m
+TI_ADS7924 all=m
 TI_ADS7950 all=m
 TI_ADS8344 all=m
 TI_ADS8688 all=m
 TI_ADS124S08 all=m
 TI_ADS131E08 all=m
 TI_AM335X_ADC all=m
+TI_LMP92064 all=m
 TI_TLC4541 all=m
 TI_TSC2046=m
 VF610_ADC all=m
@@ -3387,6 +3404,7 @@ LTC1660 all=m
 LTC2632 all=m
 M62332 all=m
 MAX517 all=m
+MAX5522 all=m
 MAX5821 all=m
 MCP4725 all=m
 MCP4922 all=m
@@ -3590,6 +3608,7 @@ SENSORS_HMC5843_I2C all=m
 SENSORS_HMC5843_SPI all=m
 SENSORS_RM3100_I2C all=m
 SENSORS_RM3100_SPI all=m
+TI_TMAG5273 all=m
 YAMAHA_YAS530 all=m
 
 #-
@@ -4225,7 +4244,6 @@ TOUCHSCREEN_RASPBERRYPI_FW arm=m
 TOUCHSCREEN_TOUCHRIGHT all=m
 TOUCHSCREEN_TOUCHWIN all=m
 TOUCHSCREEN_TI_AM335X_TSC all=m
-TOUCHSCREEN_UCB1400 all=m sparc=n
 TOUCHSCREEN_PIXCIR all=m
 TOUCHSCREEN_WDT87XX_I2C all=m
 TOUCHSCREEN_WM831X all=m
@@ -4322,6 +4340,7 @@ INTEL_IOMMU all=y
 INTEL_IOMMU_SVM all=y
 INTEL_IOMMU_DEFAULT_ON all=y
 INTEL_IOMMU_SCALABLE_MODE_DEFAULT_ON all=y
+INTEL_IOMMU_PERF_EVENTS all=y
 
 #-
 #- *** FILE: drivers/iommu/iommufd/Kconfig ***
@@ -4706,6 +4725,7 @@ USB_RAINSHADOW_CEC all=m
 VIDEO_CX2341X all=m
 VIDEO_TVEEPROM all=m
 #- file drivers/media/common/b2c2/Kconfig goes here
+#- file drivers/media/common/saa7146/Kconfig goes here
 #- file drivers/media/common/siano/Kconfig goes here
 #- file drivers/media/common/v4l2-tpg/Kconfig goes here
 #- file drivers/media/common/videobuf2/Kconfig goes here
@@ -4716,6 +4736,12 @@ VIDEO_TVEEPROM all=m
 DVB_B2C2_FLEXCOP all=m
 DVB_B2C2_FLEXCOP_DEBUG all=n
 
+#-
+#- *** FILE: drivers/media/common/saa7146/Kconfig ***
+#-
+VIDEO_SAA7146 all=m
+VIDEO_SAA7146_VV all=m
+
 #-
 #- *** FILE: drivers/media/common/siano/Kconfig ***
 #-
@@ -4829,6 +4855,7 @@ VIDEO_IMX219 all=m
 VIDEO_IMX258 all=m
 VIDEO_IMX274 all=m
 VIDEO_IMX290 all=m
+VIDEO_IMX296 all=m
 VIDEO_IMX319 all=m
 VIDEO_IMX334 arm=m arm64=m
 VIDEO_IMX335 arm=m arm64=m
@@ -4871,6 +4898,7 @@ VIDEO_OV7670 all=m
 VIDEO_OV772X all=m
 VIDEO_OV7740 all=m
 VIDEO_OV8856 all=m
+VIDEO_OV8858 all=m
 VIDEO_OV8865 all=m
 VIDEO_OV9282 arm=m arm64=m
 VIDEO_OV9640 all=m
@@ -4971,6 +4999,7 @@ MEDIA_PCI_SUPPORT all=y
 #- Media capture/analog TV support
 #- file drivers/media/pci/dt3155/Kconfig goes here
 #- file drivers/media/pci/ivtv/Kconfig goes here
+#- file drivers/media/pci/saa7146/Kconfig goes here
 #- Media capture/analog/hybrid TV support
 #- file drivers/media/pci/bt8xx/Kconfig goes here
 #- file drivers/media/pci/cobalt/Kconfig goes here
@@ -4991,6 +5020,7 @@ MEDIA_PCI_SUPPORT all=y
 #- file drivers/media/pci/pt1/Kconfig goes here
 #- file drivers/media/pci/pt3/Kconfig goes here
 #- file drivers/media/pci/smipcie/Kconfig goes here
+#- file drivers/media/pci/ttpci/Kconfig goes here
 VIDEO_PCI_SKELETON all=m
 #- file drivers/media/pci/intel/ipu3/Kconfig goes here
 
@@ -5110,6 +5140,13 @@ VIDEO_SAA7134_RC all=y
 VIDEO_SAA7134_DVB all=m sparc64=n
 VIDEO_SAA7134_GO7007 all=m
 
+#-
+#- *** FILE: drivers/media/pci/saa7146/Kconfig ***
+#-
+VIDEO_HEXIUM_GEMINI all=m
+VIDEO_HEXIUM_ORION all=m
+VIDEO_MXB all=m sparc=n
+
 #-
 #- *** FILE: drivers/media/pci/saa7164/Kconfig ***
 #-
@@ -5130,6 +5167,14 @@ VIDEO_SOLO6X10 all=m
 #-
 STA2X11_VIP all=m
 
+#-
+#- *** FILE: drivers/media/pci/ttpci/Kconfig ***
+#-
+DVB_BUDGET_CORE all=m
+DVB_BUDGET all=m sparc=n
+DVB_BUDGET_CI all=m sparc=n
+DVB_BUDGET_AV all=m sparc=n
+
 #-
 #- *** FILE: drivers/media/pci/tw5864/Kconfig ***
 #-
@@ -5755,7 +5800,6 @@ MFD_CS47L35 all=y
 MFD_CS47L85 all=y
 MFD_CS47L90 all=y
 MFD_CS47L92 all=y
-MFD_ASIC3 arm=n
 PMIC_DA903X powerpc=y
 MFD_DA9052_SPI all=y
 MFD_DA9062 all=m
@@ -5770,7 +5814,6 @@ MFD_MC13XXX_I2C all=m
 MFD_MP2629 all=m
 MFD_HI6421_PMIC arm=m arm64=m
 MFD_HI6421_SPMI arm=m arm64=m
-HTC_PASIC3 all=m
 MFD_INTEL_QUARK_I2C_GPIO all=m
 LPC_ICH all=m
 LPC_SCH all=m
@@ -5804,7 +5847,6 @@ MFD_RETU all=m
 MFD_PCF50633 all=m
 PCF50633_ADC all=m
 PCF50633_GPIO all=m
-UCB1400_CORE all=m
 MFD_PM8XXX arm=m
 MFD_SY7636A all=m
 MFD_RDC321X all=m
@@ -5842,9 +5884,6 @@ TWL4030_CORE powerpc=y
 MFD_WL1273_CORE all=m
 MFD_LM3533 all=m
 MFD_TIMBERDALE all=m
-MFD_T7L66XB arm=n
-MFD_TC6387XB arm=n
-MFD_TC6393XB arm=n
 MFD_TQMX86 all=m
 MFD_VX855 all=m
 MFD_ARIZONA_I2C all=m
@@ -5865,7 +5904,8 @@ MFD_KHADAS_MCU arm64=m
 MFD_QCOM_PM8008 arm=m arm64=m
 MFD_VEXPRESS_SYSREG arm=m arm64=m
 RAVE_SP_CORE all=m
-MFD_INTEL_M10_BMC all=m
+MFD_INTEL_M10_BMC_SPI all=m
+MFD_INTEL_M10_BMC_PMCI all=m
 MFD_RSMU_I2C arm=m arm64=m
 MFD_RSMU_SPI arm=m arm64=m
 
@@ -5925,7 +5965,6 @@ VCPU_STALL_DETECTOR arm=m arm64=m
 #- file drivers/misc/ocxl/Kconfig goes here
 #- file drivers/misc/bcm-vk/Kconfig goes here
 #- file drivers/misc/cardreader/Kconfig goes here
-#- file drivers/misc/habanalabs/Kconfig goes here
 #- file drivers/misc/uacce/Kconfig goes here
 #- file drivers/misc/pvpanic/Kconfig goes here
 #- file drivers/misc/mchp_pci1xxxx/Kconfig goes here
@@ -5984,11 +6023,6 @@ EEPROM_EE1004 all=m
 GENWQE all=m
 GENWQE_PLATFORM_ERROR_RECOVERY all=0
 
-#-
-#- *** FILE: drivers/misc/habanalabs/Kconfig ***
-#-
-HABANA_AI all=m
-
 #-
 #- *** FILE: drivers/misc/lis3lv02d/Kconfig ***
 #-
@@ -6429,7 +6463,7 @@ XEN_NETDEV_FRONTEND all=m
 XEN_NETDEV_BACKEND all=m
 VMXNET3 all=m
 FUJITSU_ES all=m
-USB4_NET all=m
+#- file drivers/net/thunderbolt/Kconfig goes here
 #- file drivers/net/hyperv/Kconfig goes here
 NETDEVSIM all=m
 NET_FAILOVER all=m
@@ -6633,6 +6667,7 @@ NET_DSA_HIRSCHMANN_HELLCREEK all=m
 NET_DSA_MICROCHIP_KSZ_COMMON all=m
 NET_DSA_MICROCHIP_KSZ9477_I2C all=m
 NET_DSA_MICROCHIP_KSZ_SPI all=m
+NET_DSA_MICROCHIP_KSZ_PTP all=y
 NET_DSA_MICROCHIP_KSZ8863_SMI all=m
 
 #-
@@ -6644,6 +6679,7 @@ NET_DSA_MV88E6XXX_PTP all=y
 #-
 #- *** FILE: drivers/net/dsa/ocelot/Kconfig ***
 #-
+NET_DSA_MSCC_OCELOT_EXT all=m
 NET_DSA_MSCC_FELIX all=m
 NET_DSA_MSCC_SEVILLE all=m
 
@@ -7749,6 +7785,7 @@ MOTORCOMM_PHY=m
 NATIONAL_PHY all=m
 NXP_C45_TJA11XX_PHY all=m
 NXP_TJA11XX_PHY all=m
+NCN26000_PHY all=m
 AT803X_PHY all=m
 QSEMI_PHY all=m
 REALTEK_PHY all=m
@@ -7813,6 +7850,11 @@ NET_TEAM_MODE_RANDOM all=m
 NET_TEAM_MODE_ACTIVEBACKUP all=m
 NET_TEAM_MODE_LOADBALANCE all=m
 
+#-
+#- *** FILE: drivers/net/thunderbolt/Kconfig ***
+#-
+USB4_NET all=m
+
 #-
 #- *** FILE: drivers/net/usb/Kconfig ***
 #-
@@ -7932,6 +7974,7 @@ ATH_DEBUG all=n
 #- file drivers/net/wireless/ath/ath10k/Kconfig goes here
 #- file drivers/net/wireless/ath/wcn36xx/Kconfig goes here
 #- file drivers/net/wireless/ath/ath11k/Kconfig goes here
+#- file drivers/net/wireless/ath/ath12k/Kconfig goes here
 
 #-
 #- *** FILE: drivers/net/wireless/ath/ar5523/Kconfig ***
@@ -7959,6 +8002,13 @@ ATH11K_PCI all=m
 ATH11K_DEBUG all=n
 ATH11K_TRACING all=n
 
+#-
+#- *** FILE: drivers/net/wireless/ath/ath12k/Kconfig ***
+#-
+ATH12K all=m
+ATH12K_DEBUG all=n
+ATH12K_TRACING all=n
+
 #-
 #- *** FILE: drivers/net/wireless/ath/ath5k/Kconfig ***
 #-
@@ -8665,7 +8715,6 @@ PARPORT_PC_SUPERIO all=y
 PARPORT_PC_PCMCIA all=m
 PARPORT_GSC all=n
 PARPORT_SUNBPP sparc=m sparc64=m
-PARPORT_AX88796 all=m
 PARPORT_1284 all=y ia64=n
 PARPORT_NOT_PC all=y
 
@@ -9098,6 +9147,7 @@ CROS_EC_I2C all=m
 CROS_EC_RPMSG arm=m arm64=m
 CROS_EC_ISHTP all=m
 CROS_EC_SPI all=m
+CROS_EC_UART all=m
 CROS_EC_LPC all=m
 CROS_KBD_LED_BACKLIGHT all=m
 CROS_EC_CHARDEV all=m
@@ -9307,6 +9357,7 @@ INTEL_PUNIT_IPC all=m
 INTEL_RST all=m
 INTEL_SDSI all=m
 INTEL_SMARTCONNECT all=m
+INTEL_TPMI all=m
 INTEL_TURBO_MAX_3 all=y
 INTEL_VSEC all=m
 
@@ -9421,7 +9472,6 @@ POWER_MLXBF arm64=m
 #* ACPI_SYSFS_POWER selects POWER_SUPPLY=y
 POWER_SUPPLY all=m arm=y arm64=y i386=y ia64=y x86_64=y
 POWER_SUPPLY_DEBUG all=n
-PDA_POWER all=m
 APM_POWER arm=m ppc=m
 GENERIC_ADC_BATTERY all=m
 IP5XXX_POWER all=m
@@ -9491,6 +9541,8 @@ AB8500_BM all=n
 BATTERY_GOLDFISH all=m
 BATTERY_RT5033 all=m
 CHARGER_RT9455 all=m
+CHARGER_RT9467 all=m
+CHARGER_RT9471 all=m
 CHARGER_CROS_USBPD all=m
 CHARGER_CROS_PCHG all=m
 CHARGER_UCS1002 arm=m arm64=m
@@ -9649,6 +9701,7 @@ REGULATOR_MAX8907 all=m
 REGULATOR_MAX8952 all=m
 REGULATOR_MAX8973 all=m
 REGULATOR_MAX20086 all=m
+REGULATOR_MAX20411 all=m
 REGULATOR_MAX77686 arm=m arm64=m
 REGULATOR_MAX77693 all=m
 REGULATOR_MAX77802 arm=m arm64=m
@@ -9861,7 +9914,6 @@ RTC_DRV_M48T59 all=m sparc=y
 RTC_DRV_MSM6242 all=m
 RTC_DRV_BQ4802 all=m sparc64=y
 RTC_DRV_RP5C01 all=m
-RTC_DRV_V3020 all=m
 RTC_DRV_WM831X all=m
 RTC_DRV_WM8350 all=m
 RTC_DRV_PCF50633 all=m
@@ -10244,6 +10296,11 @@ IXP4XX_NPE all=m
 #-
 LITEX_SOC_CONTROLLER arm=m arm64=m
 
+#-
+#- *** FILE: drivers/soc/nuvoton/Kconfig ***
+#-
+WPCM450_SOC all=m
+
 #-
 #- *** FILE: drivers/soc/qcom/Kconfig ***
 #-
@@ -10362,7 +10419,6 @@ STAGING all=y
 #- file drivers/staging/rtl8192e/Kconfig goes here
 #- file drivers/staging/rtl8723bs/Kconfig goes here
 #- file drivers/staging/rtl8712/Kconfig goes here
-#- file drivers/staging/r8188eu/Kconfig goes here
 #- file drivers/staging/rts5208/Kconfig goes here
 #- file drivers/staging/octeon/Kconfig goes here
 #- file drivers/staging/vt6655/Kconfig goes here
@@ -10523,6 +10579,7 @@ KS7010 all=m
 #-
 STAGING_MEDIA all=y
 #- file drivers/staging/media/atomisp/Kconfig goes here
+#- file drivers/staging/media/av7110/Kconfig goes here
 #- file drivers/staging/media/imx/Kconfig goes here
 #- file drivers/staging/media/ipu3/Kconfig goes here
 #- file drivers/staging/media/max96712/Kconfig goes here
@@ -10533,14 +10590,6 @@ STAGING_MEDIA all=y
 #- file drivers/staging/media/tegra-video/Kconfig goes here
 STAGING_MEDIA_DEPRECATED all=n
 #- file drivers/staging/media/deprecated/atmel/Kconfig goes here
-#- file drivers/staging/media/deprecated/cpia2/Kconfig goes here
-#- file drivers/staging/media/deprecated/fsl-viu/Kconfig goes here
-#- file drivers/staging/media/deprecated/meye/Kconfig goes here
-#- file drivers/staging/media/deprecated/saa7146/Kconfig goes here
-#- file drivers/staging/media/deprecated/stkwebcam/Kconfig goes here
-#- file drivers/staging/media/deprecated/tm6000/Kconfig goes here
-#- file drivers/staging/media/deprecated/vpfe_capture/Kconfig goes here
-#- file drivers/staging/media/deprecated/zr364xx/Kconfig goes here
 
 #-
 #- *** FILE: drivers/staging/media/atomisp/Kconfig ***
@@ -10563,61 +10612,13 @@ VIDEO_ATOMISP_OV5693 all=m
 VIDEO_ATOMISP_LM3554 all=m
 
 #-
-#- *** FILE: drivers/staging/media/deprecated/cpia2/Kconfig ***
-#-
-VIDEO_CPIA2 all=m
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/meye/Kconfig ***
-#-
-VIDEO_MEYE i386=m x86_64=m
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/saa7146/av7110/Kconfig ***
+#- *** FILE: drivers/staging/media/av7110/Kconfig ***
 #-
 DVB_AV7110 all=m sparc=n
 DVB_AV7110_OSD all=y
 DVB_BUDGET_PATCH all=m
 DVB_SP8870 all=m
 
-#-
-#- *** FILE: drivers/staging/media/deprecated/saa7146/common/Kconfig ***
-#-
-VIDEO_SAA7146 all=m
-VIDEO_SAA7146_VV all=m
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/saa7146/saa7146/Kconfig ***
-#-
-VIDEO_HEXIUM_GEMINI all=m
-VIDEO_HEXIUM_ORION all=m
-VIDEO_MXB all=m sparc=n
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/saa7146/ttpci/Kconfig ***
-#-
-DVB_BUDGET_CORE all=m
-DVB_BUDGET all=m sparc=n
-DVB_BUDGET_CI all=m sparc=n
-DVB_BUDGET_AV all=m sparc=n
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/stkwebcam/Kconfig ***
-#-
-VIDEO_STKWEBCAM all=m
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/tm6000/Kconfig ***
-#-
-VIDEO_TM6000 all=m
-VIDEO_TM6000_ALSA all=m
-VIDEO_TM6000_DVB all=m
-
-#-
-#- *** FILE: drivers/staging/media/deprecated/zr364xx/Kconfig ***
-#-
-USB_ZR364XX all=m
-
 #-
 #- *** FILE: drivers/staging/media/ipu3/Kconfig ***
 #-
@@ -10677,11 +10678,6 @@ PI433 all=m
 #-
 QLGE all=m
 
-#-
-#- *** FILE: drivers/staging/r8188eu/Kconfig ***
-#-
-R8188EU all=m
-
 #-
 #- *** FILE: drivers/staging/rtl8192e/Kconfig ***
 #-
@@ -10855,6 +10851,7 @@ QORIQ_THERMAL arm64=m
 ROCKCHIP_THERMAL arm64=m
 ARMADA_THERMAL arm=m
 DA9062_THERMAL arm=m arm64=m
+#- file drivers/thermal/mediatek/Kconfig goes here
 AMLOGIC_THERMAL arm64=m
 #- file drivers/thermal/intel/Kconfig goes here
 #- file drivers/thermal/broadcom/Kconfig goes here
@@ -10967,10 +10964,12 @@ SERIAL_8250_ASPEED_VUART arm=m arm64=m
 SERIAL_8250_BOCA alpha=m i386=m
 SERIAL_8250_EXAR_ST16C554 alpha=m i386=m
 SERIAL_8250_HUB6 alpha=m i386=m
+SERIAL_8250_PCI1XXXX all=m
 SERIAL_8250_SHARE_IRQ all=y
 SERIAL_8250_DETECT_IRQ all=y
 SERIAL_8250_RSA all=y
 SERIAL_8250_BCM2835AUX arm=y
+SERIAL_8250_DFL all=m
 SERIAL_8250_DW all=m
 SERIAL_8250_EM arm=m
 SERIAL_8250_RT288X all=y
@@ -10987,7 +10986,6 @@ SERIAL_OF_PLATFORM arm=m arm64=m ppc=m ppc64=m
 SERIAL_AMBA_PL010 arm=m arm64=m
 SERIAL_AMBA_PL011 arm=y arm64=y
 SERIAL_AMBA_PL011_CONSOLE arm=y arm64=y
-SERIAL_EARLYCON_ARM_SEMIHOST arm=y arm64=y
 SERIAL_KGDB_NMI all=n
 SERIAL_MESON arm64=y
 SERIAL_MESON_CONSOLE arm64=y
@@ -11556,6 +11554,7 @@ TYPEC_NVIDIA_ALTMODE all=m
 #- *** FILE: drivers/usb/typec/mux/Kconfig ***
 #-
 TYPEC_MUX_FSA4480 all=m
+TYPEC_MUX_GPIO_SBU all=m
 TYPEC_MUX_PI3USB30532 all=m
 TYPEC_MUX_INTEL_PMC all=m
 
@@ -11605,8 +11604,10 @@ VDPA_SIM_BLOCK all=m
 VDPA_USER all=m
 IFCVF all=m
 MLX5_VDPA_NET all=m
+MLX5_VDPA_STEERING_DEBUG all=n
 VP_VDPA all=m
 ALIBABA_ENI_VDPA all=m
+SNET_VDPA all=m
 
 #-
 #- *** FILE: drivers/vfio/Kconfig ***
@@ -11701,6 +11702,7 @@ LCD_HX8357 all=m
 LCD_OTM3225A all=m
 BACKLIGHT_CLASS_DEVICE all=y
 BACKLIGHT_KTD253 all=m
+BACKLIGHT_KTZ8866 all=m
 BACKLIGHT_LM3533 all=m
 BACKLIGHT_CARILLO_RANCH i386=m x86_64=m
 BACKLIGHT_PWM all=m
@@ -11850,8 +11852,6 @@ FB_CARMINE_DRAM_EVAL all=y
 CARMINE_DRAM_CUSTOM all=n
 #- file drivers/video/fbdev/geode/Kconfig goes here
 FB_FSL_DIU ppc=m
-FB_TMIO all=m
-FB_TMIO_ACCELL all=y
 FB_SM501 all=m
 FB_SMSCUFX all=m
 FB_UDL all=m
@@ -11964,7 +11964,6 @@ W1_CON all=y
 W1_MASTER_MATROX all=m sparc=n
 W1_MASTER_DS2490 all=m
 W1_MASTER_DS2482 all=m
-W1_MASTER_DS1WM all=m
 W1_MASTER_GPIO all=m
 HDQ_MASTER_OMAP all=m
 W1_MASTER_SGI all=m
@@ -12385,6 +12384,8 @@ EROFS_FS_SECURITY all=y
 EROFS_FS_ZIP all=y
 EROFS_FS_ZIP_LZMA all=y
 EROFS_FS_ONDEMAND all=y
+EROFS_FS_PCPU_KTHREAD all=y
+EROFS_FS_PCPU_KTHREAD_HIPRI all=y
 
 #-
 #- *** FILE: fs/exfat/Kconfig ***
@@ -12835,7 +12836,6 @@ VBOXSF_FS all=m
 #- *** FILE: fs/verity/Kconfig ***
 #-
 FS_VERITY all=y
-FS_VERITY_DEBUG all=n
 FS_VERITY_BUILTIN_SIGNATURES all=y
 
 #-
@@ -12952,6 +12952,7 @@ RELAY all=y
 BLK_DEV_INITRD all=y
 #- file usr/Kconfig goes here
 BOOT_CONFIG all=y
+BOOT_CONFIG_FORCE all=n
 BOOT_CONFIG_EMBED all=n
 INITRAMFS_PRESERVE_MTIME all=y
 CC_OPTIMIZE_FOR_PERFORMANCE all=y
@@ -13128,6 +13129,7 @@ RCU_TORTURE_TEST all=m
 RCU_REF_SCALE_TEST all=m
 RCU_CPU_STALL_TIMEOUT all=60
 RCU_EXP_CPU_STALL_TIMEOUT all=0
+RCU_CPU_STALL_CPUTIME all=n
 RCU_TRACE all=n
 RCU_EQS_DEBUG all=n
 
@@ -13300,7 +13302,6 @@ DEBUG_FS_ALLOW_NONE all=n
 #- file mm/Kconfig.debug goes here
 DEBUG_OBJECTS all=n
 SHRINKER_DEBUG all=n
-DEBUG_KMEMLEAK all=n
 DEBUG_STACK_USAGE all=n
 SCHED_STACK_END_CHECK all=y
 DEBUG_VM all=n
@@ -13346,6 +13347,7 @@ LOCK_TORTURE_TEST all=m
 WW_MUTEX_SELFTEST all=m
 SCF_TORTURE_TEST all=m
 CSD_LOCK_WAIT_DEBUG all=n
+NMI_CHECK_CPU all=y
 DEBUG_IRQFLAGS all=n
 STACKTRACE arm=y arm64=y
 WARN_ALL_UNSEEDED_RANDOM all=n
@@ -13379,6 +13381,7 @@ FAULT_INJECTION all=n
 ARCH_HAS_KCOV all=y
 KCOV all=n
 RUNTIME_TESTING_MENU all=y
+TEST_DHRY all=m
 LKDTM all=m
 TEST_LIST_SORT all=n
 TEST_MIN_HEAP all=m
@@ -13429,7 +13432,6 @@ TEST_FPU all=m
 TEST_CLOCKSOURCE_WATCHDOG=m
 MEMTEST all=y
 HYPERV_TESTING all=y
-#- file Documentation/Kconfig goes here
 
 #-
 #- *** FILE: lib/Kconfig.kasan ***
@@ -13541,6 +13543,7 @@ ZBUD all=y
 Z3FOLD all=m
 ZSMALLOC all=y
 ZSMALLOC_STAT all=y
+ZSMALLOC_CHAIN_SIZE all="8"
 SLAB all=n
 SLUB all=y
 SLOB all=n
@@ -13609,6 +13612,7 @@ DEBUG_PAGE_REF all=n
 DEBUG_RODATA_TEST all=n
 DEBUG_WX all=y
 PTDUMP_DEBUGFS all=n
+DEBUG_KMEMLEAK all=n
 
 #-
 #- *** FILE: mm/damon/Kconfig ***
@@ -14071,7 +14075,6 @@ IP_NF_TARGET_MASQUERADE all=m
 IP_NF_TARGET_NETMAP all=m
 IP_NF_TARGET_REDIRECT all=m
 IP_NF_MANGLE all=m
-IP_NF_TARGET_CLUSTERIP all=m
 IP_NF_TARGET_ECN all=m
 IP_NF_TARGET_TTL all=m
 IP_NF_RAW all=m
@@ -14515,6 +14518,7 @@ RFKILL_GPIO all=m
 AF_RXRPC all=m
 AF_RXRPC_IPV6 all=y
 AF_RXRPC_INJECT_LOSS all=n
+AF_RXRPC_INJECT_RX_DELAY all=y
 AF_RXRPC_DEBUG all=n
 RXKAD all=y
 RXPERF all=m
@@ -14524,10 +14528,8 @@ RXPERF all=m
 #-
 NET_SCHED all=y
 #- Queueing/Scheduling
-NET_SCH_CBQ all=m
 NET_SCH_HTB all=m
 NET_SCH_HFSC all=m
-NET_SCH_ATM all=m
 NET_SCH_PRIO all=m
 NET_SCH_MULTIQ all=m
 NET_SCH_RED all=m
@@ -14539,7 +14541,6 @@ NET_SCH_CBS all=m
 NET_SCH_ETF all=m
 NET_SCH_TAPRIO all=m
 NET_SCH_GRED all=m
-NET_SCH_DSMARK all=m
 NET_SCH_NETEM all=m
 NET_SCH_DRR all=m
 NET_SCH_MQPRIO all=m
@@ -14571,8 +14572,6 @@ NET_CLS_FW all=m
 NET_CLS_U32 all=m
 CLS_U32_PERF all=y
 CLS_U32_MARK all=y
-NET_CLS_RSVP all=m
-NET_CLS_RSVP6 all=m
 NET_CLS_FLOW all=m
 NET_CLS_CGROUP all=y
 NET_CLS_BPF all=m
@@ -14638,7 +14637,10 @@ SMC_DIAG all=m
 SUNRPC all=m
 SUNRPC_GSS all=m
 RPCSEC_GSS_KRB5 all=m
-SUNRPC_DISABLE_INSECURE_ENCTYPES all=y
+RPCSEC_GSS_KRB5_ENCTYPES_DES all=n
+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_XPRT_RDMA all=m
 
@@ -15313,9 +15315,6 @@ SND_SOC_MIKROE_PROTO arm=m arm64=m
 #-
 SND_BCM2835_SOC_I2S arm=m
 SND_BCM63XX_I2S_WHISTLER all=m
-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
 
 #-
 #- *** FILE: sound/soc/codecs/Kconfig ***
@@ -15342,6 +15341,7 @@ SND_SOC_AK5386 all=m
 SND_SOC_AK5558 all=m
 SND_SOC_ALC5623 all=m
 SND_SOC_AW8738 all=m
+SND_SOC_AW88395 all=m
 SND_SOC_BD28623 all=m
 SND_SOC_BT_SCO all=m
 SND_SOC_CPCAP arm=m arm64=m
@@ -15356,6 +15356,7 @@ SND_SOC_CS35L41_I2C all=m
 SND_SOC_CS35L45_SPI all=m
 SND_SOC_CS35L45_I2C all=m
 SND_SOC_CS42L42 all=m
+SND_SOC_CS42L42_SDW all=m
 SND_SOC_CS42L51 all=m
 SND_SOC_CS42L51_I2C all=m
 SND_SOC_CS42L52 all=m
@@ -15387,6 +15388,7 @@ SND_SOC_GTM601 all=m
 SND_SOC_HDAC_HDMI all=m
 SND_SOC_HDA arm=m arm64=m
 SND_SOC_ICS43432 all=m
+SND_SOC_IDT821034 all=m
 SND_SOC_INNO_RK3036 all=m
 SND_SOC_MAX98088 all=m
 SND_SOC_MAX98095 all=m
@@ -15418,6 +15420,7 @@ SND_SOC_PCM3168A_SPI all=m
 SND_SOC_PCM5102A all=m
 SND_SOC_PCM512x_I2C all=m
 SND_SOC_PCM512x_SPI all=m
+SND_SOC_PEB2466 all=m
 SND_SOC_RK3328 all=m
 SND_SOC_RK817 arm=m arm64=m
 SND_SOC_RT1308_SDW all=m
@@ -15434,12 +15437,14 @@ SND_SOC_RT5682_SDW all=m
 SND_SOC_RT700_SDW all=m
 SND_SOC_RT711_SDW all=m
 SND_SOC_RT711_SDCA_SDW all=m
+SND_SOC_RT712_SDCA_SDW all=m
 SND_SOC_RT715_SDW all=m
 SND_SOC_RT715_SDCA_SDW all=m
 SND_SOC_RT9120 all=m
 SND_SOC_SGTL5000 all=m
 SND_SOC_SIMPLE_AMPLIFIER all=m
 SND_SOC_SIMPLE_MUX all=m
+SND_SOC_SMA1303 all=m
 SND_SOC_SPDIF all=m
 SND_SOC_SRC4XXX_I2C all=m
 SND_SOC_SSM2305 all=m
@@ -15855,3 +15860,74 @@ RD_XZ all=y
 RD_LZO all=y
 RD_LZ4 all=y
 RD_ZSTD all=y
+
+#-
+#- *** PROBABLY REMOVED OPTIONS ***
+#-
+DRM_I810 i386=m x86_64=m
+DRM_MGA all=m
+DRM_R128 all=m
+DRM_SAVAGE all=m
+DRM_SIS all=m
+DRM_TDFX all=m
+DRM_VIA all=m
+FB_TMIO all=m
+FB_TMIO_ACCELL all=y
+FS_VERITY_DEBUG all=n
+GOOGLE_COREBOOT_TABLE_ACPI all=m
+GPIO_UCB1400 all=m
+HABANA_AI all=m
+HTC_PASIC3 all=m
+IP_NF_TARGET_CLUSTERIP all=m
+MFD_ASIC3 arm=n
+MFD_INTEL_M10_BMC all=m
+MFD_T7L66XB arm=n
+MFD_TC6387XB arm=n
+MFD_TC6393XB arm=n
+NET_CLS_RSVP all=m
+NET_CLS_RSVP6 all=m
+NET_SCH_ATM all=m
+NET_SCH_CBQ all=m
+NET_SCH_DSMARK all=m
+NOUVEAU_LEGACY_CTX_SUPPORT all=y
+PARIDE all=m
+PARIDE_ATEN all=m
+PARIDE_BPCK all=m
+PARIDE_BPCK6 arm=n i386=m ppc=n
+PARIDE_COMM all=m
+PARIDE_DSTR all=m
+PARIDE_EPAT all=m
+PARIDE_EPATC8 all=y
+PARIDE_EPIA all=m
+PARIDE_FIT2 all=m
+PARIDE_FIT3 all=m
+PARIDE_FRIQ all=m
+PARIDE_FRPW all=m
+PARIDE_KBIC all=m
+PARIDE_KTTI all=m
+PARIDE_ON20 all=m
+PARIDE_ON26 all=m
+PARIDE_PCD all=m
+PARIDE_PD all=m
+PARIDE_PF all=m
+PARIDE_PG all=m
+PARIDE_PT all=m
+PARPORT_AX88796 all=m
+PDA_POWER all=m
+R8188EU all=m
+RTC_DRV_V3020 all=m
+SERIAL_EARLYCON_ARM_SEMIHOST arm=y arm64=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
+SUNRPC_DISABLE_INSECURE_ENCTYPES all=y
+TOUCHSCREEN_UCB1400 all=m sparc=n
+UCB1400_CORE all=m
+USB_ZR364XX all=m
+VIDEO_CPIA2 all=m
+VIDEO_MEYE i386=m x86_64=m
+VIDEO_STKWEBCAM all=m
+VIDEO_TM6000 all=m
+VIDEO_TM6000_ALSA all=m
+VIDEO_TM6000_DVB all=m
+W1_MASTER_DS1WM all=m
diff --git a/kernel-pom-ng-IPV4OPTSSTRIP.patch b/kernel-pom-ng-IPV4OPTSSTRIP.patch
index ae696e13..0e0adca8 100644
--- a/kernel-pom-ng-IPV4OPTSSTRIP.patch
+++ b/kernel-pom-ng-IPV4OPTSSTRIP.patch
@@ -20,9 +20,8 @@ diff -ur linux-5.9/net/ipv4/netfilter.org/Kconfig linux-5.9/net/ipv4/netfilter/K
 diff -ur linux-5.9/net/ipv4/netfilter.org/Makefile linux-5.9/net/ipv4/netfilter/Makefile
 --- linux-5.9/net/ipv4/netfilter.org/Makefile	2020-10-11 23:15:50.000000000 +0200
 +++ linux-5.9/net/ipv4/netfilter/Makefile	2020-11-03 13:07:22.874511004 +0100
-@@ -48,6 +48,7 @@
+@@ -48,5 +48,6 @@
  # targets
- obj-$(CONFIG_IP_NF_TARGET_CLUSTERIP) += ipt_CLUSTERIP.o
  obj-$(CONFIG_IP_NF_TARGET_ECN) += ipt_ECN.o
 +obj-$(CONFIG_IP_NF_TARGET_IPV4OPTSSTRIP) += ipt_IPV4OPTSSTRIP.o
  obj-$(CONFIG_IP_NF_TARGET_REJECT) += ipt_REJECT.o
diff --git a/update-source.sh b/update-source.sh
index 88ab5189..5d5235b0 100755
--- a/update-source.sh
+++ b/update-source.sh
@@ -2,7 +2,7 @@
 set -xe
 
 BRANCH=aufs6.2
-#BRANCH=aufs6.x-rcN
+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/5db017eb132180a8a6fb3f255876e776cb38b22b




More information about the pld-cvs-commit mailing list