Commit 7d745f62 authored by Ben Hutchings's avatar Ben Hutchings

aufs: Update support patchset to aufs5.1 20190520

parent 1e1b0098
...@@ -17,6 +17,7 @@ linux (5.1.3-1~exp1) UNRELEASED; urgency=medium ...@@ -17,6 +17,7 @@ linux (5.1.3-1~exp1) UNRELEASED; urgency=medium
* liblockdep: Disable until it can be built again * liblockdep: Disable until it can be built again
* libcpupower: Bump soversion since 2 exported functions have been removed * libcpupower: Bump soversion since 2 exported functions have been removed
* libbpf: Stop overriding upstream soname; rename shlib package to libbpf0 * libbpf: Stop overriding upstream soname; rename shlib package to libbpf0
* aufs: Update support patchset to aufs5.1 20190520
[ Vagrant Cascadian ] [ Vagrant Cascadian ]
* [arm64] Enable modules to support audio on pinebook: SND_SUN4I_I2S, * [arm64] Enable modules to support audio on pinebook: SND_SUN4I_I2S,
......
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Sun Mar 10 01:25:13 2019 +0900 Date: Sun May 19 09:46:26 2019 +0900
Subject: aufs5.0 base patch Subject: aufs5.1 base patch
Origin: https://github.com/sfjro/aufs5-standalone/tree/06b60dd6e4ffa5e1cdf199a578ba1d3acac6821d Origin: https://github.com/sfjro/aufs5-standalone/tree/364ef5727008f0b8140df72b03953196a2dde794
Bug-Debian: https://bugs.debian.org/541828 Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/bin/genpatch-aufs Patch headers added by debian/bin/genpatch-aufs
SPDX-License-Identifier: GPL-2.0 SPDX-License-Identifier: GPL-2.0
aufs5.0 base patch aufs5.1 base patch
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index dce5c099f43c..d10f05c88860 100644 index 2c2fce72e694..f5be2663b01e 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -2635,6 +2635,19 @@ F: include/linux/audit.h @@ -2699,6 +2699,19 @@ F: include/linux/audit.h
F: include/uapi/linux/audit.h F: include/uapi/linux/audit.h
F: kernel/audit* F: kernel/audit*
...@@ -34,7 +34,7 @@ index dce5c099f43c..d10f05c88860 100644 ...@@ -34,7 +34,7 @@ index dce5c099f43c..d10f05c88860 100644
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com> M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
S: Maintained S: Maintained
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 cf5538942834..a271e17e4b10 100644 index bf1c61cab8eb..7e18c8c72dcc 100644
--- a/drivers/block/loop.c --- a/drivers/block/loop.c
+++ b/drivers/block/loop.c +++ b/drivers/block/loop.c
@@ -738,6 +738,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, @@ -738,6 +738,24 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev,
...@@ -98,7 +98,7 @@ index 083185174c6d..78234ee16784 100644 ...@@ -98,7 +98,7 @@ index 083185174c6d..78234ee16784 100644
return error; return error;
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index 73432e64f874..4a1756b8b4bd 100644 index 9a453f3637f8..ee4434cea572 100644
--- a/fs/inode.c --- a/fs/inode.c
+++ b/fs/inode.c +++ b/fs/inode.c
@@ -1657,7 +1657,7 @@ EXPORT_SYMBOL(generic_update_time); @@ -1657,7 +1657,7 @@ EXPORT_SYMBOL(generic_update_time);
...@@ -111,10 +111,10 @@ index 73432e64f874..4a1756b8b4bd 100644 ...@@ -111,10 +111,10 @@ index 73432e64f874..4a1756b8b4bd 100644
int (*update_time)(struct inode *, struct timespec64 *, int); int (*update_time)(struct inode *, struct timespec64 *, int);
diff --git a/fs/namespace.c b/fs/namespace.c diff --git a/fs/namespace.c b/fs/namespace.c
index 678ef175d63a..9b6a3d0f87a1 100644 index c9cab307fa77..e56de0b2bee0 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -768,6 +768,12 @@ static inline int check_mnt(struct mount *mnt) @@ -769,6 +769,12 @@ static inline int check_mnt(struct mount *mnt)
return mnt->mnt_ns == current->nsproxy->mnt_ns; return mnt->mnt_ns == current->nsproxy->mnt_ns;
} }
...@@ -128,10 +128,10 @@ index 678ef175d63a..9b6a3d0f87a1 100644 ...@@ -128,10 +128,10 @@ index 678ef175d63a..9b6a3d0f87a1 100644
* vfsmount lock must be held for write * vfsmount lock must be held for write
*/ */
diff --git a/fs/read_write.c b/fs/read_write.c diff --git a/fs/read_write.c b/fs/read_write.c
index ff3c5e6f87cf..5c18a9e51f37 100644 index 61b43ad7608e..8979e01e9bf0 100644
--- a/fs/read_write.c --- a/fs/read_write.c
+++ b/fs/read_write.c +++ b/fs/read_write.c
@@ -489,6 +489,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, @@ -489,6 +489,28 @@ static ssize_t __vfs_write(struct file *file, const char __user *p,
return -EINVAL; return -EINVAL;
} }
...@@ -161,10 +161,10 @@ index ff3c5e6f87cf..5c18a9e51f37 100644 ...@@ -161,10 +161,10 @@ index ff3c5e6f87cf..5c18a9e51f37 100644
{ {
mm_segment_t old_fs; mm_segment_t old_fs;
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index de2ede048473..5dcf77b8e1b2 100644 index 25212dcca2df..9629564ee8f2 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -837,8 +837,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); @@ -833,8 +833,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/* /*
* Attempt to initiate a splice from pipe to file. * Attempt to initiate a splice from pipe to file.
*/ */
...@@ -175,7 +175,7 @@ index de2ede048473..5dcf77b8e1b2 100644 ...@@ -175,7 +175,7 @@ index de2ede048473..5dcf77b8e1b2 100644
{ {
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int); loff_t *, size_t, unsigned int);
@@ -854,9 +854,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -850,9 +850,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
/* /*
* Attempt to initiate a splice from a file to a pipe. * Attempt to initiate a splice from a file to a pipe.
*/ */
...@@ -202,10 +202,10 @@ index b54e0541ad89..28607828e96f 100644 ...@@ -202,10 +202,10 @@ index b54e0541ad89..28607828e96f 100644
if (wait) if (wait)
sync_inodes_sb(sb); sync_inodes_sb(sb);
diff --git a/include/linux/fs.h b/include/linux/fs.h diff --git a/include/linux/fs.h b/include/linux/fs.h
index 29d8e2cfed0e..5db265e7d35a 100644 index dd28e7679089..77933034b50a 100644
--- a/include/linux/fs.h --- a/include/linux/fs.h
+++ b/include/linux/fs.h +++ b/include/linux/fs.h
@@ -1310,6 +1310,7 @@ extern void fasync_free(struct fasync_struct *); @@ -1327,6 +1327,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */ /* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int); extern void kill_fasync(struct fasync_struct **, int, int);
...@@ -213,7 +213,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644 ...@@ -213,7 +213,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force); extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern int f_setown(struct file *filp, unsigned long arg, int force); extern int f_setown(struct file *filp, unsigned long arg, int force);
extern void f_delown(struct file *filp); extern void f_delown(struct file *filp);
@@ -1803,6 +1804,7 @@ struct file_operations { @@ -1806,6 +1807,7 @@ struct file_operations {
ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int); ssize_t (*sendpage) (struct file *, struct page *, int, size_t, loff_t *, int);
unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long); unsigned long (*get_unmapped_area)(struct file *, unsigned long, unsigned long, unsigned long, unsigned long);
int (*check_flags)(int); int (*check_flags)(int);
...@@ -221,7 +221,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644 ...@@ -221,7 +221,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644
int (*flock) (struct file *, int, struct file_lock *); int (*flock) (struct file *, int, struct file_lock *);
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int); ssize_t (*splice_write)(struct pipe_inode_info *, struct file *, loff_t *, size_t, unsigned int);
ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
@@ -1873,6 +1875,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, @@ -1876,6 +1878,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
struct iovec *fast_pointer, struct iovec *fast_pointer,
struct iovec **ret_pointer); struct iovec **ret_pointer);
...@@ -234,7 +234,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644 ...@@ -234,7 +234,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644
extern ssize_t __vfs_read(struct file *, char __user *, size_t, loff_t *); extern ssize_t __vfs_read(struct file *, char __user *, size_t, loff_t *);
extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *); extern ssize_t vfs_read(struct file *, char __user *, size_t, loff_t *);
extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *); extern ssize_t vfs_write(struct file *, const char __user *, size_t, loff_t *);
@@ -2298,6 +2306,7 @@ extern int current_umask(void); @@ -2306,6 +2314,7 @@ extern int current_umask(void);
extern void ihold(struct inode * inode); extern void ihold(struct inode * inode);
extern void iput(struct inode *); extern void iput(struct inode *);
extern int generic_update_time(struct inode *, struct timespec64 *, int); extern int generic_update_time(struct inode *, struct timespec64 *, int);
...@@ -242,7 +242,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644 ...@@ -242,7 +242,7 @@ index 29d8e2cfed0e..5db265e7d35a 100644
/* /sys/fs */ /* /sys/fs */
extern struct kobject *fs_kobj; extern struct kobject *fs_kobj;
@@ -2585,6 +2594,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb) @@ -2594,6 +2603,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
return false; return false;
} }
#endif #endif
...@@ -251,10 +251,10 @@ index 29d8e2cfed0e..5db265e7d35a 100644 ...@@ -251,10 +251,10 @@ index 29d8e2cfed0e..5db265e7d35a 100644
extern const struct file_operations def_blk_fops; extern const struct file_operations def_blk_fops;
extern const struct file_operations def_chr_fops; extern const struct file_operations def_chr_fops;
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index c5335df2372f..4e48a5059536 100644 index 79c3873d58ac..470795d9f4a2 100644
--- a/include/linux/lockdep.h --- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h +++ b/include/linux/lockdep.h
@@ -306,6 +306,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock, @@ -320,6 +320,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
return lock->key == key; return lock->key == key;
} }
...@@ -263,7 +263,7 @@ index c5335df2372f..4e48a5059536 100644 ...@@ -263,7 +263,7 @@ index c5335df2372f..4e48a5059536 100644
/* /*
* Acquire a lock. * Acquire a lock.
* *
@@ -432,6 +434,7 @@ struct lockdep_map { }; @@ -458,6 +460,7 @@ struct lockdep_map { };
#define lockdep_depth(tsk) (0) #define lockdep_depth(tsk) (0)
...@@ -306,10 +306,10 @@ index 74b4911ac16d..19789fbea567 100644 ...@@ -306,10 +306,10 @@ index 74b4911ac16d..19789fbea567 100644
+ unsigned int flags); + unsigned int flags);
#endif #endif
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index 95932333a48b..516ab7da26fb 100644 index e221be724fe8..c738ac7c3a46 100644
--- a/kernel/locking/lockdep.c --- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c
@@ -143,7 +143,7 @@ static @@ -151,7 +151,7 @@ static
#endif #endif
struct lock_class lock_classes[MAX_LOCKDEP_KEYS]; struct lock_class lock_classes[MAX_LOCKDEP_KEYS];
...@@ -318,7 +318,7 @@ index 95932333a48b..516ab7da26fb 100644 ...@@ -318,7 +318,7 @@ index 95932333a48b..516ab7da26fb 100644
{ {
if (!hlock->class_idx) { if (!hlock->class_idx) {
/* /*
@@ -154,6 +154,7 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock) @@ -162,6 +162,7 @@ static inline struct lock_class *hlock_class(struct held_lock *hlock)
} }
return lock_classes + hlock->class_idx - 1; return lock_classes + hlock->class_idx - 1;
} }
......
From: J. R. Okajima <hooanon05@yahoo.co.jp> From: J. R. Okajima <hooanon05@yahoo.co.jp>
Date: Sun Mar 10 01:25:13 2019 +0900 Date: Sun May 19 09:46:26 2019 +0900
Subject: aufs5.0 mmap patch Subject: aufs5.1 mmap patch
Origin: https://github.com/sfjro/aufs5-standalone/tree/06b60dd6e4ffa5e1cdf199a578ba1d3acac6821d Origin: https://github.com/sfjro/aufs5-standalone/tree/364ef5727008f0b8140df72b03953196a2dde794
Bug-Debian: https://bugs.debian.org/541828 Bug-Debian: https://bugs.debian.org/541828
Patch headers added by debian/bin/genpatch-aufs Patch headers added by debian/bin/genpatch-aufs
SPDX-License-Identifier: GPL-2.0 SPDX-License-Identifier: GPL-2.0
aufs5.0 mmap patch aufs5.1 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 f5ed9512d193..e8f8e59d93bb 100644 index 6a803a0b75df..a51f41a1b4dd 100644
--- a/fs/proc/base.c --- a/fs/proc/base.c
+++ b/fs/proc/base.c +++ b/fs/proc/base.c
@@ -2014,7 +2014,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path) @@ -2019,7 +2019,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
down_read(&mm->mmap_sem); down_read(&mm->mmap_sem);
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) {
...@@ -39,7 +39,7 @@ index 3b63be64e436..fb9913bf3d10 100644 ...@@ -39,7 +39,7 @@ index 3b63be64e436..fb9913bf3d10 100644
ino = inode->i_ino; ino = inode->i_ino;
} }
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 85b0ef890b28..0f7fb8138160 100644 index 95ca1fe7283c..914d9fa7c596 100644
--- a/fs/proc/task_mmu.c --- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c
@@ -305,7 +305,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma) @@ -305,7 +305,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
...@@ -54,7 +54,7 @@ index 85b0ef890b28..0f7fb8138160 100644 ...@@ -54,7 +54,7 @@ index 85b0ef890b28..0f7fb8138160 100644
dev = inode->i_sb->s_dev; dev = inode->i_sb->s_dev;
ino = inode->i_ino; ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1740,7 +1743,7 @@ static int show_numa_map(struct seq_file *m, void *v) @@ -1760,7 +1763,7 @@ static int show_numa_map(struct seq_file *m, void *v)
struct proc_maps_private *proc_priv = &numa_priv->proc_maps; struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v; struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md; struct numa_maps *md = &numa_priv->md;
...@@ -64,7 +64,7 @@ index 85b0ef890b28..0f7fb8138160 100644 ...@@ -64,7 +64,7 @@ index 85b0ef890b28..0f7fb8138160 100644
struct mm_walk walk = { struct mm_walk walk = {
.hugetlb_entry = gather_hugetlb_stats, .hugetlb_entry = gather_hugetlb_stats,
diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c diff --git a/fs/proc/task_nommu.c b/fs/proc/task_nommu.c
index 0b63d68dedb2..400d1c594ceb 100644 index 36bf0f2e102e..8df6cbc58756 100644
--- a/fs/proc/task_nommu.c --- a/fs/proc/task_nommu.c
+++ b/fs/proc/task_nommu.c +++ b/fs/proc/task_nommu.c
@@ -155,7 +155,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma) @@ -155,7 +155,10 @@ static int nommu_vma_show(struct seq_file *m, struct vm_area_struct *vma)
...@@ -80,10 +80,10 @@ index 0b63d68dedb2..400d1c594ceb 100644 ...@@ -80,10 +80,10 @@ index 0b63d68dedb2..400d1c594ceb 100644
ino = inode->i_ino; ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h diff --git a/include/linux/mm.h b/include/linux/mm.h
index 80bb6408fe73..59a1ea611ba7 100644 index 6b10c21630f5..5951915df163 100644
--- a/include/linux/mm.h --- a/include/linux/mm.h
+++ b/include/linux/mm.h +++ b/include/linux/mm.h
@@ -1518,6 +1518,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping, @@ -1486,6 +1486,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
unmap_mapping_range(mapping, holebegin, holelen, 0); unmap_mapping_range(mapping, holebegin, holelen, 0);
} }
...@@ -113,10 +113,10 @@ index 80bb6408fe73..59a1ea611ba7 100644 ...@@ -113,10 +113,10 @@ index 80bb6408fe73..59a1ea611ba7 100644
void *buf, int len, unsigned int gup_flags); void *buf, int len, unsigned int gup_flags);
extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, 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 diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h
index 2c471a2c43fa..c6e7aa6996ff 100644 index 4ef4bbe78a1d..8cac6e0bc1a8 100644
--- a/include/linux/mm_types.h --- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h +++ b/include/linux/mm_types.h
@@ -244,6 +244,7 @@ struct vm_region { @@ -250,6 +250,7 @@ struct vm_region {
unsigned long vm_top; /* region allocated to here */ unsigned long vm_top; /* region allocated to here */
unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */ unsigned long vm_pgoff; /* the offset in vm_file corresponding to vm_start */
struct file *vm_file; /* the backing file or NULL */ struct file *vm_file; /* the backing file or NULL */
...@@ -124,7 +124,7 @@ index 2c471a2c43fa..c6e7aa6996ff 100644 ...@@ -124,7 +124,7 @@ index 2c471a2c43fa..c6e7aa6996ff 100644
int vm_usage; /* region usage count (access under nommu_region_sem) */ int vm_usage; /* region usage count (access under nommu_region_sem) */
bool vm_icache_flushed : 1; /* true if the icache has been flushed for bool vm_icache_flushed : 1; /* true if the icache has been flushed for
@@ -318,6 +319,7 @@ struct vm_area_struct { @@ -324,6 +325,7 @@ struct vm_area_struct {
unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE unsigned long vm_pgoff; /* Offset (within vm_file) in PAGE_SIZE
units */ units */
struct file * vm_file; /* File we map to (can be NULL). */ struct file * vm_file; /* File we map to (can be NULL). */
...@@ -133,10 +133,10 @@ index 2c471a2c43fa..c6e7aa6996ff 100644 ...@@ -133,10 +133,10 @@ index 2c471a2c43fa..c6e7aa6996ff 100644
atomic_long_t swap_readahead_info; atomic_long_t swap_readahead_info;
diff --git a/kernel/fork.c b/kernel/fork.c diff --git a/kernel/fork.c b/kernel/fork.c
index b69248e6f0e0..099b89978dd3 100644 index 9dcd18aa210b..cf478ebb6926 100644
--- a/kernel/fork.c --- a/kernel/fork.c
+++ b/kernel/fork.c +++ b/kernel/fork.c
@@ -547,7 +547,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, @@ -546,7 +546,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
struct inode *inode = file_inode(file); struct inode *inode = file_inode(file);
struct address_space *mapping = file->f_mapping; struct address_space *mapping = file->f_mapping;
...@@ -159,10 +159,10 @@ index d210cc9d6f80..e77e80ce7298 100644 ...@@ -159,10 +159,10 @@ index d210cc9d6f80..e77e80ce7298 100644
obj-y += init-mm.o obj-y += init-mm.o
obj-y += memblock.o obj-y += memblock.o
diff --git a/mm/filemap.c b/mm/filemap.c diff --git a/mm/filemap.c b/mm/filemap.c
index 9f5e323e883e..90db684a7cf4 100644 index d78f577baef2..7dcd21948a79 100644
--- a/mm/filemap.c --- a/mm/filemap.c
+++ b/mm/filemap.c +++ b/mm/filemap.c
@@ -2677,7 +2677,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf) @@ -2764,7 +2764,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(inode->i_sb); sb_start_pagefault(inode->i_sb);
...@@ -172,10 +172,10 @@ index 9f5e323e883e..90db684a7cf4 100644 ...@@ -172,10 +172,10 @@ index 9f5e323e883e..90db684a7cf4 100644
if (page->mapping != inode->i_mapping) { if (page->mapping != inode->i_mapping) {
unlock_page(page); unlock_page(page);
diff --git a/mm/mmap.c b/mm/mmap.c diff --git a/mm/mmap.c b/mm/mmap.c
index fc1809b1bed6..8f62e47a60ea 100644 index bd7b9f293b39..f3fd32a1df36 100644
--- a/mm/mmap.c --- a/mm/mmap.c
+++ b/mm/mmap.c +++ b/mm/mmap.c
@@ -180,7 +180,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) @@ -181,7 +181,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close) if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma); vma->vm_ops->close(vma);
if (vma->vm_file) if (vma->vm_file)
...@@ -184,7 +184,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -184,7 +184,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
mpol_put(vma_policy(vma)); mpol_put(vma_policy(vma));
vm_area_free(vma); vm_area_free(vma);
return next; return next;
@@ -929,7 +929,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start, @@ -930,7 +930,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
if (remove_next) { if (remove_next) {
if (file) { if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end); uprobe_munmap(next, next->vm_start, next->vm_end);
...@@ -193,7 +193,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -193,7 +193,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
} }
if (next->anon_vma) if (next->anon_vma)
anon_vma_merge(vma, next); anon_vma_merge(vma, next);
@@ -1845,8 +1845,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr, @@ -1846,8 +1846,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
return addr; return addr;
unmap_and_free_vma: unmap_and_free_vma:
...@@ -203,7 +203,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -203,7 +203,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
/* Undo any partial mapping done by a device driver. */ /* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2675,7 +2675,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, @@ -2679,7 +2679,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
goto out_free_mpol; goto out_free_mpol;
if (new->vm_file) if (new->vm_file)
...@@ -212,7 +212,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -212,7 +212,7 @@ index fc1809b1bed6..8f62e47a60ea 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);
@@ -2694,7 +2694,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, @@ -2698,7 +2698,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
if (new->vm_ops && new->vm_ops->close) if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new); new->vm_ops->close(new);
if (new->vm_file) if (new->vm_file)
...@@ -221,7 +221,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -221,7 +221,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
unlink_anon_vmas(new); unlink_anon_vmas(new);
out_free_mpol: out_free_mpol:
mpol_put(vma_policy(new)); mpol_put(vma_policy(new));
@@ -2884,7 +2884,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, @@ -2888,7 +2888,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
struct vm_area_struct *vma; struct vm_area_struct *vma;
unsigned long populate = 0; unsigned long populate = 0;
unsigned long ret = -EINVAL; unsigned long ret = -EINVAL;
...@@ -230,7 +230,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -230,7 +230,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n", pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n",
current->comm, current->pid); current->comm, current->pid);
@@ -2959,10 +2959,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size, @@ -2963,10 +2963,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
} }
} }
...@@ -259,7 +259,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -259,7 +259,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
out: out:
up_write(&mm->mmap_sem); up_write(&mm->mmap_sem);
if (populate) if (populate)
@@ -3252,7 +3269,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, @@ -3256,7 +3273,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)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment