kernel-6.6.67
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
#
|
#
|
||||||
# Automatically generated file; DO NOT EDIT.
|
# 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_VERSION_TEXT="gcc (Pisi Linux) 13.3.0"
|
||||||
CONFIG_CC_IS_GCC=y
|
CONFIG_CC_IS_GCC=y
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
SPDX-License-Identifier: GPL-2.0
|
||||||
aufs6.6.54 base patch
|
aufs6.6.63 base patch
|
||||||
|
|
||||||
diff --git a/MAINTAINERS b/MAINTAINERS
|
diff --git a/MAINTAINERS b/MAINTAINERS
|
||||||
index ae4c0cec5073..2b5edd2836a7 100644
|
index ae4c0cec5073..2b5edd2836a7 100644
|
||||||
@@ -26,10 +26,10 @@ index ae4c0cec5073..2b5edd2836a7 100644
|
|||||||
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
M: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
|
||||||
R: Dave Ertman <david.m.ertman@intel.com>
|
R: Dave Ertman <david.m.ertman@intel.com>
|
||||||
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
|
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
|
--- a/drivers/block/loop.c
|
||||||
+++ b/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;
|
goto done;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
SPDX-License-Identifier: GPL-2.0
|
||||||
aufs6.6.54 kbuild patch
|
aufs6.6.63 kbuild patch
|
||||||
|
|
||||||
diff --git a/fs/Kconfig b/fs/Kconfig
|
diff --git a/fs/Kconfig b/fs/Kconfig
|
||||||
index aa7e03cc1941..bf780967b6c4 100644
|
index aa7e03cc1941..bf780967b6c4 100644
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
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
|
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
|
--- a/drivers/block/loop.c
|
||||||
+++ b/drivers/block/loop.c
|
+++ b/drivers/block/loop.c
|
||||||
@@ -54,7 +54,7 @@ struct loop_device {
|
@@ -54,7 +54,7 @@ struct loop_device {
|
||||||
@@ -14,7 +14,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
struct block_device *lo_device;
|
struct block_device *lo_device;
|
||||||
|
|
||||||
gfp_t old_gfp_mask;
|
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);
|
lo->use_dio);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -30,7 +30,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
static void loop_reread_partitions(struct loop_device *lo)
|
static void loop_reread_partitions(struct loop_device *lo)
|
||||||
{
|
{
|
||||||
int rc;
|
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 *file = fget(arg);
|
||||||
struct file *old_file;
|
struct file *old_file;
|
||||||
@@ -38,7 +38,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
int error;
|
int error;
|
||||||
bool partscan;
|
bool partscan;
|
||||||
bool is_loop;
|
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))
|
if (!(lo->lo_flags & LO_FLAGS_READ_ONLY))
|
||||||
goto out_err;
|
goto out_err;
|
||||||
|
|
||||||
@@ -58,7 +58,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
|
|
||||||
error = -EINVAL;
|
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);
|
blk_mq_freeze_queue(lo->lo_queue);
|
||||||
mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask);
|
mapping_set_gfp_mask(old_file->f_mapping, lo->old_gfp_mask);
|
||||||
lo->lo_backing_file = file;
|
lo->lo_backing_file = file;
|
||||||
@@ -66,7 +66,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
lo->old_gfp_mask = mapping_gfp_mask(file->f_mapping);
|
lo->old_gfp_mask = mapping_gfp_mask(file->f_mapping);
|
||||||
mapping_set_gfp_mask(file->f_mapping,
|
mapping_set_gfp_mask(file->f_mapping,
|
||||||
lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS));
|
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.
|
* dependency.
|
||||||
*/
|
*/
|
||||||
fput(old_file);
|
fput(old_file);
|
||||||
@@ -75,7 +75,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
if (partscan)
|
if (partscan)
|
||||||
loop_reread_partitions(lo);
|
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);
|
loop_global_unlock(lo, is_loop);
|
||||||
out_putf:
|
out_putf:
|
||||||
fput(file);
|
fput(file);
|
||||||
@@ -84,7 +84,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
goto done;
|
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)
|
const struct loop_config *config)
|
||||||
{
|
{
|
||||||
struct file *file = fget(config->fd);
|
struct file *file = fget(config->fd);
|
||||||
@@ -92,7 +92,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
struct inode *inode;
|
struct inode *inode;
|
||||||
struct address_space *mapping;
|
struct address_space *mapping;
|
||||||
int error;
|
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(). */
|
/* This is safe, since we have a reference from open(). */
|
||||||
__module_get(THIS_MODULE);
|
__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
|
* If we don't hold exclusive handle for the device, upgrade to it
|
||||||
* here to avoid changing device under exclusive owner.
|
* 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->use_dio = lo->lo_flags & LO_FLAGS_DIRECT_IO;
|
||||||
lo->lo_device = bdev;
|
lo->lo_device = bdev;
|
||||||
lo->lo_backing_file = file;
|
lo->lo_backing_file = file;
|
||||||
@@ -114,7 +114,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
lo->old_gfp_mask = mapping_gfp_mask(mapping);
|
lo->old_gfp_mask = mapping_gfp_mask(mapping);
|
||||||
mapping_set_gfp_mask(mapping, lo->old_gfp_mask & ~(__GFP_IO|__GFP_FS));
|
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);
|
bd_abort_claiming(bdev, loop_configure);
|
||||||
out_putf:
|
out_putf:
|
||||||
fput(file);
|
fput(file);
|
||||||
@@ -123,7 +123,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
/* This is safe: open() is still holding a reference. */
|
/* This is safe: open() is still holding a reference. */
|
||||||
module_put(THIS_MODULE);
|
module_put(THIS_MODULE);
|
||||||
return error;
|
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)
|
static void __loop_clr_fd(struct loop_device *lo, bool release)
|
||||||
{
|
{
|
||||||
struct file *filp;
|
struct file *filp;
|
||||||
@@ -131,7 +131,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
gfp_t gfp = lo->old_gfp_mask;
|
gfp_t gfp = lo->old_gfp_mask;
|
||||||
|
|
||||||
if (test_bit(QUEUE_FLAG_WC, &lo->lo_queue->queue_flags))
|
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);
|
spin_lock_irq(&lo->lo_lock);
|
||||||
filp = lo->lo_backing_file;
|
filp = lo->lo_backing_file;
|
||||||
lo->lo_backing_file = NULL;
|
lo->lo_backing_file = NULL;
|
||||||
@@ -139,7 +139,7 @@ index ad953bc6d08a..799119d6b95a 100644
|
|||||||
spin_unlock_irq(&lo->lo_lock);
|
spin_unlock_irq(&lo->lo_lock);
|
||||||
|
|
||||||
lo->lo_device = NULL;
|
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 can take open_mutex which is usually taken before lo_mutex.
|
||||||
*/
|
*/
|
||||||
fput(filp);
|
fput(filp);
|
||||||
@@ -208,7 +208,7 @@ index 03d4908a6c03..34d356e181d5 100644
|
|||||||
|
|
||||||
#endif /* __KERNEL__ */
|
#endif /* __KERNEL__ */
|
||||||
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
|
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
|
--- a/fs/aufs/super.c
|
||||||
+++ b/fs/aufs/super.c
|
+++ b/fs/aufs/super.c
|
||||||
@@ -758,7 +758,10 @@ const struct super_operations aufs_sop = {
|
@@ -758,7 +758,10 @@ const struct super_operations aufs_sop = {
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
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
|
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
|
--- a/fs/proc/base.c
|
||||||
+++ b/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;
|
rc = -ENOENT;
|
||||||
vma = find_exact_vma(mm, vm_start, vm_end);
|
vma = find_exact_vma(mm, vm_start, vm_end);
|
||||||
if (vma && vma->vm_file) {
|
if (vma && vma->vm_file) {
|
||||||
@@ -144,10 +144,10 @@ index 43c19d85dfe7..c6bdd132b7ff 100644
|
|||||||
|
|
||||||
#ifdef CONFIG_ANON_VMA_NAME
|
#ifdef CONFIG_ANON_VMA_NAME
|
||||||
diff --git a/kernel/fork.c b/kernel/fork.c
|
diff --git a/kernel/fork.c b/kernel/fork.c
|
||||||
index 177ce7438db6..869467885640 100644
|
index 23efaa2c42e4..50b94374b715 100644
|
||||||
--- a/kernel/fork.c
|
--- a/kernel/fork.c
|
||||||
+++ b/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) {
|
if (file) {
|
||||||
struct address_space *mapping = file->f_mapping;
|
struct address_space *mapping = file->f_mapping;
|
||||||
|
|
||||||
@@ -166,10 +166,10 @@ index ec65984e2ade..d59461647ccd 100644
|
|||||||
obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
|
obj-$(CONFIG_SHRINKER_DEBUG) += shrinker_debug.o
|
||||||
+obj-y += prfile.o
|
+obj-y += prfile.o
|
||||||
diff --git a/mm/filemap.c b/mm/filemap.c
|
diff --git a/mm/filemap.c b/mm/filemap.c
|
||||||
index e6c112f3a211..4d794ca8b6d2 100644
|
index 2c308413387f..82051ef9f5dd 100644
|
||||||
--- a/mm/filemap.c
|
--- a/mm/filemap.c
|
||||||
+++ b/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;
|
vm_fault_t ret = VM_FAULT_LOCKED;
|
||||||
|
|
||||||
sb_start_pagefault(mapping->host->i_sb);
|
sb_start_pagefault(mapping->host->i_sb);
|
||||||
@@ -179,19 +179,19 @@ index e6c112f3a211..4d794ca8b6d2 100644
|
|||||||
if (folio->mapping != mapping) {
|
if (folio->mapping != mapping) {
|
||||||
folio_unlock(folio);
|
folio_unlock(folio);
|
||||||
diff --git a/mm/mmap.c b/mm/mmap.c
|
diff --git a/mm/mmap.c b/mm/mmap.c
|
||||||
index 6530e9cac458..3a696f12c0f6 100644
|
index e4dfeaef668a..a15b967bb0f8 100644
|
||||||
--- a/mm/mmap.c
|
--- a/mm/mmap.c
|
||||||
+++ b/mm/mmap.c
|
+++ b/mm/mmap.c
|
||||||
@@ -140,7 +140,7 @@ static void remove_vma(struct vm_area_struct *vma, bool unreachable)
|
@@ -139,7 +139,7 @@ static void remove_vma(struct vm_area_struct *vma, bool unreachable)
|
||||||
if (vma->vm_ops && vma->vm_ops->close)
|
might_sleep();
|
||||||
vma->vm_ops->close(vma);
|
vma_close(vma);
|
||||||
if (vma->vm_file)
|
if (vma->vm_file)
|
||||||
- fput(vma->vm_file);
|
- fput(vma->vm_file);
|
||||||
+ vma_fput(vma);
|
+ vma_fput(vma);
|
||||||
mpol_put(vma_policy(vma));
|
mpol_put(vma_policy(vma));
|
||||||
if (unreachable)
|
if (unreachable)
|
||||||
__vm_area_free(vma);
|
__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) {
|
if (vp->file) {
|
||||||
uprobe_munmap(vp->remove, vp->remove->vm_start,
|
uprobe_munmap(vp->remove, vp->remove->vm_start,
|
||||||
vp->remove->vm_end);
|
vp->remove->vm_end);
|
||||||
@@ -200,7 +200,7 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
}
|
}
|
||||||
if (vp->remove->anon_vma)
|
if (vp->remove->anon_vma)
|
||||||
anon_vma_merge(vp->vma, vp->remove);
|
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;
|
goto out_free_mpol;
|
||||||
|
|
||||||
if (new->vm_file)
|
if (new->vm_file)
|
||||||
@@ -209,7 +209,7 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
|
|
||||||
if (new->vm_ops && new->vm_ops->open)
|
if (new->vm_ops && new->vm_ops->open)
|
||||||
new->vm_ops->open(new);
|
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
|
* and cause general protection fault
|
||||||
* ultimately.
|
* ultimately.
|
||||||
*/
|
*/
|
||||||
@@ -218,16 +218,16 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
vm_area_free(vma);
|
vm_area_free(vma);
|
||||||
vma = merge;
|
vma = merge;
|
||||||
/* Update vm_flags to pick up the change. */
|
/* 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_file_vma:
|
||||||
unmap_and_free_vma:
|
- fput(vma->vm_file);
|
||||||
- fput(vma->vm_file);
|
+ vma_fput(vma);
|
||||||
+ vma_fput(vma);
|
vma->vm_file = NULL;
|
||||||
vma->vm_file = NULL;
|
|
||||||
|
|
||||||
vma_iter_set(&vmi, vma->vm_end);
|
vma_iter_set(&vmi, vma->vm_end);
|
||||||
@@ -2966,6 +2966,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
|
@@ -2981,6 +2981,9 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
|
||||||
unsigned long populate = 0;
|
unsigned long populate = 0;
|
||||||
unsigned long ret = -EINVAL;
|
unsigned long ret = -EINVAL;
|
||||||
struct file *file;
|
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",
|
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/mm/remap_file_pages.rst.\n",
|
||||||
current->comm, current->pid);
|
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)
|
if (vma->vm_flags & VM_LOCKED)
|
||||||
flags |= MAP_LOCKED;
|
flags |= MAP_LOCKED;
|
||||||
|
|
||||||
@@ -270,7 +270,7 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
file = get_file(vma->vm_file);
|
file = get_file(vma->vm_file);
|
||||||
ret = security_mmap_file(vma->vm_file, prot, flags);
|
ret = security_mmap_file(vma->vm_file, prot, flags);
|
||||||
if (ret)
|
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);
|
prot, flags, 0, pgoff, &populate, NULL);
|
||||||
out_fput:
|
out_fput:
|
||||||
fput(file);
|
fput(file);
|
||||||
@@ -278,7 +278,7 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
out:
|
out:
|
||||||
mmap_write_unlock(mm);
|
mmap_write_unlock(mm);
|
||||||
if (populate)
|
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))
|
if (anon_vma_clone(new_vma, vma))
|
||||||
goto out_free_mempol;
|
goto out_free_mempol;
|
||||||
if (new_vma->vm_file)
|
if (new_vma->vm_file)
|
||||||
@@ -287,8 +287,8 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
if (new_vma->vm_ops && new_vma->vm_ops->open)
|
if (new_vma->vm_ops && new_vma->vm_ops->open)
|
||||||
new_vma->vm_ops->open(new_vma);
|
new_vma->vm_ops->open(new_vma);
|
||||||
if (vma_link(mm, new_vma))
|
if (vma_link(mm, new_vma))
|
||||||
@@ -3396,7 +3426,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
|
@@ -3410,7 +3440,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
|
||||||
new_vma->vm_ops->close(new_vma);
|
vma_close(new_vma);
|
||||||
|
|
||||||
if (new_vma->vm_file)
|
if (new_vma->vm_file)
|
||||||
- fput(new_vma->vm_file);
|
- fput(new_vma->vm_file);
|
||||||
@@ -297,7 +297,7 @@ index 6530e9cac458..3a696f12c0f6 100644
|
|||||||
unlink_anon_vmas(new_vma);
|
unlink_anon_vmas(new_vma);
|
||||||
out_free_mempol:
|
out_free_mempol:
|
||||||
diff --git a/mm/nommu.c b/mm/nommu.c
|
diff --git a/mm/nommu.c b/mm/nommu.c
|
||||||
index 7f9e9e5a0e12..69663f2bd4c4 100644
|
index f848d98e8997..a6f5ef257fd4 100644
|
||||||
--- a/mm/nommu.c
|
--- a/mm/nommu.c
|
||||||
+++ b/mm/nommu.c
|
+++ b/mm/nommu.c
|
||||||
@@ -523,7 +523,7 @@ static void __put_nommu_region(struct vm_region *region)
|
@@ -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
|
/* IO memory and memory shared directly out of the pagecache
|
||||||
* from ramfs/tmpfs mustn't be released here */
|
* 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)
|
@@ -602,7 +602,7 @@ static void delete_vma(struct mm_struct *mm, struct vm_area_struct *vma)
|
||||||
if (vma->vm_ops && vma->vm_ops->close)
|
{
|
||||||
vma->vm_ops->close(vma);
|
vma_close(vma);
|
||||||
if (vma->vm_file)
|
if (vma->vm_file)
|
||||||
- fput(vma->vm_file);
|
- fput(vma->vm_file);
|
||||||
+ vma_fput(vma);
|
+ vma_fput(vma);
|
||||||
put_nommu_region(vma->vm_region);
|
put_nommu_region(vma->vm_region);
|
||||||
vm_area_free(vma);
|
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;
|
goto error_just_free;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -327,7 +327,7 @@ index 7f9e9e5a0e12..69663f2bd4c4 100644
|
|||||||
kmem_cache_free(vm_region_jar, region);
|
kmem_cache_free(vm_region_jar, region);
|
||||||
region = pregion;
|
region = pregion;
|
||||||
result = start;
|
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:
|
error:
|
||||||
vma_iter_free(&vmi);
|
vma_iter_free(&vmi);
|
||||||
if (region->vm_file)
|
if (region->vm_file)
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
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
|
diff --git a/fs/dcache.c b/fs/dcache.c
|
||||||
index e2877ac9a1e6..f20b4ac29a1d 100644
|
index e2877ac9a1e6..f20b4ac29a1d 100644
|
||||||
@@ -22,7 +22,7 @@ index e2877ac9a1e6..f20b4ac29a1d 100644
|
|||||||
/**
|
/**
|
||||||
* d_ancestor - search for an ancestor
|
* d_ancestor - search for an ancestor
|
||||||
diff --git a/fs/exec.c b/fs/exec.c
|
diff --git a/fs/exec.c b/fs/exec.c
|
||||||
index 1cbbef281f8c..d4f50eb57e67 100644
|
index 7776209d98c1..372bbb606c38 100644
|
||||||
--- a/fs/exec.c
|
--- a/fs/exec.c
|
||||||
+++ b/fs/exec.c
|
+++ b/fs/exec.c
|
||||||
@@ -112,6 +112,7 @@ bool path_noexec(const struct path *path)
|
@@ -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.
|
* Drop a reference to a group. Free it if it's through.
|
||||||
diff --git a/fs/open.c b/fs/open.c
|
diff --git a/fs/open.c b/fs/open.c
|
||||||
index 59db720693f9..523a714839aa 100644
|
index f9ac703ec1b2..d5c83814332e 100644
|
||||||
--- a/fs/open.c
|
--- a/fs/open.c
|
||||||
+++ b/fs/open.c
|
+++ b/fs/open.c
|
||||||
@@ -67,6 +67,7 @@ int do_truncate(struct mnt_idmap *idmap, struct dentry *dentry,
|
@@ -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
|
#ifdef CONFIG_LOCK_STAT
|
||||||
diff --git a/kernel/task_work.c b/kernel/task_work.c
|
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
|
--- a/kernel/task_work.c
|
||||||
+++ b/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);
|
} while (work);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+405
-280
File diff suppressed because it is too large
Load Diff
@@ -1,5 +1,5 @@
|
|||||||
SPDX-License-Identifier: GPL-2.0
|
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
|
diff --git a/include/linux/lockdep_types.h b/include/linux/lockdep_types.h
|
||||||
index 2ebc323d345a..9d7009190515 100644
|
index 2ebc323d345a..9d7009190515 100644
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ index 134c686c8676..632d447caf64 100644
|
|||||||
umode_t mode; /* Mount mode for root directory */
|
umode_t mode; /* Mount mode for root directory */
|
||||||
unsigned char huge; /* Whether to try for hugepages */
|
unsigned char huge; /* Whether to try for hugepages */
|
||||||
diff --git a/mm/shmem.c b/mm/shmem.c
|
diff --git a/mm/shmem.c b/mm/shmem.c
|
||||||
index 3d721d5591dd..b6065f7cb931 100644
|
index db7dd45c9181..554f1c80882e 100644
|
||||||
--- a/mm/shmem.c
|
--- a/mm/shmem.c
|
||||||
+++ b/mm/shmem.c
|
+++ b/mm/shmem.c
|
||||||
@@ -111,7 +111,7 @@ struct shmem_falloc {
|
@@ -111,7 +111,7 @@ struct shmem_falloc {
|
||||||
@@ -63,7 +63,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
shmem_free_inode(inode->i_sb, freed);
|
shmem_free_inode(inode->i_sb, freed);
|
||||||
WARN_ON(inode->i_blocks);
|
WARN_ON(inode->i_blocks);
|
||||||
clear_inode(inode);
|
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;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -89,7 +89,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
lockdep_annotate_inode_mutex_key(inode);
|
lockdep_annotate_inode_mutex_key(inode);
|
||||||
return 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)
|
static int shmem_match(struct inode *ino, void *vfh)
|
||||||
{
|
{
|
||||||
__u32 *fh = vfh;
|
__u32 *fh = vfh;
|
||||||
@@ -99,7 +99,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
return ino->i_ino == inum && fh[0] == ino->i_generation;
|
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;
|
struct dentry *dentry = NULL;
|
||||||
u64 inum;
|
u64 inum;
|
||||||
|
|
||||||
@@ -117,7 +117,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
if (inode) {
|
if (inode) {
|
||||||
dentry = shmem_find_alias(inode);
|
dentry = shmem_find_alias(inode);
|
||||||
iput(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,
|
static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len,
|
||||||
struct inode *parent)
|
struct inode *parent)
|
||||||
{
|
{
|
||||||
@@ -151,7 +151,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
return 1;
|
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;
|
break;
|
||||||
case Opt_nr_inodes:
|
case Opt_nr_inodes:
|
||||||
ctx->inodes = memparse(param->string, &rest);
|
ctx->inodes = memparse(param->string, &rest);
|
||||||
@@ -160,7 +160,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
goto bad_value;
|
goto bad_value;
|
||||||
ctx->seen |= SHMEM_SEEN_INODES;
|
ctx->seen |= SHMEM_SEEN_INODES;
|
||||||
break;
|
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())
|
if (sbinfo->max_blocks != shmem_default_max_blocks())
|
||||||
seq_printf(seq, ",size=%luk", K(sbinfo->max_blocks));
|
seq_printf(seq, ",size=%luk", K(sbinfo->max_blocks));
|
||||||
if (sbinfo->max_inodes != shmem_default_max_inodes())
|
if (sbinfo->max_inodes != shmem_default_max_inodes())
|
||||||
@@ -169,7 +169,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
if (sbinfo->mode != (0777 | S_ISVTX))
|
if (sbinfo->mode != (0777 | S_ISVTX))
|
||||||
seq_printf(seq, ",mode=%03ho", sbinfo->mode);
|
seq_printf(seq, ",mode=%03ho", sbinfo->mode);
|
||||||
if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID))
|
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
|
#ifdef CONFIG_TMPFS_QUOTA
|
||||||
shmem_disable_quotas(sb);
|
shmem_disable_quotas(sb);
|
||||||
#endif
|
#endif
|
||||||
@@ -178,7 +178,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
free_percpu(sbinfo->ino_batch);
|
free_percpu(sbinfo->ino_batch);
|
||||||
percpu_counter_destroy(&sbinfo->used_blocks);
|
percpu_counter_destroy(&sbinfo->used_blocks);
|
||||||
mpol_put(sbinfo->mpol);
|
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
|
#else
|
||||||
sb->s_flags |= SB_NOUSER;
|
sb->s_flags |= SB_NOUSER;
|
||||||
#endif
|
#endif
|
||||||
@@ -191,7 +191,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
if (sb->s_flags & SB_KERNMOUNT) {
|
if (sb->s_flags & SB_KERNMOUNT) {
|
||||||
sbinfo->ino_batch = alloc_percpu(ino_t);
|
sbinfo->ino_batch = alloc_percpu(ino_t);
|
||||||
if (!sbinfo->ino_batch)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -207,7 +207,7 @@ index 3d721d5591dd..b6065f7cb931 100644
|
|||||||
const struct address_space_operations shmem_aops = {
|
const struct address_space_operations shmem_aops = {
|
||||||
.writepage = shmem_writepage,
|
.writepage = shmem_writepage,
|
||||||
.dirty_folio = noop_dirty_folio,
|
.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");
|
pr_err("Could not kern_mount tmpfs\n");
|
||||||
goto out1;
|
goto out1;
|
||||||
}
|
}
|
||||||
|
|||||||
Binary file not shown.
+13
-2
@@ -33,10 +33,10 @@
|
|||||||
</BuildDependencies>
|
</BuildDependencies>
|
||||||
<Patches>
|
<Patches>
|
||||||
<!-- Linux 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 -->
|
<!-- 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-base.patch</Patch>
|
||||||
<Patch level="1">patches/aufs6/aufs6-kbuild.patch</Patch>
|
<Patch level="1">patches/aufs6/aufs6-kbuild.patch</Patch>
|
||||||
<!-- <Patch level="1">patches/aufs6/aufs6-loopback.patch</Patch> -->
|
<!-- <Patch level="1">patches/aufs6/aufs6-loopback.patch</Patch> -->
|
||||||
@@ -123,6 +123,17 @@
|
|||||||
</Package>
|
</Package>
|
||||||
|
|
||||||
<History>
|
<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">
|
<Update release="97">
|
||||||
<Date>2024-11-16</Date>
|
<Date>2024-11-16</Date>
|
||||||
<Version>6.6.61</Version>
|
<Version>6.6.61</Version>
|
||||||
|
|||||||
Reference in New Issue
Block a user