diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-base.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-base.patch index a84115b6..a328c2ab 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-base.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-base.patch @@ -1,8 +1,8 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 base patch +aufs6.6.54 base patch diff --git a/MAINTAINERS b/MAINTAINERS -index dd5de540ec0b..1b495555a80c 100644 +index ae4c0cec5073..2b5edd2836a7 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3334,6 +3334,19 @@ F: include/uapi/linux/audit.h @@ -26,10 +26,10 @@ index dd5de540ec0b..1b495555a80c 100644 M: Greg Kroah-Hartman R: Dave Ertman diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index 9f2d412fc560..1fefc6a8d049 100644 +index 552f56a84a7e..ad953bc6d08a 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, +@@ -643,6 +643,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, goto done; } @@ -55,10 +55,10 @@ index 9f2d412fc560..1fefc6a8d049 100644 static ssize_t loop_attr_show(struct device *dev, char *page, diff --git a/fs/dcache.c b/fs/dcache.c -index 25ac74d30bff..6c930ceed526 100644 +index 4030c010a768..e2877ac9a1e6 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1345,7 +1345,7 @@ enum d_walk_ret { +@@ -1350,7 +1350,7 @@ enum d_walk_ret { * * The @enter() callbacks are called with d_lock held. */ @@ -68,7 +68,7 @@ index 25ac74d30bff..6c930ceed526 100644 { struct dentry *this_parent; diff --git a/fs/fcntl.c b/fs/fcntl.c -index e871009f6c88..d62e114c1b1a 100644 +index 1484f062ee65..1e44fc9b0f70 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -34,7 +34,7 @@ @@ -90,7 +90,7 @@ index e871009f6c88..d62e114c1b1a 100644 return error; diff --git a/fs/namespace.c b/fs/namespace.c -index e157efc54023..6c57487f126b 100644 +index b4385e2413d5..c9347fc5e14a 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -872,6 +872,12 @@ static inline int check_mnt(struct mount *mnt) @@ -122,10 +122,10 @@ index d983d375ff11..7216ef993b5f 100644 if (unlikely(!out->f_op->splice_write)) return warn_unsupported(out, "write"); diff --git a/include/linux/fs.h b/include/linux/fs.h -index 4a40823c3c67..a46e516bfc32 100644 +index 6c3d86532e3f..c572420129a5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1099,6 +1099,7 @@ extern void fasync_free(struct fasync_struct *); +@@ -1101,6 +1101,7 @@ extern void fasync_free(struct fasync_struct *); /* can be called from interrupts */ extern void kill_fasync(struct fasync_struct **, int, int); @@ -133,7 +133,7 @@ index 4a40823c3c67..a46e516bfc32 100644 extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force); extern int f_setown(struct file *filp, int who, int force); extern void f_delown(struct file *filp); -@@ -1872,6 +1873,7 @@ struct file_operations { +@@ -1934,6 +1935,7 @@ struct file_operations { int (*lock) (struct file *, int, struct file_lock *); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); int (*check_flags)(int); @@ -187,7 +187,7 @@ index 6c461573434d..f08de3775987 100644 + loff_t *ppos, size_t len, unsigned int flags); #endif diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c -index 151bd3de5936..2223ee909c10 100644 +index 3468d8230e5f..64b9aedbe941 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -218,7 +218,7 @@ unsigned long max_lock_class_idx; diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-kbuild.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-kbuild.patch index d6a2c9d1..936f8771 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-kbuild.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-kbuild.patch @@ -1,5 +1,5 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 kbuild patch +aufs6.6.54 kbuild patch diff --git a/fs/Kconfig b/fs/Kconfig index aa7e03cc1941..bf780967b6c4 100644 diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-loopback.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-loopback.patch index d973e95f..70d74d8e 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-loopback.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-loopback.patch @@ -1,8 +1,8 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 loopback patch +aufs6.6.54 loopback patch diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index 1fefc6a8d049..86f1f66305d2 100644 +index ad953bc6d08a..799119d6b95a 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -54,7 +54,7 @@ struct loop_device { @@ -14,7 +14,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 struct block_device *lo_device; gfp_t old_gfp_mask; -@@ -510,6 +510,15 @@ static inline void loop_update_dio(struct loop_device *lo) +@@ -508,6 +508,15 @@ static inline void loop_update_dio(struct loop_device *lo) lo->use_dio); } @@ -30,7 +30,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 static void loop_reread_partitions(struct loop_device *lo) { int rc; -@@ -567,6 +576,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, +@@ -565,6 +574,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, { struct file *file = fget(arg); struct file *old_file; @@ -38,7 +38,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 int error; bool partscan; bool is_loop; -@@ -590,11 +600,19 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, +@@ -588,11 +598,19 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, if (!(lo->lo_flags & LO_FLAGS_READ_ONLY)) goto out_err; @@ -58,7 +58,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 error = -EINVAL; -@@ -607,6 +625,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, +@@ -605,6 +623,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, blk_mq_freeze_queue(lo->lo_queue); mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask); lo->lo_backing_file = file; @@ -66,7 +66,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 lo->old_gfp_mask = mapping_gfp_mask(file->f_mapping); mapping_set_gfp_mask(file->f_mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS)); -@@ -629,6 +648,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, +@@ -627,6 +646,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, * dependency. */ fput(old_file); @@ -75,7 +75,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 if (partscan) loop_reread_partitions(lo); -@@ -642,6 +663,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, +@@ -640,6 +661,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, loop_global_unlock(lo, is_loop); out_putf: fput(file); @@ -84,7 +84,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 goto done; } -@@ -1013,6 +1036,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, +@@ -1011,6 +1034,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, const struct loop_config *config) { struct file *file = fget(config->fd); @@ -92,7 +92,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 struct inode *inode; struct address_space *mapping; int error; -@@ -1028,6 +1052,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, +@@ -1026,6 +1050,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, /* This is safe, since we have a reference from open(). */ __module_get(THIS_MODULE); @@ -106,7 +106,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 /* * If we don't hold exclusive handle for the device, upgrade to it * here to avoid changing device under exclusive owner. -@@ -1091,6 +1122,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, +@@ -1089,6 +1120,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, lo->use_dio = lo->lo_flags & LO_FLAGS_DIRECT_IO; lo->lo_device = bdev; lo->lo_backing_file = file; @@ -114,7 +114,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 lo->old_gfp_mask = mapping_gfp_mask(mapping); mapping_set_gfp_mask(mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS)); -@@ -1146,6 +1178,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, +@@ -1144,6 +1176,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, bd_abort_claiming(bdev, loop_configure); out_putf: fput(file); @@ -123,7 +123,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 /* This is safe: open() is still holding a reference. */ module_put(THIS_MODULE); return error; -@@ -1154,6 +1188,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, +@@ -1152,6 +1186,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode, static void __loop_clr_fd(struct loop_device *lo, bool release) { struct file *filp; @@ -131,7 +131,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 gfp_t gfp = lo->old_gfp_mask; if (test_bit(QUEUE_FLAG_WC, &lo->lo_queue->queue_flags)) -@@ -1170,6 +1205,7 @@ static void __loop_clr_fd(struct loop_device *lo, bool release) +@@ -1168,6 +1203,7 @@ static void __loop_clr_fd(struct loop_device *lo, bool release) spin_lock_irq(&lo->lo_lock); filp = lo->lo_backing_file; lo->lo_backing_file = NULL; @@ -139,7 +139,7 @@ index 1fefc6a8d049..86f1f66305d2 100644 spin_unlock_irq(&lo->lo_lock); lo->lo_device = NULL; -@@ -1232,6 +1268,8 @@ static void __loop_clr_fd(struct loop_device *lo, bool release) +@@ -1230,6 +1266,8 @@ static void __loop_clr_fd(struct loop_device *lo, bool release) * fput can take open_mutex which is usually taken before lo_mutex. */ fput(filp); @@ -224,10 +224,10 @@ index 07d3412e950f..c4a00f620e57 100644 /* ---------------------------------------------------------------------- */ diff --git a/include/linux/fs.h b/include/linux/fs.h -index a46e516bfc32..a0d040eef83d 100644 +index c572420129a5..5b434c0e85ab 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -2027,6 +2027,11 @@ struct super_operations { +@@ -2089,6 +2089,11 @@ struct super_operations { long (*free_cached_objects)(struct super_block *, struct shrink_control *); void (*shutdown)(struct super_block *sb); diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-mmap.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-mmap.patch index b8c8f650..ea35227a 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-mmap.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-mmap.patch @@ -1,8 +1,8 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 mmap patch +aufs6.6.54 mmap patch diff --git a/fs/proc/base.c b/fs/proc/base.c -index ffd54617c354..29ec720c8038 100644 +index 6e61d93ffa55..cf8cc0f18b36 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) @@ -31,7 +31,7 @@ index 4d3493579458..42edd9a42c78 100644 ino = inode->i_ino; } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index 3dd5be96691b..40d9d970b308 100644 +index 59571737e167..fc9b9f4aa75f 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -271,7 +271,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma) @@ -46,7 +46,7 @@ index 3dd5be96691b..40d9d970b308 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1943,7 +1946,7 @@ static int show_numa_map(struct seq_file *m, void *v) +@@ -1947,7 +1950,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; @@ -72,10 +72,10 @@ index 7cebd397cc26..81be1641c7fb 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 bf5d0b1b16f4..94b956eff452 100644 +index b6a4d6471b4a..00c7e351d2e8 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h -@@ -2409,6 +2409,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, +@@ -2415,6 +2415,43 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, static inline struct vm_area_struct *vma_lookup(struct mm_struct *mm, unsigned long addr); @@ -120,7 +120,7 @@ index bf5d0b1b16f4..94b956eff452 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 36c5b43999e6..ce93e97f76a6 100644 +index 43c19d85dfe7..c6bdd132b7ff 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -524,6 +524,9 @@ struct vm_region { @@ -133,7 +133,7 @@ index 36c5b43999e6..ce93e97f76a6 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 -@@ -637,6 +640,9 @@ struct vm_area_struct { +@@ -664,6 +667,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). */ @@ -166,10 +166,10 @@ index ec65984e2ade..d59461647ccd 100644 obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o +obj-y += prfile.o diff --git a/mm/filemap.c b/mm/filemap.c -index f0a15ce1bd1b..a5eba9bbe416 100644 +index e6c112f3a211..4d794ca8b6d2 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -3626,7 +3626,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) +@@ -3663,7 +3663,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); @@ -179,7 +179,7 @@ index f0a15ce1bd1b..a5eba9bbe416 100644 if (folio->mapping != mapping) { folio_unlock(folio); diff --git a/mm/mmap.c b/mm/mmap.c -index 9e018d8dd7d6..047bd4a0ced8 100644 +index 6530e9cac458..3a696f12c0f6 100644 --- a/mm/mmap.c +++ b/mm/mmap.c @@ -140,7 +140,7 @@ static void remove_vma(struct vm_area_struct *vma, bool unreachable) @@ -200,7 +200,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 } if (vp->remove->anon_vma) anon_vma_merge(vp->vma, vp->remove); -@@ -2384,7 +2384,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, +@@ -2392,7 +2392,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma, goto out_free_mpol; if (new->vm_file) @@ -209,7 +209,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2801,7 +2801,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, +@@ -2809,7 +2809,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, * and cause general protection fault * ultimately. */ @@ -218,7 +218,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 vm_area_free(vma); vma = merge; /* Update vm_flags to pick up the change. */ -@@ -2896,7 +2896,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, +@@ -2904,7 +2904,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr, if (file || vma->vm_file) { unmap_and_free_vma: @@ -227,7 +227,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 vma->vm_file = NULL; vma_iter_set(&vmi, vma->vm_end); -@@ -2958,6 +2958,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, +@@ -2966,6 +2966,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, unsigned long populate = 0; unsigned long ret = -EINVAL; struct file *file; @@ -237,7 +237,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n", current->comm, current->pid); -@@ -3016,10 +3019,34 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, +@@ -3024,6 +3027,32 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, if (vma->vm_flags & VM_LOCKED) flags |= MAP_LOCKED; @@ -245,16 +245,19 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 + vma_get_file(vma); + file = vma->vm_file; + prfile = vma->vm_prfile; -+ ret = do_mmap(vma->vm_file, start, size, -+ prot, flags, /*vm_flags*/0, pgoff, &populate, NULL); -+ if (!IS_ERR_VALUE(ret) && file && prfile) { -+ struct vm_area_struct *new_vma; ++ ret = security_mmap_file(vma->vm_file, prot, flags); ++ if (!ret) { ++ ret = do_mmap(vma->vm_file, start, size, ++ prot, flags, /*vm_flags*/0, pgoff, &populate, NULL); ++ if (!IS_ERR_VALUE(ret) && file && prfile) { ++ struct vm_area_struct *new_vma; + -+ new_vma = find_vma(mm, ret); -+ if (!new_vma->vm_prfile) -+ new_vma->vm_prfile = prfile; -+ if (prfile) -+ get_file(prfile); ++ new_vma = find_vma(mm, ret); ++ if (!new_vma->vm_prfile) ++ new_vma->vm_prfile = prfile; ++ if (prfile) ++ get_file(prfile); ++ } + } + /* + * two fput()s instead of vma_fput(vma), @@ -265,14 +268,17 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 + fput(prfile); +#else file = get_file(vma->vm_file); - ret = do_mmap(vma->vm_file, start, size, + ret = security_mmap_file(vma->vm_file, prot, flags); + if (ret) +@@ -3032,6 +3061,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, prot, flags, 0, pgoff, &populate, NULL); + out_fput: fput(file); +#endif /* CONFIG_AUFS_FS */ out: mmap_write_unlock(mm); if (populate) -@@ -3370,7 +3397,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -3382,7 +3412,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) @@ -281,7 +287,7 @@ index 9e018d8dd7d6..047bd4a0ced8 100644 if (new_vma->vm_ops && new_vma->vm_ops->open) new_vma->vm_ops->open(new_vma); if (vma_link(mm, new_vma)) -@@ -3384,7 +3411,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -3396,7 +3426,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, new_vma->vm_ops->close(new_vma); if (new_vma->vm_file) diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-standalone.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-standalone.patch index 6e286e23..dec98d35 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-standalone.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6-standalone.patch @@ -1,11 +1,11 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 standalone patch +aufs6.6.54 standalone patch diff --git a/fs/dcache.c b/fs/dcache.c -index 6c930ceed526..576ad162cdec 100644 +index e2877ac9a1e6..f20b4ac29a1d 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1450,6 +1450,7 @@ void d_walk(struct dentry *parent, void *data, +@@ -1455,6 +1455,7 @@ void d_walk(struct dentry *parent, void *data, seq = 1; goto again; } @@ -13,7 +13,7 @@ index 6c930ceed526..576ad162cdec 100644 struct check_mount { struct vfsmount *mnt; -@@ -3051,6 +3052,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2) +@@ -3058,6 +3059,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2) write_sequnlock(&rename_lock); } @@ -22,7 +22,7 @@ index 6c930ceed526..576ad162cdec 100644 /** * d_ancestor - search for an ancestor diff --git a/fs/exec.c b/fs/exec.c -index 6518e33ea813..b67efac6a1ad 100644 +index 1cbbef281f8c..d4f50eb57e67 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -112,6 +112,7 @@ bool path_noexec(const struct path *path) @@ -34,7 +34,7 @@ index 6518e33ea813..b67efac6a1ad 100644 #ifdef CONFIG_USELIB /* diff --git a/fs/fcntl.c b/fs/fcntl.c -index d62e114c1b1a..ceef001775bd 100644 +index 1e44fc9b0f70..f5dd3c8b414e 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -87,6 +87,7 @@ int setfl(int fd, struct file * filp, unsigned int arg) @@ -43,8 +43,8 @@ index d62e114c1b1a..ceef001775bd 100644 } +EXPORT_SYMBOL_GPL(setfl); - static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, - int force) + void __f_setown(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 ee21b3da9d08..c45ac36795dd 100644 --- a/fs/file_table.c @@ -58,7 +58,7 @@ index ee21b3da9d08..c45ac36795dd 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 6c57487f126b..16be9ac1c734 100644 +index c9347fc5e14a..d47e357d65de 100644 --- a/fs/namespace.c +++ b/fs/namespace.c @@ -466,6 +466,7 @@ void __mnt_drop_write(struct vfsmount *mnt) @@ -98,7 +98,7 @@ 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 98f6601fbac6..8624e4ffa15b 100644 +index 59db720693f9..523a714839aa 100644 --- a/fs/open.c +++ b/fs/open.c @@ -67,6 +67,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry, @@ -142,7 +142,7 @@ index 7216ef993b5f..7ce1f1bc4268 100644 /* * Indicate to the caller that there was a premature EOF when reading from the diff --git a/fs/xattr.c b/fs/xattr.c -index efd4736bc94b..ce1a2c39ab23 100644 +index c20046548f21..1d66796705fb 100644 --- a/fs/xattr.c +++ b/fs/xattr.c @@ -406,6 +406,7 @@ vfs_getxattr_alloc(struct mnt_idmap *idmap, struct dentry *dentry, @@ -154,7 +154,7 @@ index efd4736bc94b..ce1a2c39ab23 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 2223ee909c10..d0ac4fc69a31 100644 +index 64b9aedbe941..903a23230775 100644 --- a/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c @@ -239,6 +239,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock) @@ -166,16 +166,16 @@ index 2223ee909c10..d0ac4fc69a31 100644 #ifdef CONFIG_LOCK_STAT diff --git a/kernel/task_work.c b/kernel/task_work.c -index 95a7e1b7f1da..5053670775d3 100644 +index 2134ac8057a9..71150628e6b8 100644 --- a/kernel/task_work.c +++ b/kernel/task_work.c -@@ -183,3 +183,4 @@ void task_work_run(void) +@@ -207,3 +207,4 @@ void task_work_run(void) } while (work); } } +EXPORT_SYMBOL_GPL(task_work_run); diff --git a/security/security.c b/security/security.c -index 23b129d482a7..fca4c5707a1c 100644 +index b6144833c7a8..3b15e084ecc3 100644 --- a/security/security.c +++ b/security/security.c @@ -1750,6 +1750,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry) @@ -234,7 +234,7 @@ index 23b129d482a7..fca4c5707a1c 100644 /** * security_file_alloc() - Allocate and init a file's LSM blob -@@ -2854,6 +2861,7 @@ int security_file_truncate(struct file *file) +@@ -2872,6 +2879,7 @@ int security_file_truncate(struct file *file) { return call_int_hook(file_truncate, 0, file); } diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.4-20240624.patch b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.54-20241014.patch similarity index 98% rename from kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.4-20240624.patch rename to kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.54-20241014.patch index acc8157b..71e6bd85 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.4-20240624.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/aufs6.6.54-20241014.patch @@ -1,6 +1,6 @@ -diff -Naur null/Documentation/ABI/testing/debugfs-aufs linux-6.6.4/Documentation/ABI/testing/debugfs-aufs +diff -Naur null/Documentation/ABI/testing/debugfs-aufs linux-6.6.54/Documentation/ABI/testing/debugfs-aufs --- /dev/null -+++ linux-6.6.4/Documentation/ABI/testing/debugfs-aufs 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/ABI/testing/debugfs-aufs 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,55 @@ +What: /debug/aufs/si_/ +Date: March 2009 @@ -57,9 +57,9 @@ diff -Naur null/Documentation/ABI/testing/debugfs-aufs linux-6.6.4/Documentation + be created. + When the aufs mount option 'noxino' is specified, it + will be empty. About XINO files, see the aufs manual. -diff -Naur null/Documentation/ABI/testing/sysfs-aufs linux-6.6.4/Documentation/ABI/testing/sysfs-aufs +diff -Naur null/Documentation/ABI/testing/sysfs-aufs linux-6.6.54/Documentation/ABI/testing/sysfs-aufs --- /dev/null -+++ linux-6.6.4/Documentation/ABI/testing/sysfs-aufs 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/ABI/testing/sysfs-aufs 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,31 @@ +What: /sys/fs/aufs/si_/ +Date: March 2009 @@ -92,9 +92,9 @@ diff -Naur null/Documentation/ABI/testing/sysfs-aufs linux-6.6.4/Documentation/A + even if it is the default path. + When the aufs mount option 'noxino' is specified, it + will be empty. About XINO files, see the aufs manual. -diff -Naur null/Documentation/filesystems/aufs/design/01intro.txt linux-6.6.4/Documentation/filesystems/aufs/design/01intro.txt +diff -Naur null/Documentation/filesystems/aufs/design/01intro.txt linux-6.6.54/Documentation/filesystems/aufs/design/01intro.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/01intro.txt 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/01intro.txt 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,171 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -267,9 +267,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/01intro.txt linux-6.6.4/Do +Some people may think it is better to pass such work to user space +helper, instead of doing in kernel space. Actually I am still thinking +about it. But currently I have implemented it in kernel space. -diff -Naur null/Documentation/filesystems/aufs/design/02struct.txt linux-6.6.4/Documentation/filesystems/aufs/design/02struct.txt +diff -Naur null/Documentation/filesystems/aufs/design/02struct.txt linux-6.6.54/Documentation/filesystems/aufs/design/02struct.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/02struct.txt 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/02struct.txt 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,258 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -529,9 +529,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/02struct.txt linux-6.6.4/D +- etc. + +For this purpose, use "aumvdown" command in aufs-util.git. -diff -Naur null/Documentation/filesystems/aufs/design/03atomic_open.txt linux-6.6.4/Documentation/filesystems/aufs/design/03atomic_open.txt +diff -Naur null/Documentation/filesystems/aufs/design/03atomic_open.txt linux-6.6.54/Documentation/filesystems/aufs/design/03atomic_open.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/03atomic_open.txt 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/03atomic_open.txt 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,85 @@ + +# Copyright (C) 2015-2022 Junjiro R. Okajima @@ -618,9 +618,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/03atomic_open.txt linux-6. + ->atomic_open() are lost. in the ordinary case, the checks are + done by VFS:do_last(), lookup_open() and atomic_open(). some can + be implemented in aufs, but not all I am afraid. -diff -Naur null/Documentation/filesystems/aufs/design/03lookup.txt linux-6.6.4/Documentation/filesystems/aufs/design/03lookup.txt +diff -Naur null/Documentation/filesystems/aufs/design/03lookup.txt linux-6.6.54/Documentation/filesystems/aufs/design/03lookup.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/03lookup.txt 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/03lookup.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,113 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -735,9 +735,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/03lookup.txt linux-6.6.4/D + test, and skip the revalidation in step 4. It is useful and improves + aufs performance when system surely hide the aufs branches from user, + by over-mounting something (or another method). -diff -Naur null/Documentation/filesystems/aufs/design/04branch.txt linux-6.6.4/Documentation/filesystems/aufs/design/04branch.txt +diff -Naur null/Documentation/filesystems/aufs/design/04branch.txt linux-6.6.54/Documentation/filesystems/aufs/design/04branch.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/04branch.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/04branch.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,74 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -813,9 +813,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/04branch.txt linux-6.6.4/D + - a file on the branch is mmap-ed. + - a regular file on the branch is opened for write and there is no + same named entry on the upper branch. -diff -Naur null/Documentation/filesystems/aufs/design/05wbr_policy.txt linux-6.6.4/Documentation/filesystems/aufs/design/05wbr_policy.txt +diff -Naur null/Documentation/filesystems/aufs/design/05wbr_policy.txt linux-6.6.54/Documentation/filesystems/aufs/design/05wbr_policy.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/05wbr_policy.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/05wbr_policy.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,64 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -881,9 +881,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/05wbr_policy.txt linux-6.6 + where the source and the target exists and selects the higher + one. If the selected branch is readonly, then aufs follows the + copyup policy. -diff -Naur null/Documentation/filesystems/aufs/design/06dirren.dot linux-6.6.4/Documentation/filesystems/aufs/design/06dirren.dot +diff -Naur null/Documentation/filesystems/aufs/design/06dirren.dot linux-6.6.54/Documentation/filesystems/aufs/design/06dirren.dot --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/06dirren.dot 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/06dirren.dot 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,44 @@ + +// to view this graph, run dot(1) command in GRAPHVIZ. @@ -929,9 +929,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/06dirren.dot linux-6.6.4/D + +aufs_lookup -> whinfo [label="load/remove"]; +} -diff -Naur null/Documentation/filesystems/aufs/design/06dirren.txt linux-6.6.4/Documentation/filesystems/aufs/design/06dirren.txt +diff -Naur null/Documentation/filesystems/aufs/design/06dirren.txt linux-6.6.54/Documentation/filesystems/aufs/design/06dirren.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/06dirren.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/06dirren.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,102 @@ + +# Copyright (C) 2017-2022 Junjiro R. Okajima @@ -1035,9 +1035,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/06dirren.txt linux-6.6.4/D +contains two names, before- and after-rename, the name comparision in +UDBA handler may not work correctly. In this case, the behaviour will be +equivalen to udba=reval case. -diff -Naur null/Documentation/filesystems/aufs/design/06fhsm.txt linux-6.6.4/Documentation/filesystems/aufs/design/06fhsm.txt +diff -Naur null/Documentation/filesystems/aufs/design/06fhsm.txt linux-6.6.54/Documentation/filesystems/aufs/design/06fhsm.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/06fhsm.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/06fhsm.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,118 @@ + +# Copyright (C) 2011-2022 Junjiro R. Okajima @@ -1157,9 +1157,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/06fhsm.txt linux-6.6.4/Doc + +And of course, in every step, an error may happen. So the operation +should restore the original file state after an error happens. -diff -Naur null/Documentation/filesystems/aufs/design/06mmap.txt linux-6.6.4/Documentation/filesystems/aufs/design/06mmap.txt +diff -Naur null/Documentation/filesystems/aufs/design/06mmap.txt linux-6.6.54/Documentation/filesystems/aufs/design/06mmap.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/06mmap.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/06mmap.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,72 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -1233,9 +1233,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/06mmap.txt linux-6.6.4/Doc + equivalent to vm_prfile described above. + +I have to give up this "looks-smater" approach. -diff -Naur null/Documentation/filesystems/aufs/design/06xattr.txt linux-6.6.4/Documentation/filesystems/aufs/design/06xattr.txt +diff -Naur null/Documentation/filesystems/aufs/design/06xattr.txt linux-6.6.54/Documentation/filesystems/aufs/design/06xattr.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/06xattr.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/06xattr.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,94 @@ + +# Copyright (C) 2014-2022 Junjiro R. Okajima @@ -1331,9 +1331,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/06xattr.txt linux-6.6.4/Do +Some contradiction may happen I am afraid. +Do we need another attribute to stop copying XATTR? I am unsure. For +now, aufs implements the branch attributes to ignore the error. -diff -Naur null/Documentation/filesystems/aufs/design/07export.txt linux-6.6.4/Documentation/filesystems/aufs/design/07export.txt +diff -Naur null/Documentation/filesystems/aufs/design/07export.txt linux-6.6.54/Documentation/filesystems/aufs/design/07export.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/07export.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/07export.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,58 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -1393,9 +1393,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/07export.txt linux-6.6.4/D + convert it into ESTALE for NFSD. +- readdir(): call lockdep_on/off() because filldir in NFSD calls + lookup_one_len(), vfs_getattr(), encode_fh() and others. -diff -Naur null/Documentation/filesystems/aufs/design/08shwh.txt linux-6.6.4/Documentation/filesystems/aufs/design/08shwh.txt +diff -Naur null/Documentation/filesystems/aufs/design/08shwh.txt linux-6.6.54/Documentation/filesystems/aufs/design/08shwh.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/08shwh.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/08shwh.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,52 @@ + +# Copyright (C) 2005-2022 Junjiro R. Okajima @@ -1449,9 +1449,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/08shwh.txt linux-6.6.4/Doc + +This new squashfs archive can be stored on the boot device and the +initramfs will use it to replace the old one at the next boot. -diff -Naur null/Documentation/filesystems/aufs/design/10dynop.txt linux-6.6.4/Documentation/filesystems/aufs/design/10dynop.txt +diff -Naur null/Documentation/filesystems/aufs/design/10dynop.txt linux-6.6.54/Documentation/filesystems/aufs/design/10dynop.txt --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/design/10dynop.txt 2024-06-26 18:36:17.787174381 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/design/10dynop.txt 2024-10-14 10:37:56.017536666 +0300 @@ -0,0 +1,47 @@ + +# Copyright (C) 2010-2022 Junjiro R. Okajima @@ -1500,9 +1500,9 @@ diff -Naur null/Documentation/filesystems/aufs/design/10dynop.txt linux-6.6.4/Do +XIP (DAX) mainly. +Currently this approach is applied to address_space_operations for +regular files only. -diff -Naur null/Documentation/filesystems/aufs/README linux-6.6.4/Documentation/filesystems/aufs/README +diff -Naur null/Documentation/filesystems/aufs/README linux-6.6.54/Documentation/filesystems/aufs/README --- /dev/null -+++ linux-6.6.4/Documentation/filesystems/aufs/README 2024-06-26 18:36:17.786174394 +0300 ++++ linux-6.6.54/Documentation/filesystems/aufs/README 2024-10-14 10:37:56.016536679 +0300 @@ -0,0 +1,409 @@ + +Aufs6 -- advanced multi layered unification filesystem version 6.x @@ -1894,7 +1894,7 @@ diff -Naur null/Documentation/filesystems/aufs/README linux-6.6.4/Documentation/ +James Burry made a donation (2016/12). +Carsten Rose made a donation (2018/9). +Porteus Kiosk made a donation (2018/10). -+huronOS team: Enya Quetzalli made donations (2022/5, 2023/5 and 8). ++huronOS team: Enya Quetzalli made donations (2022/5, 2023/5, 8 and 2024/8). +Vasily Mikhaylichenko made a donation (2023/5 and 2024/5). + +Thank you very much. @@ -1913,9 +1913,9 @@ diff -Naur null/Documentation/filesystems/aufs/README linux-6.6.4/Documentation/ +# Local variables: ; +# mode: text; +# End: ; -diff -Naur null/fs/aufs/aufs.h linux-6.6.4/fs/aufs/aufs.h +diff -Naur null/fs/aufs/aufs.h linux-6.6.54/fs/aufs/aufs.h --- /dev/null -+++ linux-6.6.4/fs/aufs/aufs.h 2024-06-26 18:36:17.788174369 +0300 ++++ linux-6.6.54/fs/aufs/aufs.h 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,62 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -1979,9 +1979,9 @@ diff -Naur null/fs/aufs/aufs.h linux-6.6.4/fs/aufs/aufs.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_H__ */ -diff -Naur null/fs/aufs/branch.c linux-6.6.4/fs/aufs/branch.c +diff -Naur null/fs/aufs/branch.c linux-6.6.54/fs/aufs/branch.c --- /dev/null -+++ linux-6.6.4/fs/aufs/branch.c 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/branch.c 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,1427 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -3410,9 +3410,9 @@ diff -Naur null/fs/aufs/branch.c linux-6.6.4/fs/aufs/branch.c + + return err; +} -diff -Naur null/fs/aufs/branch.h linux-6.6.4/fs/aufs/branch.h +diff -Naur null/fs/aufs/branch.h linux-6.6.54/fs/aufs/branch.h --- /dev/null -+++ linux-6.6.4/fs/aufs/branch.h 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/branch.h 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,375 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -3789,9 +3789,9 @@ diff -Naur null/fs/aufs/branch.h linux-6.6.4/fs/aufs/branch.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_BRANCH_H__ */ -diff -Naur null/fs/aufs/conf.mk linux-6.6.4/fs/aufs/conf.mk +diff -Naur null/fs/aufs/conf.mk linux-6.6.54/fs/aufs/conf.mk --- /dev/null -+++ linux-6.6.4/fs/aufs/conf.mk 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/conf.mk 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,40 @@ +# SPDX-License-Identifier: GPL-2.0 + @@ -3833,9 +3833,9 @@ diff -Naur null/fs/aufs/conf.mk linux-6.6.4/fs/aufs/conf.mk +${obj}/sysfs.o: ${AuConfName} + +-include ${srctree}/${src}/conf_priv.mk -diff -Naur null/fs/aufs/cpup.c linux-6.6.4/fs/aufs/cpup.c +diff -Naur null/fs/aufs/cpup.c linux-6.6.54/fs/aufs/cpup.c --- /dev/null -+++ linux-6.6.4/fs/aufs/cpup.c 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/cpup.c 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,1459 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -5296,9 +5296,9 @@ diff -Naur null/fs/aufs/cpup.c linux-6.6.4/fs/aufs/cpup.c + dput(parent); + return err; +} -diff -Naur null/fs/aufs/cpup.h linux-6.6.4/fs/aufs/cpup.h +diff -Naur null/fs/aufs/cpup.h linux-6.6.54/fs/aufs/cpup.h --- /dev/null -+++ linux-6.6.4/fs/aufs/cpup.h 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/cpup.h 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,100 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -5400,9 +5400,9 @@ diff -Naur null/fs/aufs/cpup.h linux-6.6.4/fs/aufs/cpup.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_CPUP_H__ */ -diff -Naur null/fs/aufs/dbgaufs.c linux-6.6.4/fs/aufs/dbgaufs.c +diff -Naur null/fs/aufs/dbgaufs.c linux-6.6.54/fs/aufs/dbgaufs.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dbgaufs.c 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/dbgaufs.c 2024-10-14 10:37:56.019536641 +0300 @@ -0,0 +1,526 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -5930,9 +5930,9 @@ diff -Naur null/fs/aufs/dbgaufs.c linux-6.6.4/fs/aufs/dbgaufs.c + err = 0; + return err; +} -diff -Naur null/fs/aufs/dbgaufs.h linux-6.6.4/fs/aufs/dbgaufs.h +diff -Naur null/fs/aufs/dbgaufs.h linux-6.6.54/fs/aufs/dbgaufs.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dbgaufs.h 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/dbgaufs.h 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,53 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -5987,9 +5987,9 @@ diff -Naur null/fs/aufs/dbgaufs.h linux-6.6.4/fs/aufs/dbgaufs.h + +#endif /* __KERNEL__ */ +#endif /* __DBGAUFS_H__ */ -diff -Naur null/fs/aufs/dcsub.c linux-6.6.4/fs/aufs/dcsub.c +diff -Naur null/fs/aufs/dcsub.c linux-6.6.54/fs/aufs/dcsub.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dcsub.c 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/dcsub.c 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,225 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -6216,9 +6216,9 @@ diff -Naur null/fs/aufs/dcsub.c linux-6.6.4/fs/aufs/dcsub.c + + return path_is_under(path + 0, path + 1); +} -diff -Naur null/fs/aufs/dcsub.h linux-6.6.4/fs/aufs/dcsub.h +diff -Naur null/fs/aufs/dcsub.h linux-6.6.54/fs/aufs/dcsub.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dcsub.h 2024-06-26 18:36:17.789174356 +0300 ++++ linux-6.6.54/fs/aufs/dcsub.h 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,137 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -6357,9 +6357,9 @@ diff -Naur null/fs/aufs/dcsub.h linux-6.6.4/fs/aufs/dcsub.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DCSUB_H__ */ -diff -Naur null/fs/aufs/debug.c linux-6.6.4/fs/aufs/debug.c +diff -Naur null/fs/aufs/debug.c linux-6.6.54/fs/aufs/debug.c --- /dev/null -+++ linux-6.6.4/fs/aufs/debug.c 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/debug.c 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,448 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -6809,9 +6809,9 @@ diff -Naur null/fs/aufs/debug.c linux-6.6.4/fs/aufs/debug.c + + return 0; +} -diff -Naur null/fs/aufs/debug.h linux-6.6.4/fs/aufs/debug.h +diff -Naur null/fs/aufs/debug.h linux-6.6.54/fs/aufs/debug.h --- /dev/null -+++ linux-6.6.4/fs/aufs/debug.h 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/debug.h 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,226 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -7039,9 +7039,9 @@ diff -Naur null/fs/aufs/debug.h linux-6.6.4/fs/aufs/debug.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DEBUG_H__ */ -diff -Naur null/fs/aufs/dentry.c linux-6.6.4/fs/aufs/dentry.c +diff -Naur null/fs/aufs/dentry.c linux-6.6.54/fs/aufs/dentry.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dentry.c 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/dentry.c 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,1175 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -8218,9 +8218,9 @@ diff -Naur null/fs/aufs/dentry.c linux-6.6.4/fs/aufs/dentry.c +const struct dentry_operations aufs_dop_noreval = { + .d_release = aufs_d_release +}; -diff -Naur null/fs/aufs/dentry.h linux-6.6.4/fs/aufs/dentry.h +diff -Naur null/fs/aufs/dentry.h linux-6.6.54/fs/aufs/dentry.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dentry.h 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/dentry.h 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,270 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -8492,9 +8492,9 @@ diff -Naur null/fs/aufs/dentry.h linux-6.6.4/fs/aufs/dentry.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DENTRY_H__ */ -diff -Naur null/fs/aufs/dinfo.c linux-6.6.4/fs/aufs/dinfo.c +diff -Naur null/fs/aufs/dinfo.c linux-6.6.54/fs/aufs/dinfo.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dinfo.c 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/dinfo.c 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,555 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -9051,9 +9051,9 @@ diff -Naur null/fs/aufs/dinfo.c linux-6.6.4/fs/aufs/dinfo.c + return bindex; + return -1; +} -diff -Naur null/fs/aufs/dir.c linux-6.6.4/fs/aufs/dir.c +diff -Naur null/fs/aufs/dir.c linux-6.6.54/fs/aufs/dir.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dir.c 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/dir.c 2024-10-14 10:37:56.020536629 +0300 @@ -0,0 +1,765 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -9820,9 +9820,9 @@ diff -Naur null/fs/aufs/dir.c linux-6.6.4/fs/aufs/dir.c + .flush = aufs_flush_dir, + .fsync = aufs_fsync_dir +}; -diff -Naur null/fs/aufs/dir.h linux-6.6.4/fs/aufs/dir.h +diff -Naur null/fs/aufs/dir.h linux-6.6.54/fs/aufs/dir.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dir.h 2024-06-26 18:36:17.790174344 +0300 ++++ linux-6.6.54/fs/aufs/dir.h 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,134 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -9958,9 +9958,9 @@ diff -Naur null/fs/aufs/dir.h linux-6.6.4/fs/aufs/dir.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIR_H__ */ -diff -Naur null/fs/aufs/dirren.c linux-6.6.4/fs/aufs/dirren.c +diff -Naur null/fs/aufs/dirren.c linux-6.6.54/fs/aufs/dirren.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dirren.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/dirren.c 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,1315 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -11277,9 +11277,9 @@ diff -Naur null/fs/aufs/dirren.c linux-6.6.4/fs/aufs/dirren.c +out: + return err; +} -diff -Naur null/fs/aufs/dirren.h linux-6.6.4/fs/aufs/dirren.h +diff -Naur null/fs/aufs/dirren.h linux-6.6.54/fs/aufs/dirren.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dirren.h 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/dirren.h 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,140 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -11421,9 +11421,9 @@ diff -Naur null/fs/aufs/dirren.h linux-6.6.4/fs/aufs/dirren.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DIRREN_H__ */ -diff -Naur null/fs/aufs/dynop.c linux-6.6.4/fs/aufs/dynop.c +diff -Naur null/fs/aufs/dynop.c linux-6.6.54/fs/aufs/dynop.c --- /dev/null -+++ linux-6.6.4/fs/aufs/dynop.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/dynop.c 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,366 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -11791,9 +11791,9 @@ diff -Naur null/fs/aufs/dynop.c linux-6.6.4/fs/aufs/dynop.c + for (i = 0; i < AuDyLast; i++) + WARN_ON(!hlist_bl_empty(dynop + i)); +} -diff -Naur null/fs/aufs/dynop.h linux-6.6.4/fs/aufs/dynop.h +diff -Naur null/fs/aufs/dynop.h linux-6.6.54/fs/aufs/dynop.h --- /dev/null -+++ linux-6.6.4/fs/aufs/dynop.h 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/dynop.h 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,77 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -11872,9 +11872,9 @@ diff -Naur null/fs/aufs/dynop.h linux-6.6.4/fs/aufs/dynop.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_DYNOP_H__ */ -diff -Naur null/fs/aufs/export.c linux-6.6.4/fs/aufs/export.c +diff -Naur null/fs/aufs/export.c linux-6.6.54/fs/aufs/export.c --- /dev/null -+++ linux-6.6.4/fs/aufs/export.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/export.c 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,830 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -12706,9 +12706,9 @@ diff -Naur null/fs/aufs/export.c linux-6.6.4/fs/aufs/export.c + BUILD_BUG_ON(sizeof(u) != sizeof(int)); + atomic_set(&sbinfo->si_xigen_next, u); +} -diff -Naur null/fs/aufs/fhsm.c linux-6.6.4/fs/aufs/fhsm.c +diff -Naur null/fs/aufs/fhsm.c linux-6.6.54/fs/aufs/fhsm.c --- /dev/null -+++ linux-6.6.4/fs/aufs/fhsm.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/fhsm.c 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,426 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -13136,9 +13136,9 @@ diff -Naur null/fs/aufs/fhsm.c linux-6.6.4/fs/aufs/fhsm.c + if (u != AUFS_FHSM_CACHE_DEF_SEC) + seq_printf(seq, ",fhsm_sec=%u", u); +} -diff -Naur null/fs/aufs/file.c linux-6.6.4/fs/aufs/file.c +diff -Naur null/fs/aufs/file.c linux-6.6.54/fs/aufs/file.c --- /dev/null -+++ linux-6.6.4/fs/aufs/file.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/file.c 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,866 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -14006,9 +14006,9 @@ diff -Naur null/fs/aufs/file.c linux-6.6.4/fs/aufs/file.c + .swap_rw = aufs_swap_rw +#endif /* CONFIG_AUFS_DEBUG */ +}; -diff -Naur null/fs/aufs/file.h linux-6.6.4/fs/aufs/file.h +diff -Naur null/fs/aufs/file.h linux-6.6.54/fs/aufs/file.h --- /dev/null -+++ linux-6.6.4/fs/aufs/file.h 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/file.h 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,342 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -14352,9 +14352,9 @@ diff -Naur null/fs/aufs/file.h linux-6.6.4/fs/aufs/file.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FILE_H__ */ -diff -Naur null/fs/aufs/finfo.c linux-6.6.4/fs/aufs/finfo.c +diff -Naur null/fs/aufs/finfo.c linux-6.6.54/fs/aufs/finfo.c --- /dev/null -+++ linux-6.6.4/fs/aufs/finfo.c 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/finfo.c 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -14505,9 +14505,9 @@ diff -Naur null/fs/aufs/finfo.c linux-6.6.4/fs/aufs/finfo.c +out: + return err; +} -diff -Naur null/fs/aufs/f_op.c linux-6.6.4/fs/aufs/f_op.c +diff -Naur null/fs/aufs/f_op.c linux-6.6.54/fs/aufs/f_op.c --- /dev/null -+++ linux-6.6.4/fs/aufs/f_op.c 2024-06-26 18:36:17.791174331 +0300 ++++ linux-6.6.54/fs/aufs/f_op.c 2024-10-14 10:37:56.021536616 +0300 @@ -0,0 +1,782 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -15291,10 +15291,10 @@ diff -Naur null/fs/aufs/f_op.c linux-6.6.4/fs/aufs/f_op.c + .fallocate = aufs_fallocate, + .copy_file_range = aufs_copy_file_range +}; -diff -Naur null/fs/aufs/fsctx.c linux-6.6.4/fs/aufs/fsctx.c +diff -Naur null/fs/aufs/fsctx.c linux-6.6.54/fs/aufs/fsctx.c --- /dev/null -+++ linux-6.6.4/fs/aufs/fsctx.c 2024-06-26 18:36:17.792174319 +0300 -@@ -0,0 +1,1242 @@ ++++ linux-6.6.54/fs/aufs/fsctx.c 2024-10-14 10:37:56.022536604 +0300 +@@ -0,0 +1,1244 @@ +// SPDX-License-Identifier: GPL-2.0 +/* + * Copyright (C) 2022 Junjiro R. Okajima @@ -15357,6 +15357,8 @@ diff -Naur null/fs/aufs/fsctx.c linux-6.6.4/fs/aufs/fsctx.c + + root = fc->root; + sb = root->d_sb; ++ root = sb->s_root; /* "bind"-mount may give us non-root */ ++ AuDebugOn(!IS_ROOT(root)); + err = si_write_lock(sb, AuLock_FLUSH | AuLock_NOPLM); + if (!err) { + di_write_lock_child(root); @@ -16537,9 +16539,9 @@ diff -Naur null/fs/aufs/fsctx.c linux-6.6.4/fs/aufs/fsctx.c + AuTraceErr(err); + return err; +} -diff -Naur null/fs/aufs/fstype.h linux-6.6.4/fs/aufs/fstype.h +diff -Naur null/fs/aufs/fstype.h linux-6.6.54/fs/aufs/fstype.h --- /dev/null -+++ linux-6.6.4/fs/aufs/fstype.h 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/fstype.h 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,401 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -16942,9 +16944,9 @@ diff -Naur null/fs/aufs/fstype.h linux-6.6.4/fs/aufs/fstype.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_FSTYPE_H__ */ -diff -Naur null/fs/aufs/hbl.h linux-6.6.4/fs/aufs/hbl.h +diff -Naur null/fs/aufs/hbl.h linux-6.6.54/fs/aufs/hbl.h --- /dev/null -+++ linux-6.6.4/fs/aufs/hbl.h 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/hbl.h 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,65 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -17011,9 +17013,9 @@ diff -Naur null/fs/aufs/hbl.h linux-6.6.4/fs/aufs/hbl.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_HBL_H__ */ -diff -Naur null/fs/aufs/hfsnotify.c linux-6.6.4/fs/aufs/hfsnotify.c +diff -Naur null/fs/aufs/hfsnotify.c linux-6.6.54/fs/aufs/hfsnotify.c --- /dev/null -+++ linux-6.6.4/fs/aufs/hfsnotify.c 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/hfsnotify.c 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,290 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -17305,9 +17307,9 @@ diff -Naur null/fs/aufs/hfsnotify.c linux-6.6.4/fs/aufs/hfsnotify.c + .fin_br = au_hfsn_fin_br, + .init_br = au_hfsn_init_br +}; -diff -Naur null/fs/aufs/hfsplus.c linux-6.6.4/fs/aufs/hfsplus.c +diff -Naur null/fs/aufs/hfsplus.c linux-6.6.54/fs/aufs/hfsplus.c --- /dev/null -+++ linux-6.6.4/fs/aufs/hfsplus.c 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/hfsplus.c 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -17369,9 +17371,9 @@ diff -Naur null/fs/aufs/hfsplus.c linux-6.6.4/fs/aufs/hfsplus.c + au_lcnt_dec(&br->br_nfiles); + } +} -diff -Naur null/fs/aufs/hnotify.c linux-6.6.4/fs/aufs/hnotify.c +diff -Naur null/fs/aufs/hnotify.c linux-6.6.54/fs/aufs/hnotify.c --- /dev/null -+++ linux-6.6.4/fs/aufs/hnotify.c 2024-06-26 18:36:17.792174319 +0300 ++++ linux-6.6.54/fs/aufs/hnotify.c 2024-10-14 10:37:56.022536604 +0300 @@ -0,0 +1,715 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -18088,9 +18090,9 @@ diff -Naur null/fs/aufs/hnotify.c linux-6.6.4/fs/aufs/hnotify.c + if (au_cache[AuCache_HNOTIFY]) + au_hn_destroy_cache(); +} -diff -Naur null/fs/aufs/iinfo.c linux-6.6.4/fs/aufs/iinfo.c +diff -Naur null/fs/aufs/iinfo.c linux-6.6.54/fs/aufs/iinfo.c --- /dev/null -+++ linux-6.6.4/fs/aufs/iinfo.c 2024-06-26 18:36:17.793174306 +0300 ++++ linux-6.6.54/fs/aufs/iinfo.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,286 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -18378,9 +18380,9 @@ diff -Naur null/fs/aufs/iinfo.c linux-6.6.4/fs/aufs/iinfo.c + au_kfree_rcu(iinfo->ii_hinode); + AuRwDestroy(&iinfo->ii_rwsem); +} -diff -Naur null/fs/aufs/inode.c linux-6.6.4/fs/aufs/inode.c +diff -Naur null/fs/aufs/inode.c linux-6.6.54/fs/aufs/inode.c --- /dev/null -+++ linux-6.6.4/fs/aufs/inode.c 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/inode.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,531 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -18913,9 +18915,9 @@ diff -Naur null/fs/aufs/inode.c linux-6.6.4/fs/aufs/inode.c + mask |= MAY_READ; /* force permission check */ + return au_test_h_perm(h_idmap, h_inode, mask); +} -diff -Naur null/fs/aufs/inode.h linux-6.6.4/fs/aufs/inode.h +diff -Naur null/fs/aufs/inode.h linux-6.6.54/fs/aufs/inode.h --- /dev/null -+++ linux-6.6.4/fs/aufs/inode.h 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/inode.h 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,707 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -19624,9 +19626,9 @@ diff -Naur null/fs/aufs/inode.h linux-6.6.4/fs/aufs/inode.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_INODE_H__ */ -diff -Naur null/fs/aufs/ioctl.c linux-6.6.4/fs/aufs/ioctl.c +diff -Naur null/fs/aufs/ioctl.c linux-6.6.54/fs/aufs/ioctl.c --- /dev/null -+++ linux-6.6.4/fs/aufs/ioctl.c 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/ioctl.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,220 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -19848,9 +19850,9 @@ diff -Naur null/fs/aufs/ioctl.c linux-6.6.4/fs/aufs/ioctl.c + return aufs_ioctl_nondir(file, cmd, (unsigned long)compat_ptr(arg)); +} +#endif -diff -Naur null/fs/aufs/i_op_add.c linux-6.6.4/fs/aufs/i_op_add.c +diff -Naur null/fs/aufs/i_op_add.c linux-6.6.54/fs/aufs/i_op_add.c --- /dev/null -+++ linux-6.6.4/fs/aufs/i_op_add.c 2024-06-26 18:36:17.793174306 +0300 ++++ linux-6.6.54/fs/aufs/i_op_add.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,972 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -20824,9 +20826,9 @@ diff -Naur null/fs/aufs/i_op_add.c linux-6.6.4/fs/aufs/i_op_add.c +out: + return err; +} -diff -Naur null/fs/aufs/i_op.c linux-6.6.4/fs/aufs/i_op.c +diff -Naur null/fs/aufs/i_op.c linux-6.6.54/fs/aufs/i_op.c --- /dev/null -+++ linux-6.6.4/fs/aufs/i_op.c 2024-06-26 18:36:17.793174306 +0300 ++++ linux-6.6.54/fs/aufs/i_op.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,1520 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -22348,9 +22350,9 @@ diff -Naur null/fs/aufs/i_op.c linux-6.6.4/fs/aufs/i_op.c + .update_time = aufs_update_time + } +}; -diff -Naur null/fs/aufs/i_op_del.c linux-6.6.4/fs/aufs/i_op_del.c +diff -Naur null/fs/aufs/i_op_del.c linux-6.6.54/fs/aufs/i_op_del.c --- /dev/null -+++ linux-6.6.4/fs/aufs/i_op_del.c 2024-06-26 18:36:17.793174306 +0300 ++++ linux-6.6.54/fs/aufs/i_op_del.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,523 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -22875,9 +22877,9 @@ diff -Naur null/fs/aufs/i_op_del.c linux-6.6.4/fs/aufs/i_op_del.c + AuTraceErr(err); + return err; +} -diff -Naur null/fs/aufs/i_op_ren.c linux-6.6.4/fs/aufs/i_op_ren.c +diff -Naur null/fs/aufs/i_op_ren.c linux-6.6.54/fs/aufs/i_op_ren.c --- /dev/null -+++ linux-6.6.4/fs/aufs/i_op_ren.c 2024-06-26 18:36:17.793174306 +0300 ++++ linux-6.6.54/fs/aufs/i_op_ren.c 2024-10-14 10:37:56.023536591 +0300 @@ -0,0 +1,1260 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -24139,9 +24141,9 @@ diff -Naur null/fs/aufs/i_op_ren.c linux-6.6.4/fs/aufs/i_op_ren.c + AuTraceErr(err); + return err; +} -diff -Naur null/fs/aufs/Kconfig linux-6.6.4/fs/aufs/Kconfig +diff -Naur null/fs/aufs/Kconfig linux-6.6.54/fs/aufs/Kconfig --- /dev/null -+++ linux-6.6.4/fs/aufs/Kconfig 2024-06-26 18:36:17.788174369 +0300 ++++ linux-6.6.54/fs/aufs/Kconfig 2024-10-14 10:37:56.018536654 +0300 @@ -0,0 +1,199 @@ +# SPDX-License-Identifier: GPL-2.0 +config AUFS_FS @@ -24342,9 +24344,9 @@ diff -Naur null/fs/aufs/Kconfig linux-6.6.4/fs/aufs/Kconfig + Automatic configuration for internal use. + When aufs supports Magic SysRq, enabled automatically. +endif -diff -Naur null/fs/aufs/lcnt.h linux-6.6.4/fs/aufs/lcnt.h +diff -Naur null/fs/aufs/lcnt.h linux-6.6.54/fs/aufs/lcnt.h --- /dev/null -+++ linux-6.6.4/fs/aufs/lcnt.h 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/lcnt.h 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,186 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -24532,9 +24534,9 @@ diff -Naur null/fs/aufs/lcnt.h linux-6.6.4/fs/aufs/lcnt.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_LCNT_H__ */ -diff -Naur null/fs/aufs/loop.c linux-6.6.4/fs/aufs/loop.c +diff -Naur null/fs/aufs/loop.c linux-6.6.54/fs/aufs/loop.c --- /dev/null -+++ linux-6.6.4/fs/aufs/loop.c 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/loop.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,148 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -24684,9 +24686,9 @@ diff -Naur null/fs/aufs/loop.c linux-6.6.4/fs/aufs/loop.c + symbol_put(loop_backing_file); + au_kfree_try_rcu(au_warn_loopback_array); +} -diff -Naur null/fs/aufs/loop.h linux-6.6.4/fs/aufs/loop.h +diff -Naur null/fs/aufs/loop.h linux-6.6.54/fs/aufs/loop.h --- /dev/null -+++ linux-6.6.4/fs/aufs/loop.h 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/loop.h 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,55 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -24743,9 +24745,9 @@ diff -Naur null/fs/aufs/loop.h linux-6.6.4/fs/aufs/loop.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_LOOP_H__ */ -diff -Naur null/fs/aufs/magic.mk linux-6.6.4/fs/aufs/magic.mk +diff -Naur null/fs/aufs/magic.mk linux-6.6.54/fs/aufs/magic.mk --- /dev/null -+++ linux-6.6.4/fs/aufs/magic.mk 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/magic.mk 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,31 @@ +# SPDX-License-Identifier: GPL-2.0 + @@ -24778,9 +24780,9 @@ diff -Naur null/fs/aufs/magic.mk linux-6.6.4/fs/aufs/magic.mk +ifdef CONFIG_HFSPLUS_FS +ccflags-y += -DHFSPLUS_SUPER_MAGIC=0x482b +endif -diff -Naur null/fs/aufs/Makefile linux-6.6.4/fs/aufs/Makefile +diff -Naur null/fs/aufs/Makefile linux-6.6.54/fs/aufs/Makefile --- /dev/null -+++ linux-6.6.4/fs/aufs/Makefile 2024-06-26 18:36:17.788174369 +0300 ++++ linux-6.6.54/fs/aufs/Makefile 2024-10-14 10:37:56.018536654 +0300 @@ -0,0 +1,46 @@ +# SPDX-License-Identifier: GPL-2.0 + @@ -24828,9 +24830,9 @@ diff -Naur null/fs/aufs/Makefile linux-6.6.4/fs/aufs/Makefile +aufs-$(CONFIG_AUFS_BR_HFSPLUS) += hfsplus.o +aufs-$(CONFIG_AUFS_DEBUG) += debug.o +aufs-$(CONFIG_AUFS_MAGIC_SYSRQ) += sysrq.o -diff -Naur null/fs/aufs/module.c linux-6.6.4/fs/aufs/module.c +diff -Naur null/fs/aufs/module.c linux-6.6.54/fs/aufs/module.c --- /dev/null -+++ linux-6.6.4/fs/aufs/module.c 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/module.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,273 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -25105,9 +25107,9 @@ diff -Naur null/fs/aufs/module.c linux-6.6.4/fs/aufs/module.c + +module_init(aufs_init); +module_exit(aufs_exit); -diff -Naur null/fs/aufs/module.h linux-6.6.4/fs/aufs/module.h +diff -Naur null/fs/aufs/module.h linux-6.6.54/fs/aufs/module.h --- /dev/null -+++ linux-6.6.4/fs/aufs/module.h 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/module.h 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,180 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -25289,9 +25291,9 @@ diff -Naur null/fs/aufs/module.h linux-6.6.4/fs/aufs/module.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_MODULE_H__ */ -diff -Naur null/fs/aufs/mvdown.c linux-6.6.4/fs/aufs/mvdown.c +diff -Naur null/fs/aufs/mvdown.c linux-6.6.54/fs/aufs/mvdown.c --- /dev/null -+++ linux-6.6.4/fs/aufs/mvdown.c 2024-06-26 18:36:17.794174294 +0300 ++++ linux-6.6.54/fs/aufs/mvdown.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,706 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -25999,9 +26001,9 @@ diff -Naur null/fs/aufs/mvdown.c linux-6.6.4/fs/aufs/mvdown.c + AuTraceErr(err); + return err; +} -diff -Naur null/fs/aufs/opts.c linux-6.6.4/fs/aufs/opts.c +diff -Naur null/fs/aufs/opts.c linux-6.6.54/fs/aufs/opts.c --- /dev/null -+++ linux-6.6.4/fs/aufs/opts.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/opts.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,1032 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -27035,9 +27037,9 @@ diff -Naur null/fs/aufs/opts.c linux-6.6.4/fs/aufs/opts.c +{ + return au_mntflags(sb) & AuOptMask_UDBA; +} -diff -Naur null/fs/aufs/opts.h linux-6.6.4/fs/aufs/opts.h +diff -Naur null/fs/aufs/opts.h linux-6.6.54/fs/aufs/opts.h --- /dev/null -+++ linux-6.6.4/fs/aufs/opts.h 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/opts.h 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,263 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -27302,9 +27304,9 @@ diff -Naur null/fs/aufs/opts.h linux-6.6.4/fs/aufs/opts.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_OPTS_H__ */ -diff -Naur null/fs/aufs/plink.c linux-6.6.4/fs/aufs/plink.c +diff -Naur null/fs/aufs/plink.c linux-6.6.54/fs/aufs/plink.c --- /dev/null -+++ linux-6.6.4/fs/aufs/plink.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/plink.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,516 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -27822,9 +27824,9 @@ diff -Naur null/fs/aufs/plink.c linux-6.6.4/fs/aufs/plink.c + } + } +} -diff -Naur null/fs/aufs/poll.c linux-6.6.4/fs/aufs/poll.c +diff -Naur null/fs/aufs/poll.c linux-6.6.54/fs/aufs/poll.c --- /dev/null -+++ linux-6.6.4/fs/aufs/poll.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/poll.c 2024-10-14 10:37:56.024536579 +0300 @@ -0,0 +1,51 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -27877,9 +27879,9 @@ diff -Naur null/fs/aufs/poll.c linux-6.6.4/fs/aufs/poll.c + AuDbg("mask 0x%x\n", mask); + return mask; +} -diff -Naur null/fs/aufs/posix_acl.c linux-6.6.4/fs/aufs/posix_acl.c +diff -Naur null/fs/aufs/posix_acl.c linux-6.6.54/fs/aufs/posix_acl.c --- /dev/null -+++ linux-6.6.4/fs/aufs/posix_acl.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/posix_acl.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,108 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -27989,9 +27991,9 @@ diff -Naur null/fs/aufs/posix_acl.c linux-6.6.4/fs/aufs/posix_acl.c + + return err; +} -diff -Naur null/fs/aufs/procfs.c linux-6.6.4/fs/aufs/procfs.c +diff -Naur null/fs/aufs/procfs.c linux-6.6.54/fs/aufs/procfs.c --- /dev/null -+++ linux-6.6.4/fs/aufs/procfs.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/procfs.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,170 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -28163,9 +28165,9 @@ diff -Naur null/fs/aufs/procfs.c linux-6.6.4/fs/aufs/procfs.c +out: + return err; +} -diff -Naur null/fs/aufs/rdu.c linux-6.6.4/fs/aufs/rdu.c +diff -Naur null/fs/aufs/rdu.c linux-6.6.54/fs/aufs/rdu.c --- /dev/null -+++ linux-6.6.4/fs/aufs/rdu.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/rdu.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,384 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -28551,9 +28553,9 @@ diff -Naur null/fs/aufs/rdu.c linux-6.6.4/fs/aufs/rdu.c + return err; +} +#endif -diff -Naur null/fs/aufs/rwsem.h linux-6.6.4/fs/aufs/rwsem.h +diff -Naur null/fs/aufs/rwsem.h linux-6.6.54/fs/aufs/rwsem.h --- /dev/null -+++ linux-6.6.4/fs/aufs/rwsem.h 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/rwsem.h 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,85 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -28640,9 +28642,9 @@ diff -Naur null/fs/aufs/rwsem.h linux-6.6.4/fs/aufs/rwsem.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_RWSEM_H__ */ -diff -Naur null/fs/aufs/sbinfo.c linux-6.6.4/fs/aufs/sbinfo.c +diff -Naur null/fs/aufs/sbinfo.c linux-6.6.54/fs/aufs/sbinfo.c --- /dev/null -+++ linux-6.6.4/fs/aufs/sbinfo.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/sbinfo.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,316 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -28960,9 +28962,9 @@ diff -Naur null/fs/aufs/sbinfo.c linux-6.6.4/fs/aufs/sbinfo.c + di_write_unlock2(d1, d2); + si_read_unlock(d1->d_sb); +} -diff -Naur null/fs/aufs/super.c linux-6.6.4/fs/aufs/super.c +diff -Naur null/fs/aufs/super.c linux-6.6.54/fs/aufs/super.c --- /dev/null -+++ linux-6.6.4/fs/aufs/super.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/super.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,871 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -29835,9 +29837,9 @@ diff -Naur null/fs/aufs/super.c linux-6.6.4/fs/aufs/super.c + /* no need to __module_get() and module_put(). */ + .owner = THIS_MODULE, +}; -diff -Naur null/fs/aufs/super.h linux-6.6.4/fs/aufs/super.h +diff -Naur null/fs/aufs/super.h linux-6.6.54/fs/aufs/super.h --- /dev/null -+++ linux-6.6.4/fs/aufs/super.h 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/super.h 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,592 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -30431,9 +30433,9 @@ diff -Naur null/fs/aufs/super.h linux-6.6.4/fs/aufs/super.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_SUPER_H__ */ -diff -Naur null/fs/aufs/sysaufs.c linux-6.6.4/fs/aufs/sysaufs.c +diff -Naur null/fs/aufs/sysaufs.c linux-6.6.54/fs/aufs/sysaufs.c --- /dev/null -+++ linux-6.6.4/fs/aufs/sysaufs.c 2024-06-26 18:36:17.795174281 +0300 ++++ linux-6.6.54/fs/aufs/sysaufs.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,94 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -30529,9 +30531,9 @@ diff -Naur null/fs/aufs/sysaufs.c linux-6.6.4/fs/aufs/sysaufs.c +out: + return err; +} -diff -Naur null/fs/aufs/sysaufs.h linux-6.6.4/fs/aufs/sysaufs.h +diff -Naur null/fs/aufs/sysaufs.h linux-6.6.54/fs/aufs/sysaufs.h --- /dev/null -+++ linux-6.6.4/fs/aufs/sysaufs.h 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/sysaufs.h 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,102 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -30635,9 +30637,9 @@ diff -Naur null/fs/aufs/sysaufs.h linux-6.6.4/fs/aufs/sysaufs.h + +#endif /* __KERNEL__ */ +#endif /* __SYSAUFS_H__ */ -diff -Naur null/fs/aufs/sysfs.c linux-6.6.4/fs/aufs/sysfs.c +diff -Naur null/fs/aufs/sysfs.c linux-6.6.54/fs/aufs/sysfs.c --- /dev/null -+++ linux-6.6.4/fs/aufs/sysfs.c 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/sysfs.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,374 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -31013,9 +31015,9 @@ diff -Naur null/fs/aufs/sysfs.c linux-6.6.4/fs/aufs/sysfs.c + } + } +} -diff -Naur null/fs/aufs/sysrq.c linux-6.6.4/fs/aufs/sysrq.c +diff -Naur null/fs/aufs/sysrq.c linux-6.6.54/fs/aufs/sysrq.c --- /dev/null -+++ linux-6.6.4/fs/aufs/sysrq.c 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/sysrq.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,149 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -31166,9 +31168,9 @@ diff -Naur null/fs/aufs/sysrq.c linux-6.6.4/fs/aufs/sysrq.c + if (unlikely(err)) + pr_err("err %d (ignored)\n", err); +} -diff -Naur null/fs/aufs/vdir.c linux-6.6.4/fs/aufs/vdir.c +diff -Naur null/fs/aufs/vdir.c linux-6.6.54/fs/aufs/vdir.c --- /dev/null -+++ linux-6.6.4/fs/aufs/vdir.c 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/vdir.c 2024-10-14 10:37:56.025536566 +0300 @@ -0,0 +1,896 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -32066,9 +32068,9 @@ diff -Naur null/fs/aufs/vdir.c linux-6.6.4/fs/aufs/vdir.c + /* smp_mb(); */ + return 0; +} -diff -Naur null/fs/aufs/vfsub.c linux-6.6.4/fs/aufs/vfsub.c +diff -Naur null/fs/aufs/vfsub.c linux-6.6.54/fs/aufs/vfsub.c --- /dev/null -+++ linux-6.6.4/fs/aufs/vfsub.c 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/vfsub.c 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,918 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -32988,9 +32990,9 @@ diff -Naur null/fs/aufs/vfsub.c linux-6.6.4/fs/aufs/vfsub.c + + return err; +} -diff -Naur null/fs/aufs/vfsub.h linux-6.6.4/fs/aufs/vfsub.h +diff -Naur null/fs/aufs/vfsub.h linux-6.6.54/fs/aufs/vfsub.h --- /dev/null -+++ linux-6.6.4/fs/aufs/vfsub.h 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/vfsub.h 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,403 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -33395,9 +33397,9 @@ diff -Naur null/fs/aufs/vfsub.h linux-6.6.4/fs/aufs/vfsub.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_VFSUB_H__ */ -diff -Naur null/fs/aufs/wbr_policy.c linux-6.6.4/fs/aufs/wbr_policy.c +diff -Naur null/fs/aufs/wbr_policy.c linux-6.6.54/fs/aufs/wbr_policy.c --- /dev/null -+++ linux-6.6.4/fs/aufs/wbr_policy.c 2024-06-26 18:36:17.796174269 +0300 ++++ linux-6.6.54/fs/aufs/wbr_policy.c 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,830 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -34229,9 +34231,9 @@ diff -Naur null/fs/aufs/wbr_policy.c linux-6.6.4/fs/aufs/wbr_policy.c + .fin = au_wbr_create_fin_mfs + } +}; -diff -Naur null/fs/aufs/whout.c linux-6.6.4/fs/aufs/whout.c +diff -Naur null/fs/aufs/whout.c linux-6.6.54/fs/aufs/whout.c --- /dev/null -+++ linux-6.6.4/fs/aufs/whout.c 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/whout.c 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,1072 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -35305,9 +35307,9 @@ diff -Naur null/fs/aufs/whout.c linux-6.6.4/fs/aufs/whout.c + au_whtmp_rmdir_free(args); + } +} -diff -Naur null/fs/aufs/whout.h linux-6.6.4/fs/aufs/whout.h +diff -Naur null/fs/aufs/whout.h linux-6.6.54/fs/aufs/whout.h --- /dev/null -+++ linux-6.6.4/fs/aufs/whout.h 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/whout.h 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,87 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -35396,9 +35398,9 @@ diff -Naur null/fs/aufs/whout.h linux-6.6.4/fs/aufs/whout.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WHOUT_H__ */ -diff -Naur null/fs/aufs/wkq.c linux-6.6.4/fs/aufs/wkq.c +diff -Naur null/fs/aufs/wkq.c linux-6.6.54/fs/aufs/wkq.c --- /dev/null -+++ linux-6.6.4/fs/aufs/wkq.c 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/wkq.c 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,372 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -35772,9 +35774,9 @@ diff -Naur null/fs/aufs/wkq.c linux-6.6.4/fs/aufs/wkq.c + + return err; +} -diff -Naur null/fs/aufs/wkq.h linux-6.6.4/fs/aufs/wkq.h +diff -Naur null/fs/aufs/wkq.h linux-6.6.54/fs/aufs/wkq.h --- /dev/null -+++ linux-6.6.4/fs/aufs/wkq.h 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/wkq.h 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,89 @@ +/* SPDX-License-Identifier: GPL-2.0 */ +/* @@ -35865,9 +35867,9 @@ diff -Naur null/fs/aufs/wkq.h linux-6.6.4/fs/aufs/wkq.h + +#endif /* __KERNEL__ */ +#endif /* __AUFS_WKQ_H__ */ -diff -Naur null/fs/aufs/xattr.c linux-6.6.4/fs/aufs/xattr.c +diff -Naur null/fs/aufs/xattr.c linux-6.6.54/fs/aufs/xattr.c --- /dev/null -+++ linux-6.6.4/fs/aufs/xattr.c 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/xattr.c 2024-10-14 10:37:56.026536554 +0300 @@ -0,0 +1,360 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -36229,9 +36231,9 @@ diff -Naur null/fs/aufs/xattr.c linux-6.6.4/fs/aufs/xattr.c +{ + sb->s_xattr = au_xattr_handlers; +} -diff -Naur null/fs/aufs/xino.c linux-6.6.4/fs/aufs/xino.c +diff -Naur null/fs/aufs/xino.c linux-6.6.54/fs/aufs/xino.c --- /dev/null -+++ linux-6.6.4/fs/aufs/xino.c 2024-06-26 18:36:17.797174256 +0300 ++++ linux-6.6.54/fs/aufs/xino.c 2024-10-14 10:37:56.027536541 +0300 @@ -0,0 +1,1926 @@ +// SPDX-License-Identifier: GPL-2.0 +/* @@ -38159,9 +38161,9 @@ diff -Naur null/fs/aufs/xino.c linux-6.6.4/fs/aufs/xino.c +out: + return err; +} -diff -Naur null/include/uapi/linux/aufs_type.h linux-6.6.4/include/uapi/linux/aufs_type.h +diff -Naur null/include/uapi/linux/aufs_type.h linux-6.6.54/include/uapi/linux/aufs_type.h --- /dev/null -+++ linux-6.6.4/include/uapi/linux/aufs_type.h 2024-06-26 18:36:17.798174244 +0300 ++++ linux-6.6.54/include/uapi/linux/aufs_type.h 2024-10-14 10:37:56.027536541 +0300 @@ -0,0 +1,452 @@ +/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ +/* @@ -38205,7 +38207,7 @@ diff -Naur null/include/uapi/linux/aufs_type.h linux-6.6.4/include/uapi/linux/au +#include +#endif /* __KERNEL__ */ + -+#define AUFS_VERSION "6.6.4-20240624" ++#define AUFS_VERSION "6.6.54-20241014" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/lockdep-debug.patch b/kernel/tools/cpupowertools/files/patches/aufs6/lockdep-debug.patch index aa3e6844..610d5a5a 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/lockdep-debug.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/lockdep-debug.patch @@ -1,5 +1,5 @@ SPDX-License-Identifier: GPL-2.0 -aufs6.6.4 lockdep patch +aufs6.6.54 lockdep patch diff --git a/include/linux/lockdep_types.h b/include/linux/lockdep_types.h index 2ebc323d345a..9d7009190515 100644 diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/tmpfs-idr.patch b/kernel/tools/cpupowertools/files/patches/aufs6/tmpfs-idr.patch index f6bcb8c2..a3e97af0 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/tmpfs-idr.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/tmpfs-idr.patch @@ -1,7 +1,7 @@ SPDX-License-Identifier: GPL-2.0 diff --git a/include/linux/shmem_fs.h b/include/linux/shmem_fs.h -index 6b0c626620f5..fc6fa00a3016 100644 +index 134c686c8676..632d447caf64 100644 --- a/include/linux/shmem_fs.h +++ b/include/linux/shmem_fs.h @@ -51,10 +51,13 @@ struct shmem_quota_limits { @@ -16,12 +16,12 @@ index 6b0c626620f5..fc6fa00a3016 100644 - unsigned long max_inodes; /* How many inodes are allowed */ - unsigned long free_ispace; /* How much ispace left for allocation */ + int max_inodes; /* How many inodes are allowed */ -+ int free_ispace; /* How many are left for allocation */ ++ unsigned long free_ispace; /* How many are left for allocation */ raw_spinlock_t stat_lock; /* Serialize shmem_sb_info changes */ umode_t mode; /* Mount mode for root directory */ unsigned char huge; /* Whether to try for hugepages */ diff --git a/mm/shmem.c b/mm/shmem.c -index 69595d341882..34cdf49cf1d4 100644 +index 3d721d5591dd..b6065f7cb931 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -111,7 +111,7 @@ struct shmem_falloc { @@ -51,7 +51,7 @@ index 69595d341882..34cdf49cf1d4 100644 } #endif -@@ -1262,6 +1264,11 @@ static void shmem_evict_inode(struct inode *inode) +@@ -1284,6 +1286,11 @@ static void shmem_evict_inode(struct inode *inode) } simple_xattrs_free(&info->xattrs, sbinfo->max_inodes ? &freed : NULL); @@ -63,7 +63,7 @@ index 69595d341882..34cdf49cf1d4 100644 shmem_free_inode(inode->i_sb, freed); WARN_ON(inode->i_blocks); clear_inode(inode); -@@ -2506,6 +2513,25 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap, +@@ -2528,6 +2535,25 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap, break; } @@ -89,7 +89,7 @@ index 69595d341882..34cdf49cf1d4 100644 lockdep_annotate_inode_mutex_key(inode); return inode; } -@@ -3754,8 +3780,7 @@ static struct dentry *shmem_get_parent(struct dentry *child) +@@ -3776,8 +3802,7 @@ static struct dentry *shmem_get_parent(struct dentry *child) static int shmem_match(struct inode *ino, void *vfh) { __u32 *fh = vfh; @@ -99,7 +99,7 @@ index 69595d341882..34cdf49cf1d4 100644 return ino->i_ino == inum && fh[0] == ino->i_generation; } -@@ -3775,14 +3800,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb, +@@ -3797,14 +3822,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb, struct dentry *dentry = NULL; u64 inum; @@ -117,7 +117,7 @@ index 69595d341882..34cdf49cf1d4 100644 if (inode) { dentry = shmem_find_alias(inode); iput(inode); -@@ -3794,30 +3816,15 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb, +@@ -3816,30 +3838,15 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb, static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len, struct inode *parent) { @@ -151,7 +151,7 @@ index 69595d341882..34cdf49cf1d4 100644 return 1; } -@@ -3916,7 +3923,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) +@@ -3938,7 +3945,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param) break; case Opt_nr_inodes: ctx->inodes = memparse(param->string, &rest); @@ -160,7 +160,7 @@ index 69595d341882..34cdf49cf1d4 100644 goto bad_value; ctx->seen |= SHMEM_SEEN_INODES; break; -@@ -4202,7 +4209,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root) +@@ -4224,7 +4231,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root) if (sbinfo->max_blocks != shmem_default_max_blocks()) seq_printf(seq, ",size=%luk", K(sbinfo->max_blocks)); if (sbinfo->max_inodes != shmem_default_max_inodes()) @@ -169,7 +169,7 @@ index 69595d341882..34cdf49cf1d4 100644 if (sbinfo->mode != (0777 | S_ISVTX)) seq_printf(seq, ",mode=%03ho", sbinfo->mode); if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID)) -@@ -4256,6 +4263,8 @@ static void shmem_put_super(struct super_block *sb) +@@ -4278,6 +4285,8 @@ static void shmem_put_super(struct super_block *sb) #ifdef CONFIG_TMPFS_QUOTA shmem_disable_quotas(sb); #endif @@ -178,7 +178,7 @@ index 69595d341882..34cdf49cf1d4 100644 free_percpu(sbinfo->ino_batch); percpu_counter_destroy(&sbinfo->used_blocks); mpol_put(sbinfo->mpol); -@@ -4300,6 +4309,8 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc) +@@ -4322,9 +4331,11 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc) #else sb->s_flags |= SB_NOUSER; #endif @@ -186,8 +186,12 @@ index 69595d341882..34cdf49cf1d4 100644 + idr_init(&sbinfo->idr); sbinfo->max_blocks = ctx->blocks; sbinfo->max_inodes = ctx->inodes; - sbinfo->free_ispace = sbinfo->max_inodes * BOGO_INODE_SIZE; -@@ -4445,6 +4456,15 @@ static int shmem_error_remove_page(struct address_space *mapping, +- sbinfo->free_ispace = sbinfo->max_inodes * BOGO_INODE_SIZE; ++ sbinfo->free_ispace = (unsigned long)sbinfo->max_inodes * BOGO_INODE_SIZE; + if (sb->s_flags & SB_KERNMOUNT) { + sbinfo->ino_batch = alloc_percpu(ino_t); + if (!sbinfo->ino_batch) +@@ -4467,6 +4478,15 @@ static int shmem_error_remove_page(struct address_space *mapping, return 0; } @@ -203,7 +207,7 @@ index 69595d341882..34cdf49cf1d4 100644 const struct address_space_operations shmem_aops = { .writepage = shmem_writepage, .dirty_folio = noop_dirty_folio, -@@ -4618,6 +4638,7 @@ void __init shmem_init(void) +@@ -4640,6 +4660,7 @@ void __init shmem_init(void) pr_err("Could not kern_mount tmpfs\n"); goto out1; } diff --git a/kernel/tools/cpupowertools/files/patches/aufs6/vfs-ino.patch b/kernel/tools/cpupowertools/files/patches/aufs6/vfs-ino.patch index d69d2c6e..7de19bca 100644 --- a/kernel/tools/cpupowertools/files/patches/aufs6/vfs-ino.patch +++ b/kernel/tools/cpupowertools/files/patches/aufs6/vfs-ino.patch @@ -1,10 +1,10 @@ SPDX-License-Identifier: GPL-2.0 diff --git a/fs/inode.c b/fs/inode.c -index ae1a6410b53d..bf99aa98223c 100644 +index 9cafde77e2b0..318aef01fe9e 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -972,6 +972,8 @@ unsigned int get_next_ino(void) +@@ -1011,6 +1011,8 @@ unsigned int get_next_ino(void) unsigned int *p = &get_cpu_var(last_ino); unsigned int res = *p; @@ -13,7 +13,7 @@ index ae1a6410b53d..bf99aa98223c 100644 #ifdef CONFIG_SMP if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) { static atomic_t shared_last_ino; -@@ -984,7 +986,7 @@ unsigned int get_next_ino(void) +@@ -1023,7 +1025,7 @@ unsigned int get_next_ino(void) res++; /* get_next_ino should not provide a 0 inode number */ if (unlikely(!res)) diff --git a/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.45.xz b/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.45.xz deleted file mode 100644 index c8b9b316..00000000 Binary files a/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.45.xz and /dev/null differ diff --git a/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.56.xz b/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.56.xz new file mode 100644 index 00000000..43196a94 Binary files /dev/null and b/kernel/tools/cpupowertools/files/patches/linux/patch-6.6.56.xz differ diff --git a/kernel/tools/cpupowertools/pspec.xml b/kernel/tools/cpupowertools/pspec.xml index 0ba62091..fa25606b 100644 --- a/kernel/tools/cpupowertools/pspec.xml +++ b/kernel/tools/cpupowertools/pspec.xml @@ -18,10 +18,10 @@ - patches/linux/patch-6.6.50.xz + patches/linux/patch-6.6.56.xz - patches/aufs6/aufs6.6.4-20240624.patch + patches/aufs6/aufs6.6.54-20241014.patch patches/aufs6/aufs6-base.patch patches/aufs6/aufs6-kbuild.patch @@ -77,6 +77,13 @@ + + 2024-10-14 + 6.6.56 + Version bump + Mustafa Cinasal + muscnsl@gmail.com + 2024-09-08 6.6.50