Merge pull request #2041 from Rmys/master

kernel-6.6.67
This commit is contained in:
Rmys
2024-12-20 16:08:45 +03:00
committed by GitHub
11 changed files with 489 additions and 353 deletions
@@ -1,6 +1,6 @@
#
# Automatically generated file; DO NOT EDIT.
# Linux/x86_64 6.6.61 Kernel Configuration
# Linux/x86_64 6.6.67 Kernel Configuration
#
CONFIG_CC_VERSION_TEXT="gcc (Pisi Linux) 13.3.0"
CONFIG_CC_IS_GCC=y
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 base patch
aufs6.6.63 base patch
diff --git a/MAINTAINERS b/MAINTAINERS
index ae4c0cec5073..2b5edd2836a7 100644
@@ -26,10 +26,10 @@ index ae4c0cec5073..2b5edd2836a7 100644
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
R: Dave Ertman <david.m.ertman@intel.com>
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 552f56a84a7e..ad953bc6d08a 100644
index 886c63599037..73dae3b1bd4e 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -643,6 +643,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -640,6 +640,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
goto done;
}
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 kbuild patch
aufs6.6.63 kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
index aa7e03cc1941..bf780967b6c4 100644
@@ -1,8 +1,8 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 loopback patch
aufs6.6.63 loopback patch
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index ad953bc6d08a..799119d6b95a 100644
index 73dae3b1bd4e..ae84fb81acbf 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -54,7 +54,7 @@ struct loop_device {
@@ -14,7 +14,7 @@ index ad953bc6d08a..799119d6b95a 100644
struct block_device *lo_device;
gfp_t old_gfp_mask;
@@ -508,6 +508,15 @@ static inline void loop_update_dio(struct loop_device *lo)
@@ -505,6 +505,15 @@ static inline void loop_update_dio(struct loop_device *lo)
lo->use_dio);
}
@@ -30,7 +30,7 @@ index ad953bc6d08a..799119d6b95a 100644
static void loop_reread_partitions(struct loop_device *lo)
{
int rc;
@@ -565,6 +574,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -562,6 +571,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 ad953bc6d08a..799119d6b95a 100644
int error;
bool partscan;
bool is_loop;
@@ -588,11 +598,19 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -585,11 +595,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 ad953bc6d08a..799119d6b95a 100644
error = -EINVAL;
@@ -605,6 +623,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -602,6 +620,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 ad953bc6d08a..799119d6b95a 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));
@@ -627,6 +646,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -624,6 +643,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
* dependency.
*/
fput(old_file);
@@ -75,7 +75,7 @@ index ad953bc6d08a..799119d6b95a 100644
if (partscan)
loop_reread_partitions(lo);
@@ -640,6 +661,8 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
@@ -637,6 +658,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 ad953bc6d08a..799119d6b95a 100644
goto done;
}
@@ -1011,6 +1034,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
@@ -1008,6 +1031,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 ad953bc6d08a..799119d6b95a 100644
struct inode *inode;
struct address_space *mapping;
int error;
@@ -1026,6 +1050,13 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
@@ -1023,6 +1047,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 ad953bc6d08a..799119d6b95a 100644
/*
* If we don't hold exclusive handle for the device, upgrade to it
* here to avoid changing device under exclusive owner.
@@ -1089,6 +1120,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
@@ -1086,6 +1117,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 ad953bc6d08a..799119d6b95a 100644
lo->old_gfp_mask = mapping_gfp_mask(mapping);
mapping_set_gfp_mask(mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS));
@@ -1144,6 +1176,8 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
@@ -1141,6 +1173,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 ad953bc6d08a..799119d6b95a 100644
/* This is safe: open() is still holding a reference. */
module_put(THIS_MODULE);
return error;
@@ -1152,6 +1186,7 @@ static int loop_configure(struct loop_device *lo, blk_mode_t mode,
@@ -1149,6 +1183,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 ad953bc6d08a..799119d6b95a 100644
gfp_t gfp = lo->old_gfp_mask;
if (test_bit(QUEUE_FLAG_WC, &lo->lo_queue->queue_flags))
@@ -1168,6 +1203,7 @@ static void __loop_clr_fd(struct loop_device *lo, bool release)
@@ -1165,6 +1200,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 ad953bc6d08a..799119d6b95a 100644
spin_unlock_irq(&lo->lo_lock);
lo->lo_device = NULL;
@@ -1230,6 +1266,8 @@ static void __loop_clr_fd(struct loop_device *lo, bool release)
@@ -1227,6 +1263,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);
@@ -208,7 +208,7 @@ index 03d4908a6c03..34d356e181d5 100644
#endif /* __KERNEL__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
index 07d3412e950f..c4a00f620e57 100644
index 6da6270e98ca..5f9bbcd90851 100644
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -758,7 +758,10 @@ const struct super_operations aufs_sop = {
@@ -1,11 +1,11 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 mmap patch
aufs6.6.63 mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c
index 6e61d93ffa55..cf8cc0f18b36 100644
index 699f085d4de7..8e7cb5a20a30 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)
@@ -2277,7 +2277,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
rc = -ENOENT;
vma = find_exact_vma(mm, vm_start, vm_end);
if (vma && vma->vm_file) {
@@ -144,10 +144,10 @@ index 43c19d85dfe7..c6bdd132b7ff 100644
#ifdef CONFIG_ANON_VMA_NAME
diff --git a/kernel/fork.c b/kernel/fork.c
index 177ce7438db6..869467885640 100644
index 23efaa2c42e4..50b94374b715 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -731,7 +731,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -732,7 +732,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
if (file) {
struct address_space *mapping = file->f_mapping;
@@ -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 e6c112f3a211..4d794ca8b6d2 100644
index 2c308413387f..82051ef9f5dd 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -3663,7 +3663,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
@@ -3661,7 +3661,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,19 +179,19 @@ index e6c112f3a211..4d794ca8b6d2 100644
if (folio->mapping != mapping) {
folio_unlock(folio);
diff --git a/mm/mmap.c b/mm/mmap.c
index 6530e9cac458..3a696f12c0f6 100644
index e4dfeaef668a..a15b967bb0f8 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -140,7 +140,7 @@ static void remove_vma(struct vm_area_struct *vma, bool unreachable)
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
@@ -139,7 +139,7 @@ static void remove_vma(struct vm_area_struct *vma, bool unreachable)
might_sleep();
vma_close(vma);
if (vma->vm_file)
- fput(vma->vm_file);
+ vma_fput(vma);
mpol_put(vma_policy(vma));
if (unreachable)
__vm_area_free(vma);
@@ -554,7 +554,7 @@ static inline void vma_complete(struct vma_prepare *vp,
@@ -553,7 +553,7 @@ static inline void vma_complete(struct vma_prepare *vp,
if (vp->file) {
uprobe_munmap(vp->remove, vp->remove->vm_start,
vp->remove->vm_end);
@@ -200,7 +200,7 @@ index 6530e9cac458..3a696f12c0f6 100644
}
if (vp->remove->anon_vma)
anon_vma_merge(vp->vma, vp->remove);
@@ -2392,7 +2392,7 @@ int __split_vma(struct vma_iterator *vmi, struct vm_area_struct *vma,
@@ -2391,7 +2391,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 6530e9cac458..3a696f12c0f6 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2809,7 +2809,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -2810,7 +2810,7 @@ static unsigned long __mmap_region(struct file *file, unsigned long addr,
* and cause general protection fault
* ultimately.
*/
@@ -218,16 +218,16 @@ index 6530e9cac458..3a696f12c0f6 100644
vm_area_free(vma);
vma = merge;
/* Update vm_flags to pick up the change. */
@@ -2904,7 +2904,7 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -2887,7 +2887,7 @@ static unsigned long __mmap_region(struct file *file, unsigned long addr,
return addr;
if (file || vma->vm_file) {
unmap_and_free_vma:
- fput(vma->vm_file);
+ vma_fput(vma);
vma->vm_file = NULL;
unmap_and_free_file_vma:
- fput(vma->vm_file);
+ vma_fput(vma);
vma->vm_file = NULL;
vma_iter_set(&vmi, vma->vm_end);
@@ -2966,6 +2966,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
vma_iter_set(&vmi, vma->vm_end);
@@ -2981,6 +2981,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 6530e9cac458..3a696f12c0f6 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
current->comm, current->pid);
@@ -3024,6 +3027,32 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -3039,6 +3042,32 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
if (vma->vm_flags & VM_LOCKED)
flags |= MAP_LOCKED;
@@ -270,7 +270,7 @@ index 6530e9cac458..3a696f12c0f6 100644
file = get_file(vma->vm_file);
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,
@@ -3047,6 +3076,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
prot, flags, 0, pgoff, &populate, NULL);
out_fput:
fput(file);
@@ -278,7 +278,7 @@ index 6530e9cac458..3a696f12c0f6 100644
out:
mmap_write_unlock(mm);
if (populate)
@@ -3382,7 +3412,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3397,7 +3427,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)
@@ -287,8 +287,8 @@ index 6530e9cac458..3a696f12c0f6 100644
if (new_vma->vm_ops && new_vma->vm_ops->open)
new_vma->vm_ops->open(new_vma);
if (vma_link(mm, new_vma))
@@ -3396,7 +3426,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
new_vma->vm_ops->close(new_vma);
@@ -3410,7 +3440,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
vma_close(new_vma);
if (new_vma->vm_file)
- fput(new_vma->vm_file);
@@ -297,7 +297,7 @@ index 6530e9cac458..3a696f12c0f6 100644
unlink_anon_vmas(new_vma);
out_free_mempol:
diff --git a/mm/nommu.c b/mm/nommu.c
index 7f9e9e5a0e12..69663f2bd4c4 100644
index f848d98e8997..a6f5ef257fd4 100644
--- a/mm/nommu.c
+++ b/mm/nommu.c
@@ -523,7 +523,7 @@ static void __put_nommu_region(struct vm_region *region)
@@ -309,16 +309,16 @@ index 7f9e9e5a0e12..69663f2bd4c4 100644
/* IO memory and memory shared directly out of the pagecache
* from ramfs/tmpfs mustn't be released here */
@@ -603,7 +603,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);
@@ -602,7 +602,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
{
vma_close(vma);
if (vma->vm_file)
- fput(vma->vm_file);
+ vma_fput(vma);
put_nommu_region(vma->vm_region);
vm_area_free(vma);
}
@@ -1135,7 +1135,7 @@ unsigned long do_mmap(struct file *file,
@@ -1134,7 +1134,7 @@ unsigned long do_mmap(struct file *file,
goto error_just_free;
}
}
@@ -327,7 +327,7 @@ index 7f9e9e5a0e12..69663f2bd4c4 100644
kmem_cache_free(vm_region_jar, region);
region = pregion;
result = start;
@@ -1221,10 +1221,10 @@ unsigned long do_mmap(struct file *file,
@@ -1220,10 +1220,10 @@ unsigned long do_mmap(struct file *file,
error:
vma_iter_free(&vmi);
if (region->vm_file)
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 standalone patch
aufs6.6.63 standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
index e2877ac9a1e6..f20b4ac29a1d 100644
@@ -22,7 +22,7 @@ index e2877ac9a1e6..f20b4ac29a1d 100644
/**
* d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
index 1cbbef281f8c..d4f50eb57e67 100644
index 7776209d98c1..372bbb606c38 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -112,6 +112,7 @@ bool path_noexec(const struct path *path)
@@ -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 59db720693f9..523a714839aa 100644
index f9ac703ec1b2..d5c83814332e 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -67,6 +67,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
@@ -166,10 +166,10 @@ index 64b9aedbe941..903a23230775 100644
#ifdef CONFIG_LOCK_STAT
diff --git a/kernel/task_work.c b/kernel/task_work.c
index 2134ac8057a9..71150628e6b8 100644
index c969f1f26be5..68eb672f425d 100644
--- a/kernel/task_work.c
+++ b/kernel/task_work.c
@@ -207,3 +207,4 @@ void task_work_run(void)
@@ -242,3 +242,4 @@ void task_work_run(void)
} while (work);
}
}
@@ -1,5 +1,5 @@
SPDX-License-Identifier: GPL-2.0
aufs6.6.54 lockdep patch
aufs6.6.63 lockdep patch
diff --git a/include/linux/lockdep_types.h b/include/linux/lockdep_types.h
index 2ebc323d345a..9d7009190515 100644
@@ -21,7 +21,7 @@ index 134c686c8676..632d447caf64 100644
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 3d721d5591dd..b6065f7cb931 100644
index db7dd45c9181..554f1c80882e 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -111,7 +111,7 @@ struct shmem_falloc {
@@ -63,7 +63,7 @@ index 3d721d5591dd..b6065f7cb931 100644
shmem_free_inode(inode->i_sb, freed);
WARN_ON(inode->i_blocks);
clear_inode(inode);
@@ -2528,6 +2535,25 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap,
@@ -2525,6 +2532,25 @@ static struct inode *__shmem_get_inode(struct mnt_idmap *idmap,
break;
}
@@ -89,7 +89,7 @@ index 3d721d5591dd..b6065f7cb931 100644
lockdep_annotate_inode_mutex_key(inode);
return inode;
}
@@ -3776,8 +3802,7 @@ static struct dentry *shmem_get_parent(struct dentry *child)
@@ -3773,8 +3799,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 3d721d5591dd..b6065f7cb931 100644
return ino->i_ino == inum && fh[0] == ino->i_generation;
}
@@ -3797,14 +3822,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
@@ -3794,14 +3819,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
struct dentry *dentry = NULL;
u64 inum;
@@ -117,7 +117,7 @@ index 3d721d5591dd..b6065f7cb931 100644
if (inode) {
dentry = shmem_find_alias(inode);
iput(inode);
@@ -3816,30 +3838,15 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
@@ -3813,30 +3835,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 3d721d5591dd..b6065f7cb931 100644
return 1;
}
@@ -3938,7 +3945,7 @@ static int shmem_parse_one(struct fs_context *fc, struct fs_parameter *param)
@@ -3935,7 +3942,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 3d721d5591dd..b6065f7cb931 100644
goto bad_value;
ctx->seen |= SHMEM_SEEN_INODES;
break;
@@ -4224,7 +4231,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root)
@@ -4221,7 +4228,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 3d721d5591dd..b6065f7cb931 100644
if (sbinfo->mode != (0777 | S_ISVTX))
seq_printf(seq, ",mode=%03ho", sbinfo->mode);
if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID))
@@ -4278,6 +4285,8 @@ static void shmem_put_super(struct super_block *sb)
@@ -4275,6 +4282,8 @@ static void shmem_put_super(struct super_block *sb)
#ifdef CONFIG_TMPFS_QUOTA
shmem_disable_quotas(sb);
#endif
@@ -178,7 +178,7 @@ index 3d721d5591dd..b6065f7cb931 100644
free_percpu(sbinfo->ino_batch);
percpu_counter_destroy(&sbinfo->used_blocks);
mpol_put(sbinfo->mpol);
@@ -4322,9 +4331,11 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc)
@@ -4319,9 +4328,11 @@ static int shmem_fill_super(struct super_block *sb, struct fs_context *fc)
#else
sb->s_flags |= SB_NOUSER;
#endif
@@ -191,7 +191,7 @@ index 3d721d5591dd..b6065f7cb931 100644
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,
@@ -4464,6 +4475,15 @@ static int shmem_error_remove_page(struct address_space *mapping,
return 0;
}
@@ -207,7 +207,7 @@ index 3d721d5591dd..b6065f7cb931 100644
const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage,
.dirty_folio = noop_dirty_folio,
@@ -4640,6 +4660,7 @@ void __init shmem_init(void)
@@ -4637,6 +4657,7 @@ void __init shmem_init(void)
pr_err("Could not kern_mount tmpfs\n");
goto out1;
}
Binary file not shown.
+13 -2
View File
@@ -33,10 +33,10 @@
</BuildDependencies>
<Patches>
<!-- Linux patches -->
<Patch level="1" compressionType="xz">patches/linux/patch-6.6.61.xz</Patch>
<Patch level="1" compressionType="xz">patches/linux/patch-6.6.67.xz</Patch>
<!-- aufs6 patchec -->
<Patch level="1">patches/aufs6/aufs6.6.54-20241014.patch</Patch>
<Patch level="1">patches/aufs6/aufs6.6.63-20241202.patch</Patch>
<Patch level="1">patches/aufs6/aufs6-base.patch</Patch>
<Patch level="1">patches/aufs6/aufs6-kbuild.patch</Patch>
<!-- <Patch level="1">patches/aufs6/aufs6-loopback.patch</Patch> -->
@@ -123,6 +123,17 @@
</Package>
<History>
<Update release="98">
<Date>2024-12-20</Date>
<Version>6.6.67</Version>
<Comment>Version bump</Comment>
<Type package="kernel">security</Type>
<Requires>
<Action package="kernel">systemRestart</Action>
</Requires>
<Name>Mustafa Cinasal</Name>
<Email>muscnsl@gmail.com</Email>
</Update>
<Update release="97">
<Date>2024-11-16</Date>
<Version>6.6.61</Version>