Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
adam.huang
Aufs5 Standalone
Commits
caffea77
Commit
caffea77
authored
Jun 21, 2020
by
J. R. Okajima
Browse files
5.4 20200622
Signed-off-by:
J. R. Okajima
<
hooanon05g@gmail.com
>
parent
1ca981d9
Changes
7
Show whitespace changes
Inline
Side-by-side
aufs5-base.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 base patch
aufs5.4 base patch
diff --git a/MAINTAINERS b/MAINTAINERS
diff --git a/MAINTAINERS b/MAINTAINERS
index 9d3a5c54a41d..f33398b47c42 100644
index 9d3a5c54a41d
2
..f33398b47c42
0
100644
--- a/MAINTAINERS
--- a/MAINTAINERS
+++ b/MAINTAINERS
+++ b/MAINTAINERS
@@ -2832,6 +2832,19 @@
F: include/linux/audit.h
@@ -2832,6 +2832,19 @@
F: include/linux/audit.h
...
@@ -26,7 +26,7 @@ index 9d3a5c54a41d..f33398b47c42 100644
...
@@ -26,7 +26,7 @@ index 9d3a5c54a41d..f33398b47c42 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 f6f77eaa7217..5e094699215e 100644
index f6f77eaa7217
e
..5e094699215e
7
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 f6f77eaa7217..5e094699215e 100644
...
@@ -55,7 +55,7 @@ index f6f77eaa7217..5e094699215e 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 e88cf0554e65..7ce4ccf5a51c 100644
index e88cf0554e65
9
..7ce4ccf5a51c
a
100644
--- a/fs/dcache.c
--- a/fs/dcache.c
+++ b/fs/dcache.c
+++ b/fs/dcache.c
@@ -1264,7 +1264,7 @@
enum d_walk_ret {
@@ -1264,7 +1264,7 @@
enum d_walk_ret {
...
@@ -68,7 +68,7 @@ index e88cf0554e65..7ce4ccf5a51c 100644
...
@@ -68,7 +68,7 @@ index e88cf0554e65..7ce4ccf5a51c 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 3d40771e8e7c..12dd73930961 100644
index 3d40771e8e7c
f
..12dd73930961
6
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 3d40771e8e7c..12dd73930961 100644
...
@@ -90,7 +90,7 @@ index 3d40771e8e7c..12dd73930961 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 fef457a42882..aaeacde398ee 100644
index fef457a42882
b
..aaeacde398ee
c
100644
--- a/fs/inode.c
--- a/fs/inode.c
+++ b/fs/inode.c
+++ b/fs/inode.c
@@ -1673,7 +1673,7 @@
EXPORT_SYMBOL(generic_update_time);
@@ -1673,7 +1673,7 @@
EXPORT_SYMBOL(generic_update_time);
...
@@ -103,7 +103,7 @@ index fef457a42882..aaeacde398ee 100644
...
@@ -103,7 +103,7 @@ index fef457a42882..aaeacde398ee 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 2adfe7b166a3..0f7e57e5f4b7 100644
index 2adfe7b166a3
e
..0f7e57e5f4b7
8
100644
--- a/fs/namespace.c
--- a/fs/namespace.c
+++ b/fs/namespace.c
+++ b/fs/namespace.c
@@ -776,6 +776,12 @@
static inline int check_mnt(struct mount *mnt)
@@ -776,6 +776,12 @@
static inline int check_mnt(struct mount *mnt)
...
@@ -120,7 +120,7 @@ index 2adfe7b166a3..0f7e57e5f4b7 100644
...
@@ -120,7 +120,7 @@ index 2adfe7b166a3..0f7e57e5f4b7 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 5bbf587f5bc1..fa9b3994b34c 100644
index 5bbf587f5bc1
3
..fa9b3994b34c
4
100644
--- a/fs/read_write.c
--- a/fs/read_write.c
+++ b/fs/read_write.c
+++ b/fs/read_write.c
@@ -498,6 +498,28 @@
static ssize_t __vfs_write(struct file *file, const char __user *p,
@@ -498,6 +498,28 @@
static ssize_t __vfs_write(struct file *file, const char __user *p,
...
@@ -153,7 +153,7 @@ index 5bbf587f5bc1..fa9b3994b34c 100644
...
@@ -153,7 +153,7 @@ index 5bbf587f5bc1..fa9b3994b34c 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 98412721f056..75b489fcb66f 100644
index 98412721f056
2
..75b489fcb66f
c
100644
--- a/fs/splice.c
--- a/fs/splice.c
+++ b/fs/splice.c
+++ b/fs/splice.c
@@ -834,8 +834,8 @@
EXPORT_SYMBOL(generic_splice_sendpage);
@@ -834,8 +834,8 @@
EXPORT_SYMBOL(generic_splice_sendpage);
...
@@ -181,7 +181,7 @@ index 98412721f056..75b489fcb66f 100644
...
@@ -181,7 +181,7 @@ index 98412721f056..75b489fcb66f 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 4d1ff010bc5a..457f4e4a5cc1 100644
index 4d1ff010bc5a
f
..457f4e4a5cc1
f
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 4d1ff010bc5a..457f4e4a5cc1 100644
...
@@ -194,7 +194,7 @@ index 4d1ff010bc5a..457f4e4a5cc1 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 e0d909d35763..381a13995011 100644
index e0d909d35763
4
..381a13995011
9
100644
--- a/include/linux/fs.h
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1349,6 +1349,7 @@
extern void fasync_free(struct fasync_struct *);
@@ -1349,6 +1349,7 @@
extern void fasync_free(struct fasync_struct *);
...
@@ -243,7 +243,7 @@ index e0d909d35763..381a13995011 100644
...
@@ -243,7 +243,7 @@ index e0d909d35763..381a13995011 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 b8a835fd611b..f452521f2e05 100644
index b8a835fd611b
2
..f452521f2e05
5
100644
--- a/include/linux/lockdep.h
--- a/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
+++ b/include/linux/lockdep.h
@@ -331,6 +331,8 @@
static inline int lockdep_match_key(struct lockdep_map *lock,
@@ -331,6 +331,8 @@
static inline int lockdep_match_key(struct lockdep_map *lock,
...
@@ -264,7 +264,7 @@ index b8a835fd611b..f452521f2e05 100644
...
@@ -264,7 +264,7 @@ index b8a835fd611b..f452521f2e05 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 35942084cd40
d
..24f5fd1a789d
e
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 74b4911ac16d
d
..19789fbea567
5
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 233459c03b5a..407c08ac8ac8 100644
index 233459c03b5a
e
..407c08ac8ac8
0
100644
--- a/kernel/locking/lockdep.c
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -153,7 +153,7 @@
static
@@ -153,7 +153,7 @@
static
...
...
aufs5-kbuild.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 kbuild patch
aufs5.4 kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
diff --git a/fs/Kconfig b/fs/Kconfig
index 2501e6f1f965..38a6a5991da9 100644
index 2501e6f1f965
5
..38a6a5991da9
b
100644
--- a/fs/Kconfig
--- a/fs/Kconfig
+++ b/fs/Kconfig
+++ b/fs/Kconfig
@@ -264,6 +264,7 @@
source "fs/pstore/Kconfig"
@@ -264,6 +264,7 @@
source "fs/pstore/Kconfig"
...
@@ -14,7 +14,7 @@ index 2501e6f1f965..38a6a5991da9 100644
...
@@ -14,7 +14,7 @@ index 2501e6f1f965..38a6a5991da9 100644
endif # MISC_FILESYSTEMS
endif # MISC_FILESYSTEMS
diff --git a/fs/Makefile b/fs/Makefile
diff --git a/fs/Makefile b/fs/Makefile
index 14231b4cf383..8765e191ebe0 100644
index 14231b4cf383
c
..8765e191ebe0
d
100644
--- a/fs/Makefile
--- a/fs/Makefile
+++ b/fs/Makefile
+++ b/fs/Makefile
@@ -132,3 +132,4 @@
obj-$(CONFIG_CEPH_FS) += ceph/
@@ -132,3 +132,4 @@
obj-$(CONFIG_CEPH_FS) += ceph/
...
...
aufs5-loopback.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 loopback patch
aufs5.4 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 5e094699215e..22b2ecb6cfe8 100644
index 5e094699215e
7
..22b2ecb6cfe8
4
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 5e094699215e..22b2ecb6cfe8 100644
...
@@ -140,7 +140,7 @@ index 5e094699215e..22b2ecb6cfe8 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 af75a5ee4094
4
..1d847cb194ff
6
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 6fb4a4ed8cc7
f
..ba9a959f2db2
7
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 a8b63acc6204..9d97c3af5686 100644
index a8b63acc6204
5
..9d97c3af5686
a
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 a8b63acc6204..9d97c3af5686 100644
...
@@ -190,7 +190,7 @@ index a8b63acc6204..9d97c3af5686 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 94f4f80ae33b
f
..ca1194354aff
4
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 589dd0122020..801e0a7faec5 100644
index 589dd0122020
1
..801e0a7faec5
9
100644
--- a/fs/aufs/super.c
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -844,7 +844,10 @@
static const struct super_operations aufs_sop = {
@@ -844,7 +844,10 @@
static const struct super_operations aufs_sop = {
...
@@ -228,7 +228,7 @@ index 589dd0122020..801e0a7faec5 100644
...
@@ -228,7 +228,7 @@ index 589dd0122020..801e0a7faec5 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 381a13995011..215b76e0f9dc 100644
index 381a13995011
9
..215b76e0f9dc
9
100644
--- a/include/linux/fs.h
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1973,6 +1973,10 @@
struct super_operations {
@@ -1973,6 +1973,10 @@
struct super_operations {
...
...
aufs5-mmap.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 mmap patch
aufs5.4 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 ebea9501afb8..dc7edc5f7267 100644
index ebea9501afb8
4
..dc7edc5f7267
d
100644
--- a/fs/proc/base.c
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -2037,7 +2037,7 @@
static int map_files_get_link(struct dentry *dentry, struct path *path)
@@ -2037,7 +2037,7 @@
static int map_files_get_link(struct dentry *dentry, struct path *path)
...
@@ -15,7 +15,7 @@ index ebea9501afb8..dc7edc5f7267 100644
...
@@ -15,7 +15,7 @@ index ebea9501afb8..dc7edc5f7267 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 14c2badb8fd9..65afe5287e43 100644
index 14c2badb8fd9
3
..65afe5287e43
e
100644
--- a/fs/proc/nommu.c
--- a/fs/proc/nommu.c
+++ b/fs/proc/nommu.c
+++ b/fs/proc/nommu.c
@@ -41,7 +41,10 @@
static int nommu_region_show(struct seq_file *m, struct vm_region *region)
@@ -41,7 +41,10 @@
static int nommu_region_show(struct seq_file *m, struct vm_region *region)
...
@@ -31,7 +31,7 @@ index 14c2badb8fd9..65afe5287e43 100644
...
@@ -31,7 +31,7 @@ index 14c2badb8fd9..65afe5287e43 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 9442631fd4af..1fa8a5fcdeee 100644
index 9442631fd4af
c
..1fa8a5fcdeee
c
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
@@ -309,7 +309,10 @@
show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
@@ -309,7 +309,10 @@
show_map_vma(struct seq_file *m, struct vm_area_struct *vma)
...
@@ -56,7 +56,7 @@ index 9442631fd4af..1fa8a5fcdeee 100644
...
@@ -56,7 +56,7 @@ index 9442631fd4af..1fa8a5fcdeee 100644
struct mempolicy *pol;
struct mempolicy *pol;
char buffer[64];
char buffer[64];
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 7907e6419e57..d17209cf52bc 100644
index 7907e6419e57
2
..d17209cf52bc
3
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 7907e6419e57..d17209cf52bc 100644
...
@@ -72,7 +72,7 @@ index 7907e6419e57..d17209cf52bc 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 a2adf95b3f9c..70e1dccc1283 100644
index a2adf95b3f9c
5
..70e1dccc1283
d
100644
--- a/include/linux/mm.h
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1510,6 +1510,28 @@
static inline void unmap_shared_mapping_range(struct address_space *mapping,
@@ -1510,6 +1510,28 @@
static inline void unmap_shared_mapping_range(struct address_space *mapping,
...
@@ -105,7 +105,7 @@ index a2adf95b3f9c..70e1dccc1283 100644
...
@@ -105,7 +105,7 @@ index a2adf95b3f9c..70e1dccc1283 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 270aa8fd2800..33848c2165e2 100644
index 270aa8fd2800
b
..33848c2165e2
1
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
@@ -267,6 +267,7 @@
struct vm_region {
@@ -267,6 +267,7 @@
struct vm_region {
...
@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644
...
@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644
#ifdef CONFIG_SWAP
#ifdef CONFIG_SWAP
diff --git a/kernel/fork.c b/kernel/fork.c
diff --git a/kernel/fork.c b/kernel/fork.c
index 13b38794efb5..ede7225bae95 100644
index 13b38794efb5
6
..ede7225bae95
6
100644
--- a/kernel/fork.c
--- a/kernel/fork.c
+++ b/kernel/fork.c
+++ b/kernel/fork.c
@@ -562,7 +562,7 @@
static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -562,7 +562,7 @@
static __latent_entropy int dup_mmap(struct mm_struct *mm,
...
@@ -138,7 +138,7 @@ index 13b38794efb5..ede7225bae95 100644
...
@@ -138,7 +138,7 @@ index 13b38794efb5..ede7225bae95 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 d996846697ef..fbadb91df4e4 100644
index d996846697ef
5
..fbadb91df4e4
e
100644
--- a/mm/Makefile
--- a/mm/Makefile
+++ b/mm/Makefile
+++ b/mm/Makefile
@@ -42,7 +42,7 @@
obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
@@ -42,7 +42,7 @@
obj-y := filemap.o mempool.o oom_kill.o fadvise.o \
...
@@ -151,7 +151,7 @@ index d996846697ef..fbadb91df4e4 100644
...
@@ -151,7 +151,7 @@ index d996846697ef..fbadb91df4e4 100644
# Give 'page_alloc' its own module-parameter namespace
# Give 'page_alloc' its own module-parameter namespace
page-alloc-y := page_alloc.o
page-alloc-y := page_alloc.o
diff --git a/mm/filemap.c b/mm/filemap.c
diff --git a/mm/filemap.c b/mm/filemap.c
index 85b7d087eb45..115275a4a0e2 100644
index 85b7d087eb45
a
..115275a4a0e2
7
100644
--- a/mm/filemap.c
--- a/mm/filemap.c
+++ b/mm/filemap.c
+++ b/mm/filemap.c
@@ -2696,7 +2696,7 @@
vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
@@ -2696,7 +2696,7 @@
vm_fault_t filemap_page_mkwrite(struct vm_fault *vmf)
...
@@ -164,7 +164,7 @@ index 85b7d087eb45..115275a4a0e2 100644
...
@@ -164,7 +164,7 @@ index 85b7d087eb45..115275a4a0e2 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 a7d8c84d19b7..9c350dc3f570 100644
index a7d8c84d19b7
1
..9c350dc3f570
3
100644
--- a/mm/mmap.c
--- a/mm/mmap.c
+++ b/mm/mmap.c
+++ b/mm/mmap.c
@@ -182,7 +182,7 @@
static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -182,7 +182,7 @@
static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
...
@@ -261,7 +261,7 @@ index a7d8c84d19b7..9c350dc3f570 100644
...
@@ -261,7 +261,7 @@ index a7d8c84d19b7..9c350dc3f570 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 99b7ec318824..de5b6cd162fe 100644
index 99b7ec318824
c
..de5b6cd162fe
a
100644
--- a/mm/nommu.c
--- a/mm/nommu.c
+++ b/mm/nommu.c
+++ b/mm/nommu.c
@@ -552,7 +552,7 @@
static void __put_nommu_region(struct vm_region *region)
@@ -552,7 +552,7 @@
static void __put_nommu_region(struct vm_region *region)
...
@@ -306,7 +306,7 @@ index 99b7ec318824..de5b6cd162fe 100644
...
@@ -306,7 +306,7 @@ index 99b7ec318824..de5b6cd162fe 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 000000000000
0
..00d51187c325
0
--- /dev/null
--- /dev/null
+++ b/mm/prfile.c
+++ b/mm/prfile.c
@@ -0,0 +1,86 @@
@@ -0,0 +1,86 @@
...
...
aufs5-standalone.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 standalone patch
aufs5.4 standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
diff --git a/fs/dcache.c b/fs/dcache.c
index 7ce4ccf5a51c..00d7e6a08026 100644
index 7ce4ccf5a51c
a
..00d7e6a08026
3
100644
--- a/fs/dcache.c
--- a/fs/dcache.c
+++ b/fs/dcache.c
+++ b/fs/dcache.c
@@ -1369,6 +1369,7 @@
void d_walk(struct dentry *parent, void *data,
@@ -1369,6 +1369,7 @@
void d_walk(struct dentry *parent, void *data,
...
@@ -22,7 +22,7 @@ index 7ce4ccf5a51c..00d7e6a08026 100644
...
@@ -22,7 +22,7 @@ index 7ce4ccf5a51c..00d7e6a08026 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 555e93c7dec8..dad39c6b3878 100644
index 555e93c7dec8
2
..dad39c6b3878
7
100644
--- a/fs/exec.c
--- a/fs/exec.c
+++ b/fs/exec.c
+++ b/fs/exec.c
@@ -110,6 +110,7 @@
bool path_noexec(const struct path *path)
@@ -110,6 +110,7 @@
bool path_noexec(const struct path *path)
...
@@ -34,7 +34,7 @@ index 555e93c7dec8..dad39c6b3878 100644
...
@@ -34,7 +34,7 @@ index 555e93c7dec8..dad39c6b3878 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 12dd73930961..0468c845190f 100644
index 12dd73930961
6
..0468c845190f
c
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 12dd73930961..0468c845190f 100644
...
@@ -46,7 +46,7 @@ index 12dd73930961..0468c845190f 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 30d55c9a1744..34b9bbf4c556 100644
index 30d55c9a1744
a
..34b9bbf4c556
6
100644
--- a/fs/file_table.c
--- a/fs/file_table.c
+++ b/fs/file_table.c
+++ b/fs/file_table.c
@@ -162,6 +162,7 @@
struct file *alloc_empty_file(int flags, const struct cred *cred)
@@ -162,6 +162,7 @@
struct file *alloc_empty_file(int flags, const struct cred *cred)
...
@@ -66,7 +66,7 @@ index 30d55c9a1744..34b9bbf4c556 100644
...
@@ -66,7 +66,7 @@ index 30d55c9a1744..34b9bbf4c556 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 aaeacde398ee..5be87f2d3828 100644
index aaeacde398ee
c
..5be87f2d3828
a
100644
--- a/fs/inode.c
--- a/fs/inode.c
+++ b/fs/inode.c
+++ b/fs/inode.c
@@ -1682,6 +1682,7 @@
int update_time(struct inode *inode, struct timespec64 *time, int flags)
@@ -1682,6 +1682,7 @@
int update_time(struct inode *inode, struct timespec64 *time, int flags)
...
@@ -78,7 +78,7 @@ index aaeacde398ee..5be87f2d3828 100644
...
@@ -78,7 +78,7 @@ index aaeacde398ee..5be87f2d3828 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 0f7e57e5f4b7..516c2f397d33 100644
index 0f7e57e5f4b7
8
..516c2f397d33
d
100644
--- a/fs/namespace.c
--- a/fs/namespace.c
+++ b/fs/namespace.c
+++ b/fs/namespace.c
@@ -431,6 +431,7 @@
void __mnt_drop_write(struct vfsmount *mnt)
@@ -431,6 +431,7 @@
void __mnt_drop_write(struct vfsmount *mnt)
...
@@ -106,7 +106,7 @@ index 0f7e57e5f4b7..516c2f397d33 100644
...
@@ -106,7 +106,7 @@ index 0f7e57e5f4b7..516c2f397d33 100644
static void lock_mnt_tree(struct mount *mnt)
static void lock_mnt_tree(struct mount *mnt)
{
{
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 133f723aca07..0b9f7f6d8390 100644
index 133f723aca07
0
..0b9f7f6d8390
f
100644
--- a/fs/notify/group.c
--- a/fs/notify/group.c
+++ b/fs/notify/group.c
+++ b/fs/notify/group.c
@@ -99,6 +99,7 @@
void fsnotify_get_group(struct fsnotify_group *group)
@@ -99,6 +99,7 @@
void fsnotify_get_group(struct fsnotify_group *group)
...
@@ -118,7 +118,7 @@ index 133f723aca07..0b9f7f6d8390 100644
...
@@ -118,7 +118,7 @@ index 133f723aca07..0b9f7f6d8390 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 b62f5c0923a8..89af4b9c7319 100644
index b62f5c0923a8
0
..89af4b9c7319
0
100644
--- a/fs/open.c
--- a/fs/open.c
+++ b/fs/open.c
+++ b/fs/open.c
@@ -65,6 +65,7 @@
int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
@@ -65,6 +65,7 @@
int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
...
@@ -130,7 +130,7 @@ index b62f5c0923a8..89af4b9c7319 100644
...
@@ -130,7 +130,7 @@ index b62f5c0923a8..89af4b9c7319 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 fa9b3994b34c..eb0e2c6ebaff 100644
index fa9b3994b34c
4
..eb0e2c6ebaff
6
100644
--- a/fs/read_write.c
--- a/fs/read_write.c
+++ b/fs/read_write.c
+++ b/fs/read_write.c
@@ -468,6 +468,7 @@
ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
@@ -468,6 +468,7 @@
ssize_t vfs_read(struct file *file, char __user *buf, size_t count, loff_t *pos)
...
@@ -166,7 +166,7 @@ index fa9b3994b34c..eb0e2c6ebaff 100644
...
@@ -166,7 +166,7 @@ index fa9b3994b34c..eb0e2c6ebaff 100644
/* file_ppos returns &file->f_pos or NULL if file is stream */
/* file_ppos returns &file->f_pos or NULL if file is stream */
static inline loff_t *file_ppos(struct file *file)
static inline loff_t *file_ppos(struct file *file)
diff --git a/fs/splice.c b/fs/splice.c
diff --git a/fs/splice.c b/fs/splice.c
index 75b489fcb66f..0a1f7498c22b 100644
index 75b489fcb66f
c
..0a1f7498c22b
9
100644
--- a/fs/splice.c
--- a/fs/splice.c
+++ b/fs/splice.c
+++ b/fs/splice.c
@@ -847,6 +847,7 @@
long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -847,6 +847,7 @@
long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
...
@@ -186,7 +186,7 @@ index 75b489fcb66f..0a1f7498c22b 100644
...
@@ -186,7 +186,7 @@ index 75b489fcb66f..0a1f7498c22b 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 457f4e4a5cc1..67c66358f3fe 100644
index 457f4e4a5cc1
f
..67c66358f3fe
4
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)
...
@@ -198,7 +198,7 @@ index 457f4e4a5cc1..67c66358f3fe 100644
...
@@ -198,7 +198,7 @@ index 457f4e4a5cc1..67c66358f3fe 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 90dd78f0eb27..40b01dd1b14a 100644
index 90dd78f0eb27
9
..40b01dd1b14a
2
100644
--- a/fs/xattr.c
--- a/fs/xattr.c
+++ b/fs/xattr.c
+++ b/fs/xattr.c
@@ -296,6 +296,7 @@
vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
@@ -296,6 +296,7 @@
vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
...
@@ -210,7 +210,7 @@ index 90dd78f0eb27..40b01dd1b14a 100644
...
@@ -210,7 +210,7 @@ index 90dd78f0eb27..40b01dd1b14a 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 407c08ac8ac8..d7f71842f8a2 100644
index 407c08ac8ac8
0
..d7f71842f8a2
3
100644
--- a/kernel/locking/lockdep.c
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -174,6 +174,7 @@
inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
@@ -174,6 +174,7 @@
inline struct lock_class *lockdep_hlock_class(struct held_lock *hlock)
...
@@ -222,7 +222,7 @@ index 407c08ac8ac8..d7f71842f8a2 100644
...
@@ -222,7 +222,7 @@ index 407c08ac8ac8..d7f71842f8a2 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 0fef395662a6
e
..83fb1ecfc33d
e
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)
...
@@ -231,7 +231,7 @@ index 0fef395662a6..83fb1ecfc33d 100644
...
@@ -231,7 +231,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 725674f3276d..83f6494c52a2 100644
index 725674f3276d
3
..83f6494c52a2
b
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,
...
@@ -240,7 +240,7 @@ index 725674f3276d..83f6494c52a2 100644
...
@@ -240,7 +240,7 @@ index 725674f3276d..83f6494c52a2 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 1bc000f834e2..306f2c9f7ee2 100644
index 1bc000f834e2
d
..306f2c9f7ee2
1
100644
--- a/security/security.c
--- a/security/security.c
+++ b/security/security.c
+++ b/security/security.c
@@ -1036,6 +1036,7 @@
int security_path_rmdir(const struct path *dir, struct dentry *dentry)
@@ -1036,6 +1036,7 @@
int security_path_rmdir(const struct path *dir, struct dentry *dentry)
...
...
include/uapi/linux/aufs_type.h
View file @
caffea77
...
@@ -40,7 +40,7 @@
...
@@ -40,7 +40,7 @@
#include <limits.h>
#include <limits.h>
#endif
/* __KERNEL__ */
#endif
/* __KERNEL__ */
#define AUFS_VERSION "5.4-20200
518
"
#define AUFS_VERSION "5.4-20200
622
"
/* 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')
...
...
lockdep-debug.patch
View file @
caffea77
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
...
@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.4 lockdep patch
aufs5.4 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 f452521f2e05..8043dba1cceb 100644
index f452521f2e05
5
..8043dba1cceb
c
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,11 +15,11 @@ index f452521f2e05..8043dba1cceb 100644
...
@@ -15,11 +15,11 @@ index f452521f2e05..8043dba1cceb 100644
#include <linux/types.h>
#include <linux/types.h>
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 d7f71842f8a2..d6b199d92b49 100644
index d7f71842f8a2
3
..d6b199d92b49
5
100644
--- a/kernel/locking/lockdep.c
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
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 18d85aebbb57..1fe552a33fb1 100644
index 18d85aebbb57
f
..1fe552a33fb1
f
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
@@ -94,15 +94,15 @@
static const unsigned long LOCKF_USED_IN_IRQ_READ =
@@ -94,15 +94,15 @@
static const unsigned long LOCKF_USED_IN_IRQ_READ =
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment