Commit 25f304c2 authored by J. R. Okajima's avatar J. R. Okajima
Browse files

5.0 20200622


Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
parent a9d56d5d
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 base patch aufs5.0 base patch
diff --git a/MAINTAINERS b/MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS
index dce5c099f43c..d10f05c88860 100644 index dce5c099f43c3..d10f05c88860a 100644
--- a/MAINTAINERS --- a/MAINTAINERS
+++ b/MAINTAINERS +++ b/MAINTAINERS
@@ -2635,6 +2635,19 @@ F: include/linux/audit.h @@ -2635,6 +2635,19 @@ F: include/linux/audit.h
...@@ -26,7 +26,7 @@ index dce5c099f43c..d10f05c88860 100644 ...@@ -26,7 +26,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 cf55389428340..a271e17e4b10f 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,
...@@ -55,7 +55,7 @@ index cf5538942834..a271e17e4b10 100644 ...@@ -55,7 +55,7 @@ index cf5538942834..a271e17e4b10 100644
static ssize_t loop_attr_show(struct device *dev, char *page, static ssize_t loop_attr_show(struct device *dev, char *page,
diff --git a/fs/dcache.c b/fs/dcache.c diff --git a/fs/dcache.c b/fs/dcache.c
index aac41adf4743..fc18967c2522 100644 index aac41adf47433..fc18967c25227 100644
--- a/fs/dcache.c --- a/fs/dcache.c
+++ b/fs/dcache.c +++ b/fs/dcache.c
@@ -1247,7 +1247,7 @@ enum d_walk_ret { @@ -1247,7 +1247,7 @@ enum d_walk_ret {
...@@ -68,7 +68,7 @@ index aac41adf4743..fc18967c2522 100644 ...@@ -68,7 +68,7 @@ index aac41adf4743..fc18967c2522 100644
{ {
struct dentry *this_parent; struct dentry *this_parent;
diff --git a/fs/fcntl.c b/fs/fcntl.c diff --git a/fs/fcntl.c b/fs/fcntl.c
index 083185174c6d..7828d53148a7 100644 index 083185174c6d1..7828d53148a79 100644
--- a/fs/fcntl.c --- a/fs/fcntl.c
+++ b/fs/fcntl.c +++ b/fs/fcntl.c
@@ -32,7 +32,7 @@ @@ -32,7 +32,7 @@
...@@ -90,7 +90,7 @@ index 083185174c6d..7828d53148a7 100644 ...@@ -90,7 +90,7 @@ index 083185174c6d..7828d53148a7 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 73432e64f8746..4a1756b8b4bde 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);
...@@ -103,7 +103,7 @@ index 73432e64f874..4a1756b8b4bd 100644 ...@@ -103,7 +103,7 @@ 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 678ef175d63ae..9b6a3d0f87a16 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) @@ -768,6 +768,12 @@ static inline int check_mnt(struct mount *mnt)
...@@ -120,7 +120,7 @@ index 678ef175d63a..9b6a3d0f87a1 100644 ...@@ -120,7 +120,7 @@ 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..d41e5b992eaa 100644 index ff3c5e6f87cfa..d41e5b992eaa1 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 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
...@@ -153,7 +153,7 @@ index ff3c5e6f87cf..d41e5b992eaa 100644 ...@@ -153,7 +153,7 @@ index ff3c5e6f87cf..d41e5b992eaa 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 de2ede048473c..5dcf77b8e1b27 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); @@ -837,8 +837,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
...@@ -181,7 +181,7 @@ index de2ede048473..5dcf77b8e1b2 100644 ...@@ -181,7 +181,7 @@ index de2ede048473..5dcf77b8e1b2 100644
ssize_t (*splice_read)(struct file *, loff_t *, ssize_t (*splice_read)(struct file *, loff_t *,
struct pipe_inode_info *, size_t, unsigned int); struct pipe_inode_info *, size_t, unsigned int);
diff --git a/fs/sync.c b/fs/sync.c diff --git a/fs/sync.c b/fs/sync.c
index b54e0541ad89..28607828e96f 100644 index b54e0541ad899..28607828e96f2 100644
--- a/fs/sync.c --- a/fs/sync.c
+++ b/fs/sync.c +++ b/fs/sync.c
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
...@@ -194,7 +194,7 @@ index b54e0541ad89..28607828e96f 100644 ...@@ -194,7 +194,7 @@ 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..526424dc746b 100644 index 29d8e2cfed0e7..526424dc746bf 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 *); @@ -1310,6 +1310,7 @@ extern void fasync_free(struct fasync_struct *);
...@@ -243,7 +243,7 @@ index 29d8e2cfed0e..526424dc746b 100644 ...@@ -243,7 +243,7 @@ index 29d8e2cfed0e..526424dc746b 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 c5335df2372f3..4e48a50595360 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, @@ -306,6 +306,8 @@ static inline int lockdep_match_key(struct lockdep_map *lock,
...@@ -264,7 +264,7 @@ index c5335df2372f..4e48a5059536 100644 ...@@ -264,7 +264,7 @@ index c5335df2372f..4e48a5059536 100644
#define lockdep_assert_held(l) do { (void)(l); } while (0) #define lockdep_assert_held(l) do { (void)(l); } while (0)
diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h diff --git a/include/linux/mnt_namespace.h b/include/linux/mnt_namespace.h
index 35942084cd40..24f5fd1a789d 100644 index 35942084cd40d..24f5fd1a789de 100644
--- a/include/linux/mnt_namespace.h --- a/include/linux/mnt_namespace.h
+++ b/include/linux/mnt_namespace.h +++ b/include/linux/mnt_namespace.h
@@ -6,11 +6,14 @@ @@ -6,11 +6,14 @@
...@@ -283,7 +283,7 @@ index 35942084cd40..24f5fd1a789d 100644 ...@@ -283,7 +283,7 @@ index 35942084cd40..24f5fd1a789d 100644
extern const struct file_operations proc_mountinfo_operations; extern const struct file_operations proc_mountinfo_operations;
extern const struct file_operations proc_mountstats_operations; extern const struct file_operations proc_mountstats_operations;
diff --git a/include/linux/splice.h b/include/linux/splice.h diff --git a/include/linux/splice.h b/include/linux/splice.h
index 74b4911ac16d..19789fbea567 100644 index 74b4911ac16dd..19789fbea5675 100644
--- a/include/linux/splice.h --- a/include/linux/splice.h
+++ b/include/linux/splice.h +++ b/include/linux/splice.h
@@ -87,4 +87,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *); @@ -87,4 +87,10 @@ extern void splice_shrink_spd(struct splice_pipe_desc *);
...@@ -298,7 +298,7 @@ index 74b4911ac16d..19789fbea567 100644 ...@@ -298,7 +298,7 @@ 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 95932333a48b1..516ab7da26fbd 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 @@ -143,7 +143,7 @@ static
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 kbuild patch aufs5.0 kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig diff --git a/fs/Kconfig b/fs/Kconfig
index ac474a61be37..284cee954591 100644 index ac474a61be379..284cee954591e 100644
--- a/fs/Kconfig --- a/fs/Kconfig
+++ b/fs/Kconfig +++ b/fs/Kconfig
@@ -255,6 +255,7 @@ source "fs/pstore/Kconfig" @@ -255,6 +255,7 @@ source "fs/pstore/Kconfig"
...@@ -14,7 +14,7 @@ index ac474a61be37..284cee954591 100644 ...@@ -14,7 +14,7 @@ index ac474a61be37..284cee954591 100644
endif # MISC_FILESYSTEMS endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile diff --git a/fs/Makefile b/fs/Makefile
index 293733f61594..12d19d0de07a 100644 index 293733f61594b..12d19d0de07a6 100644
--- a/fs/Makefile --- a/fs/Makefile
+++ b/fs/Makefile +++ b/fs/Makefile
@@ -128,3 +128,4 @@ obj-y += exofs/ # Multiple modules @@ -128,3 +128,4 @@ obj-y += exofs/ # Multiple modules
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 loopback patch aufs5.0 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 a271e17e4b10..ee17c7577224 100644 index a271e17e4b10f..ee17c75772244 100644
--- a/drivers/block/loop.c --- a/drivers/block/loop.c
+++ b/drivers/block/loop.c +++ b/drivers/block/loop.c
@@ -625,6 +625,15 @@ static inline void loop_update_dio(struct loop_device *lo) @@ -625,6 +625,15 @@ static inline void loop_update_dio(struct loop_device *lo)
...@@ -140,7 +140,7 @@ index a271e17e4b10..ee17c7577224 100644 ...@@ -140,7 +140,7 @@ index a271e17e4b10..ee17c7577224 100644
} }
diff --git a/drivers/block/loop.h b/drivers/block/loop.h diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index af75a5ee4094..1d847cb194ff 100644 index af75a5ee40944..1d847cb194ff6 100644
--- a/drivers/block/loop.h --- a/drivers/block/loop.h
+++ b/drivers/block/loop.h +++ b/drivers/block/loop.h
@@ -46,7 +46,7 @@ struct loop_device { @@ -46,7 +46,7 @@ struct loop_device {
...@@ -153,7 +153,7 @@ index af75a5ee4094..1d847cb194ff 100644 ...@@ -153,7 +153,7 @@ index af75a5ee4094..1d847cb194ff 100644
void *key_data; void *key_data;
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
index 6fb4a4ed8cc7..ba9a959f2db2 100644 index 6fb4a4ed8cc7f..ba9a959f2db27 100644
--- a/fs/aufs/f_op.c --- a/fs/aufs/f_op.c
+++ b/fs/aufs/f_op.c +++ b/fs/aufs/f_op.c
@@ -359,7 +359,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter) @@ -359,7 +359,7 @@ static ssize_t aufs_read_iter(struct kiocb *kio, struct iov_iter *iov_iter)
...@@ -166,7 +166,7 @@ index 6fb4a4ed8cc7..ba9a959f2db2 100644 ...@@ -166,7 +166,7 @@ index 6fb4a4ed8cc7..ba9a959f2db2 100644
if (file->f_mapping != h_file->f_mapping) { if (file->f_mapping != h_file->f_mapping) {
file->f_mapping = h_file->f_mapping; file->f_mapping = h_file->f_mapping;
diff --git a/fs/aufs/loop.c b/fs/aufs/loop.c diff --git a/fs/aufs/loop.c b/fs/aufs/loop.c
index 50e80bd1d589..d0f9777267f9 100644 index 50e80bd1d589d..d0f9777267f99 100644
--- a/fs/aufs/loop.c --- a/fs/aufs/loop.c
+++ b/fs/aufs/loop.c +++ b/fs/aufs/loop.c
@@ -133,3 +133,19 @@ void au_loopback_fin(void) @@ -133,3 +133,19 @@ void au_loopback_fin(void)
...@@ -190,7 +190,7 @@ index 50e80bd1d589..d0f9777267f9 100644 ...@@ -190,7 +190,7 @@ index 50e80bd1d589..d0f9777267f9 100644
+ return f; + return f;
+} +}
diff --git a/fs/aufs/loop.h b/fs/aufs/loop.h diff --git a/fs/aufs/loop.h b/fs/aufs/loop.h
index 94f4f80ae33b..ca1194354aff 100644 index 94f4f80ae33bf..ca1194354aff4 100644
--- a/fs/aufs/loop.h --- a/fs/aufs/loop.h
+++ b/fs/aufs/loop.h +++ b/fs/aufs/loop.h
@@ -26,6 +26,8 @@ void au_warn_loopback(struct super_block *h_sb); @@ -26,6 +26,8 @@ void au_warn_loopback(struct super_block *h_sb);
...@@ -212,7 +212,7 @@ index 94f4f80ae33b..ca1194354aff 100644 ...@@ -212,7 +212,7 @@ index 94f4f80ae33b..ca1194354aff 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 e3b81808a78a..eff4f475de06 100644 index e3b81808a78a7..eff4f475de060 100644
--- a/fs/aufs/super.c --- a/fs/aufs/super.c
+++ b/fs/aufs/super.c +++ b/fs/aufs/super.c
@@ -846,7 +846,10 @@ static const struct super_operations aufs_sop = { @@ -846,7 +846,10 @@ static const struct super_operations aufs_sop = {
...@@ -228,7 +228,7 @@ index e3b81808a78a..eff4f475de06 100644 ...@@ -228,7 +228,7 @@ index e3b81808a78a..eff4f475de06 100644
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */
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 526424dc746b..d46a9b0222c4 100644 index 526424dc746bf..d46a9b0222c4c 100644
--- a/include/linux/fs.h --- a/include/linux/fs.h
+++ b/include/linux/fs.h +++ b/include/linux/fs.h
@@ -1937,6 +1937,10 @@ struct super_operations { @@ -1937,6 +1937,10 @@ struct super_operations {
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 mmap patch aufs5.0 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 f5ed9512d193a..e8f8e59d93bb5 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) @@ -2014,7 +2014,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
...@@ -15,7 +15,7 @@ index f5ed9512d193..e8f8e59d93bb 100644 ...@@ -15,7 +15,7 @@ index f5ed9512d193..e8f8e59d93bb 100644
rc = 0; rc = 0;
} }
diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c diff --git a/fs/proc/nommu.c b/fs/proc/nommu.c
index 3b63be64e436..fb9913bf3d10 100644 index 3b63be64e4364..fb9913bf3d10d 100644
--- a/fs/proc/nommu.c --- a/fs/proc/nommu.c
+++ b/fs/proc/nommu.c +++ b/fs/proc/nommu.c
@@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region) @@ -45,7 +45,10 @@ static int nommu_region_show(struct seq_file *m, struct vm_region *region)
...@@ -31,7 +31,7 @@ index 3b63be64e436..fb9913bf3d10 100644 ...@@ -31,7 +31,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 85b0ef890b280..0f7fb8138160c 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)
...@@ -56,7 +56,7 @@ index 85b0ef890b28..0f7fb8138160 100644 ...@@ -56,7 +56,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 0b63d68dedb2a..400d1c594ceb3 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)
...@@ -72,7 +72,7 @@ index 0b63d68dedb2..400d1c594ceb 100644 ...@@ -72,7 +72,7 @@ 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 80bb6408fe73a..59a1ea611ba77 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, @@ -1518,6 +1518,28 @@ static inline void unmap_shared_mapping_range(struct address_space *mapping,
...@@ -105,7 +105,7 @@ index 80bb6408fe73..59a1ea611ba7 100644 ...@@ -105,7 +105,7 @@ 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 2c471a2c43fa7..c6e7aa6996ffd 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 { @@ -244,6 +244,7 @@ struct vm_region {
...@@ -125,7 +125,7 @@ index 2c471a2c43fa..c6e7aa6996ff 100644 ...@@ -125,7 +125,7 @@ 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 b69248e6f0e02..099b89978dd35 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, @@ -547,7 +547,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
...@@ -138,7 +138,7 @@ index b69248e6f0e0..099b89978dd3 100644 ...@@ -138,7 +138,7 @@ index b69248e6f0e0..099b89978dd3 100644
atomic_dec(&inode->i_writecount); atomic_dec(&inode->i_writecount);
i_mmap_lock_write(mapping); i_mmap_lock_write(mapping);
diff --git a/mm/Makefile b/mm/Makefile diff --git a/mm/Makefile b/mm/Makefile
index d210cc9d6f80..e77e80ce7298 100644 index d210cc9d6f800..e77e80ce7298b 100644
--- a/mm/Makefile --- a/mm/Makefile
+++ b/mm/Makefile +++ b/mm/Makefile
@@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ @@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
...@@ -151,7 +151,7 @@ index d210cc9d6f80..e77e80ce7298 100644 ...@@ -151,7 +151,7 @@ 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 9f5e323e883e6..90db684a7cf4c 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) @@ -2677,7 +2677,7 @@ vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
...@@ -164,7 +164,7 @@ index 9f5e323e883e..90db684a7cf4 100644 ...@@ -164,7 +164,7 @@ 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 fc1809b1bed67..8f62e47a60ead 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) @@ -180,7 +180,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
...@@ -261,7 +261,7 @@ index fc1809b1bed6..8f62e47a60ea 100644 ...@@ -261,7 +261,7 @@ index fc1809b1bed6..8f62e47a60ea 100644
new_vma->vm_ops->open(new_vma); new_vma->vm_ops->open(new_vma);
vma_link(mm, new_vma, prev, rb_link, rb_parent); vma_link(mm, new_vma, prev, rb_link, rb_parent);
diff --git a/mm/nommu.c b/mm/nommu.c diff --git a/mm/nommu.c b/mm/nommu.c
index 749276beb109..c7957f06fbc4 100644 index 749276beb1094..c7957f06fbc46 100644
--- a/mm/nommu.c --- a/mm/nommu.c
+++ b/mm/nommu.c +++ b/mm/nommu.c
@@ -625,7 +625,7 @@ static void __put_nommu_region(struct vm_region *region) @@ -625,7 +625,7 @@ static void __put_nommu_region(struct vm_region *region)
...@@ -306,7 +306,7 @@ index 749276beb109..c7957f06fbc4 100644 ...@@ -306,7 +306,7 @@ index 749276beb109..c7957f06fbc4 100644
diff --git a/mm/prfile.c b/mm/prfile.c diff --git a/mm/prfile.c b/mm/prfile.c
new file mode 100644 new file mode 100644
index 000000000000..00d51187c325 index 0000000000000..00d51187c3250
--- /dev/null --- /dev/null
+++ b/mm/prfile.c +++ b/mm/prfile.c
@@ -0,0 +1,86 @@ @@ -0,0 +1,86 @@
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 standalone patch aufs5.0 standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c diff --git a/fs/dcache.c b/fs/dcache.c
index fc18967c2522..50eb587c1253 100644 index fc18967c25227..50eb587c12538 100644
--- a/fs/dcache.c --- a/fs/dcache.c
+++ b/fs/dcache.c +++ b/fs/dcache.c
@@ -1352,6 +1352,7 @@ void d_walk(struct dentry *parent, void *data, @@ -1352,6 +1352,7 @@ void d_walk(struct dentry *parent, void *data,
...@@ -22,7 +22,7 @@ index fc18967c2522..50eb587c1253 100644 ...@@ -22,7 +22,7 @@ index fc18967c2522..50eb587c1253 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 fb72d36f7823..7ce68004cbf8 100644 index fb72d36f7823e..7ce68004cbf8c 100644
--- a/fs/exec.c --- a/fs/exec.c
+++ b/fs/exec.c +++ b/fs/exec.c
@@ -109,6 +109,7 @@ bool path_noexec(const struct path *path) @@ -109,6 +109,7 @@ bool path_noexec(const struct path *path)
...@@ -34,7 +34,7 @@ index fb72d36f7823..7ce68004cbf8 100644 ...@@ -34,7 +34,7 @@ index fb72d36f7823..7ce68004cbf8 100644
#ifdef CONFIG_USELIB #ifdef CONFIG_USELIB
/* /*
diff --git a/fs/fcntl.c b/fs/fcntl.c diff --git a/fs/fcntl.c b/fs/fcntl.c
index 7828d53148a7..efd8e2e9c0fa 100644 index 7828d53148a79..efd8e2e9c0fa7 100644
--- a/fs/fcntl.c --- a/fs/fcntl.c
+++ b/fs/fcntl.c +++ b/fs/fcntl.c
@@ -85,6 +85,7 @@ int setfl(int fd, struct file *filp, unsigned long arg) @@ -85,6 +85,7 @@ int setfl(int fd, struct file *filp, unsigned long arg)
...@@ -46,7 +46,7 @@ index 7828d53148a7..efd8e2e9c0fa 100644 ...@@ -46,7 +46,7 @@ index 7828d53148a7..efd8e2e9c0fa 100644
static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, static void f_modown(struct file *filp, struct pid *pid, enum pid_type type,
int force) int force)
diff --git a/fs/file_table.c b/fs/file_table.c diff --git a/fs/file_table.c b/fs/file_table.c
index 5679e7fcb6b0..961eec3df1eb 100644 index 5679e7fcb6b0a..961eec3df1eb3 100644
--- a/fs/file_table.c --- a/fs/file_table.c
+++ b/fs/file_table.c +++ b/fs/file_table.c
@@ -161,6 +161,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred) @@ -161,6 +161,7 @@ struct file *alloc_empty_file(int flags, const struct cred *cred)
...@@ -74,7 +74,7 @@ index 5679e7fcb6b0..961eec3df1eb 100644 ...@@ -74,7 +74,7 @@ index 5679e7fcb6b0..961eec3df1eb 100644
void __init files_init(void) void __init files_init(void)
{ {
diff --git a/fs/inode.c b/fs/inode.c diff --git a/fs/inode.c b/fs/inode.c
index 4a1756b8b4bd..6e51d5f9b9f3 100644 index 4a1756b8b4bde..6e51d5f9b9f3e 100644
--- a/fs/inode.c --- a/fs/inode.c
+++ b/fs/inode.c +++ b/fs/inode.c
@@ -1666,6 +1666,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags) @@ -1666,6 +1666,7 @@ int update_time(struct inode *inode, struct timespec64 *time, int flags)
...@@ -86,7 +86,7 @@ index 4a1756b8b4bd..6e51d5f9b9f3 100644 ...@@ -86,7 +86,7 @@ index 4a1756b8b4bd..6e51d5f9b9f3 100644
/** /**
* touch_atime - update the access time * touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c diff --git a/fs/namespace.c b/fs/namespace.c
index 9b6a3d0f87a1..8c4d3d56f2df 100644 index 9b6a3d0f87a16..8c4d3d56f2dff 100644
--- a/fs/namespace.c --- a/fs/namespace.c
+++ b/fs/namespace.c +++ b/fs/namespace.c
@@ -434,6 +434,7 @@ void __mnt_drop_write(struct vfsmount *mnt) @@ -434,6 +434,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
...@@ -114,7 +114,7 @@ index 9b6a3d0f87a1..8c4d3d56f2df 100644 ...@@ -114,7 +114,7 @@ index 9b6a3d0f87a1..8c4d3d56f2df 100644
static void cleanup_group_ids(struct mount *mnt, struct mount *end) static void cleanup_group_ids(struct mount *mnt, struct mount *end)
{ {
diff --git a/fs/notify/group.c b/fs/notify/group.c diff --git a/fs/notify/group.c b/fs/notify/group.c
index c03b83662876..94d210ca384a 100644 index c03b836628769..94d210ca384a6 100644
--- a/fs/notify/group.c --- a/fs/notify/group.c
+++ b/fs/notify/group.c +++ b/fs/notify/group.c
@@ -112,6 +112,7 @@ void fsnotify_get_group(struct fsnotify_group *group) @@ -112,6 +112,7 @@ void fsnotify_get_group(struct fsnotify_group *group)
...@@ -142,7 +142,7 @@ index c03b83662876..94d210ca384a 100644 ...@@ -142,7 +142,7 @@ index c03b83662876..94d210ca384a 100644
int fsnotify_fasync(int fd, struct file *file, int on) int fsnotify_fasync(int fd, struct file *file, int on)
{ {
diff --git a/fs/notify/mark.c b/fs/notify/mark.c diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index d2dd16cb5989..cf709b7d611a 100644 index d2dd16cb59891..cf709b7d611ac 100644
--- a/fs/notify/mark.c --- a/fs/notify/mark.c
+++ b/fs/notify/mark.c +++ b/fs/notify/mark.c
@@ -289,6 +289,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) @@ -289,6 +289,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
...@@ -178,7 +178,7 @@ index d2dd16cb5989..cf709b7d611a 100644 ...@@ -178,7 +178,7 @@ index d2dd16cb5989..cf709b7d611a 100644
/* /*
* Destroy all marks in destroy_list, waits for SRCU period to finish before * Destroy all marks in destroy_list, waits for SRCU period to finish before
diff --git a/fs/open.c b/fs/open.c diff --git a/fs/open.c b/fs/open.c
index 0285ce7dbd51..cb81623a8b09 100644 index 0285ce7dbd515..cb81623a8b09e 100644
--- a/fs/open.c --- a/fs/open.c
+++ b/fs/open.c +++ b/fs/open.c
@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs, @@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
...@@ -190,7 +190,7 @@ index 0285ce7dbd51..cb81623a8b09 100644 ...@@ -190,7 +190,7 @@ index 0285ce7dbd51..cb81623a8b09 100644
long vfs_truncate(const struct path *path, loff_t length) long vfs_truncate(const struct path *path, loff_t length)
{ {
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 d41e5b992eaa..bf0538e67b41 100644 index d41e5b992eaa1..bf0538e67b411 100644
--- a/fs/read_write.c --- a/fs/read_write.c
+++ b/fs/read_write.c +++ b/fs/read_write.c
@@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos) @@ -459,6 +459,7 @@ ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
...@@ -226,7 +226,7 @@ index d41e5b992eaa..bf0538e67b41 100644 ...@@ -226,7 +226,7 @@ index d41e5b992eaa..bf0538e67b41 100644
static inline loff_t file_pos_read(struct file *file) static inline loff_t file_pos_read(struct file *file)
{ {
diff --git a/fs/splice.c b/fs/splice.c diff --git a/fs/splice.c b/fs/splice.c
index 5dcf77b8e1b2..63fe2652c67d 100644 index 5dcf77b8e1b27..63fe2652c67d6 100644
--- a/fs/splice.c --- a/fs/splice.c
+++ b/fs/splice.c +++ b/fs/splice.c
@@ -850,6 +850,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -850,6 +850,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
...@@ -246,7 +246,7 @@ index 5dcf77b8e1b2..63fe2652c67d 100644 ...@@ -246,7 +246,7 @@ index 5dcf77b8e1b2..63fe2652c67d 100644
/** /**
* splice_direct_to_actor - splices data directly between two non-pipes * splice_direct_to_actor - splices data directly between two non-pipes
diff --git a/fs/sync.c b/fs/sync.c diff --git a/fs/sync.c b/fs/sync.c
index 28607828e96f..ffd7ea43831e 100644 index 28607828e96f2..ffd7ea43831ea 100644
--- a/fs/sync.c --- a/fs/sync.c
+++ b/fs/sync.c +++ b/fs/sync.c
@@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block *sb, int wait) @@ -39,6 +39,7 @@ int __sync_filesystem(struct super_block *sb, int wait)
...@@ -258,7 +258,7 @@ index 28607828e96f..ffd7ea43831e 100644 ...@@ -258,7 +258,7 @@ index 28607828e96f..ffd7ea43831e 100644
/* /*
* Write out and wait upon all dirty data associated with this * Write out and wait upon all dirty data associated with this
diff --git a/fs/xattr.c b/fs/xattr.c diff --git a/fs/xattr.c b/fs/xattr.c
index 0d6a6a4af861..7ce4701b7289 100644 index 0d6a6a4af8616..7ce4701b7289d 100644
--- a/fs/xattr.c --- a/fs/xattr.c
+++ b/fs/xattr.c +++ b/fs/xattr.c
@@ -295,6 +295,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value, @@ -295,6 +295,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
...@@ -270,7 +270,7 @@ index 0d6a6a4af861..7ce4701b7289 100644 ...@@ -270,7 +270,7 @@ index 0d6a6a4af861..7ce4701b7289 100644
ssize_t ssize_t
__vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name, __vfs_getxattr(struct dentry *dentry, struct inode *inode, const char *name,
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 516ab7da26fb..c4f72e461d28 100644 index 516ab7da26fbd..c4f72e461d28d 100644
--- a/kernel/locking/lockdep.c --- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c
@@ -154,6 +154,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock) @@ -154,6 +154,7 @@ inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
...@@ -282,7 +282,7 @@ index 516ab7da26fb..c4f72e461d28 100644 ...@@ -282,7 +282,7 @@ index 516ab7da26fb..c4f72e461d28 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 0fef395662a6..83fb1ecfc33d 100644 index 0fef395662a6e..83fb1ecfc33de 100644
--- a/kernel/task_work.c --- a/kernel/task_work.c
+++ b/kernel/task_work.c +++ b/kernel/task_work.c
@@ -116,3 +116,4 @@ void task_work_run(void) @@ -116,3 +116,4 @@ void task_work_run(void)
...@@ -291,7 +291,7 @@ index 0fef395662a6..83fb1ecfc33d 100644 ...@@ -291,7 +291,7 @@ index 0fef395662a6..83fb1ecfc33d 100644
} }
+EXPORT_SYMBOL_GPL(task_work_run); +EXPORT_SYMBOL_GPL(task_work_run);
diff --git a/security/device_cgroup.c b/security/device_cgroup.c diff --git a/security/device_cgroup.c b/security/device_cgroup.c
index cd97929fac66..20c59b2e3b26 100644 index cd97929fac663..20c59b2e3b261 100644
--- a/security/device_cgroup.c --- a/security/device_cgroup.c
+++ b/security/device_cgroup.c +++ b/security/device_cgroup.c
@@ -824,3 +824,4 @@ int __devcgroup_check_permission(short type, u32 major, u32 minor, @@ -824,3 +824,4 @@ int __devcgroup_check_permission(short type, u32 major, u32 minor,
...@@ -300,7 +300,7 @@ index cd97929fac66..20c59b2e3b26 100644 ...@@ -300,7 +300,7 @@ index cd97929fac66..20c59b2e3b26 100644
} }
+EXPORT_SYMBOL_GPL(__devcgroup_check_permission); +EXPORT_SYMBOL_GPL(__devcgroup_check_permission);
diff --git a/security/security.c b/security/security.c diff --git a/security/security.c b/security/security.c
index 55bc49027ba9..463d09840532 100644 index 55bc49027ba97..463d098405320 100644
--- a/security/security.c --- a/security/security.c
+++ b/security/security.c +++ b/security/security.c
@@ -566,6 +566,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry) @@ -566,6 +566,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry)
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
#include <limits.h> #include <limits.h>
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#define AUFS_VERSION "5.0-20200518" #define AUFS_VERSION "5.0-20200622"
/* todo? move this to linux-2.6.19/include/magic.h */ /* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') #define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
......
...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0 ...@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.0 lockdep patch aufs5.0 lockdep patch
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 4e48a5059536..a49002622451 100644 index 4e48a50595360..a490026224516 100644
--- a/include/linux/lockdep.h --- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h +++ b/include/linux/lockdep.h
@@ -17,7 +17,7 @@ struct lockdep_map; @@ -17,7 +17,7 @@ struct lockdep_map;
...@@ -15,7 +15,7 @@ index 4e48a5059536..a49002622451 100644 ...@@ -15,7 +15,7 @@ index 4e48a5059536..a49002622451 100644
#include <linux/types.h> #include <linux/types.h>
diff --git a/include/linux/rculist.h b/include/linux/rculist.h diff --git a/include/linux/rculist.h b/include/linux/rculist.h
index e91ec9ddcd30..7c63916d235d 100644 index e91ec9ddcd30a..7c63916d235d7 100644
--- a/include/linux/rculist.h --- a/include/linux/rculist.h
+++ b/include/linux/rculist.h +++ b/include/linux/rculist.h
@@ -131,6 +131,16 @@ static inline void list_del_rcu(struct list_head *entry) @@ -131,6 +131,16 @@ static inline void list_del_rcu(struct list_head *entry)
...@@ -36,7 +36,7 @@ index e91ec9ddcd30..7c63916d235d 100644 ...@@ -36,7 +36,7 @@ index e91ec9ddcd30..7c63916d235d 100644
* hlist_del_init_rcu - deletes entry from hash list with re-initialization * hlist_del_init_rcu - deletes entry from hash list with re-initialization
* @n: the element to delete from the hash list. * @n: the element to delete from the hash list.
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 c4f72e461d28..b4f4ba8ac9b2 100644 index c4f72e461d28d..b4f4ba8ac9b24 100644
--- a/kernel/locking/lockdep.c --- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c +++ b/kernel/locking/lockdep.c
@@ -737,6 +739,58 @@ static bool assign_lock_key(struct lockdep_map *lock) @@ -737,6 +739,58 @@ static bool assign_lock_key(struct lockdep_map *lock)
...@@ -163,7 +163,7 @@ index c4f72e461d28..b4f4ba8ac9b2 100644 ...@@ -163,7 +163,7 @@ index c4f72e461d28..b4f4ba8ac9b2 100644
RCU_INIT_POINTER(class->key, NULL); RCU_INIT_POINTER(class->key, NULL);
RCU_INIT_POINTER(class->name, NULL); RCU_INIT_POINTER(class->name, NULL);
diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 88c847a41c8a..c671d55b71bf 100644 index 88c847a41c8ae..c671d55b71bf9 100644
--- a/kernel/locking/lockdep_internals.h --- a/kernel/locking/lockdep_internals.h
+++ b/kernel/locking/lockdep_internals.h +++ b/kernel/locking/lockdep_internals.h
@@ -67,15 +67,15 @@ enum { @@ -67,15 +67,15 @@ enum {
......
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