Commit 3d29dbdc authored by J. R. Okajima's avatar J. R. Okajima
Browse files

aufs5.x-rcN 20200120


Signed-off-by: default avatarJ. R. Okajima <hooanon05g@gmail.com>
parent cf28ccdf
......@@ -2,7 +2,7 @@ SPDX-License-Identifier: GPL-2.0
aufs5.x-rcN base patch
diff --git a/MAINTAINERS b/MAINTAINERS
index 8982c6e013b3..476cdc18e782 100644
index 4017e6b760be..1ca1b5218744 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -2877,6 +2877,19 @@ F: include/linux/audit.h
......@@ -68,7 +68,7 @@ index b280e07e162b..046000653e4d 100644
{
struct dentry *this_parent;
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 9bc167562ee8..c01290dcb893 100644
index 9bc167562ee8..b0935c67bd1e 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -32,7 +32,7 @@
......@@ -76,7 +76,7 @@ index 9bc167562ee8..c01290dcb893 100644
#define SETFL_MASK (O_APPEND | O_NONBLOCK | O_NDELAY | O_DIRECT | O_NOATIME)
-static int setfl(int fd, struct file * filp, unsigned long arg)
+int setfl(int fd, struct file * filp, unsigned long arg)
+int setfl(int fd, struct file *filp, unsigned long arg)
{
struct inode * inode = file_inode(filp);
int error = 0;
......@@ -120,7 +120,7 @@ index 5e1bf611a9eb..c05ac2488abb 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/read_write.c b/fs/read_write.c
index 5bbf587f5bc1..3265bb84f152 100644
index 5bbf587f5bc1..fa9b3994b34c 100644
--- a/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,
......@@ -135,7 +135,7 @@ index 5bbf587f5bc1..3265bb84f152 100644
+ return fop->read;
+ if (fop->read_iter)
+ return new_sync_read;
+ return ERR_PTR(-ENOSYS);
+ return ERR_PTR(-ENOSYS); /* doesn't have ->read(|_iter)() op */
+}
+
+vfs_writef_t vfs_writef(struct file *file)
......@@ -146,7 +146,7 @@ index 5bbf587f5bc1..3265bb84f152 100644
+ return fop->write;
+ if (fop->write_iter)
+ return new_sync_write;
+ return ERR_PTR(-ENOSYS);
+ return ERR_PTR(-ENOSYS); /* doesn't have ->write(|_iter)() op */
+}
+
ssize_t __kernel_write(struct file *file, const void *buf, size_t count, loff_t *pos)
......@@ -194,14 +194,14 @@ index 4d1ff010bc5a..457f4e4a5cc1 100644
if (wait)
sync_inodes_sb(sb);
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 98e0349adb52..712037492ea5 100644
index 98e0349adb52..5fc7807f7c2e 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1349,6 +1349,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);
+extern int setfl(int fd, struct file * filp, unsigned long arg);
+extern int setfl(int fd, struct file *filp, unsigned long arg);
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 void f_delown(struct file *filp);
......
......@@ -140,7 +140,7 @@ index 872e3b3a7693..768100025129 100644
}
diff --git a/drivers/block/loop.h b/drivers/block/loop.h
index af75a5ee4094..1e6ee5a4f623 100644
index af75a5ee4094..1d847cb194ff 100644
--- a/drivers/block/loop.h
+++ b/drivers/block/loop.h
@@ -46,7 +46,7 @@ struct loop_device {
......@@ -148,12 +148,12 @@ index af75a5ee4094..1e6ee5a4f623 100644
unsigned long arg);
- struct file * lo_backing_file;
+ struct file * lo_backing_file, *lo_backing_virt_file;
+ struct file *lo_backing_file, *lo_backing_virt_file;
struct block_device *lo_device;
void *key_data;
diff --git a/fs/aufs/f_op.c b/fs/aufs/f_op.c
index 0309f0d502ff..19feb4f3cb5f 100644
index 240509add504..ae374ce4ded7 100644
--- a/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)
......@@ -212,7 +212,7 @@ index f31e40aff267..e13fb1a0717a 100644
#endif /* __KERNEL__ */
diff --git a/fs/aufs/super.c b/fs/aufs/super.c
index a97e2921cb09..f74eb6962684 100644
index 95df083a5888..2db407f441fe 100644
--- a/fs/aufs/super.c
+++ b/fs/aufs/super.c
@@ -844,7 +844,10 @@ static const struct super_operations aufs_sop = {
......@@ -228,14 +228,14 @@ index a97e2921cb09..f74eb6962684 100644
/* ---------------------------------------------------------------------- */
diff --git a/include/linux/fs.h b/include/linux/fs.h
index 712037492ea5..40b828d7c275 100644
index 5fc7807f7c2e..07e24e72706e 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1980,6 +1980,10 @@ struct super_operations {
struct shrink_control *);
long (*free_cached_objects)(struct super_block *,
struct shrink_control *);
+#if defined(CONFIG_BLK_DEV_LOOP) || defined(CONFIG_BLK_DEV_LOOP_MODULE)
+#if IS_ENABLED(CONFIG_BLK_DEV_LOOP) || IS_ENABLED(CONFIG_BLK_DEV_LOOP_MODULE)
+ /* and aufs */
+ struct file *(*real_loop)(struct file *);
+#endif
......
......@@ -125,7 +125,7 @@ index 270aa8fd2800..33848c2165e2 100644
#ifdef CONFIG_SWAP
diff --git a/kernel/fork.c b/kernel/fork.c
index 2508a4f238a3..115953f242d9 100644
index 080809560072..968e4dc2279f 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -565,7 +565,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
......@@ -164,10 +164,10 @@ index bf6aa30be58d..32ca075c0c8b 100644
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/mmap.c b/mm/mmap.c
index 9c648524e4dc..6a019dc6d654 100644
index 71e4ffc83bcd..7256e8b985eb 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -182,7 +182,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
@@ -176,7 +176,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
if (vma->vm_ops && vma->vm_ops->close)
vma->vm_ops->close(vma);
if (vma->vm_file)
......@@ -176,7 +176,7 @@ index 9c648524e4dc..6a019dc6d654 100644
mpol_put(vma_policy(vma));
vm_area_free(vma);
return next;
@@ -915,7 +915,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
@@ -909,7 +909,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
if (remove_next) {
if (file) {
uprobe_munmap(next, next->vm_start, next->vm_end);
......@@ -185,7 +185,7 @@ index 9c648524e4dc..6a019dc6d654 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -1843,8 +1843,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -1837,8 +1837,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
return addr;
unmap_and_free_vma:
......@@ -195,7 +195,7 @@ index 9c648524e4dc..6a019dc6d654 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2673,7 +2673,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2667,7 +2667,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
goto out_free_mpol;
if (new->vm_file)
......@@ -204,7 +204,7 @@ index 9c648524e4dc..6a019dc6d654 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2692,7 +2692,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2686,7 +2686,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
if (new->vm_ops && new->vm_ops->close)
new->vm_ops->close(new);
if (new->vm_file)
......@@ -213,7 +213,7 @@ index 9c648524e4dc..6a019dc6d654 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2884,7 +2884,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2878,7 +2878,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
struct vm_area_struct *vma;
unsigned long populate = 0;
unsigned long ret = -EINVAL;
......@@ -222,7 +222,7 @@ index 9c648524e4dc..6a019dc6d654 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.rst.\n",
current->comm, current->pid);
@@ -2959,10 +2959,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2953,10 +2953,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
}
}
......@@ -251,7 +251,7 @@ index 9c648524e4dc..6a019dc6d654 100644
out:
up_write(&mm->mmap_sem);
if (populate)
@@ -3253,7 +3270,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3247,7 +3264,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
if (anon_vma_clone(new_vma, vma))
goto out_free_mempol;
if (new_vma->vm_file)
......
......@@ -34,10 +34,10 @@ index 74d88dab98dd..71eb4fcace94 100644
#ifdef CONFIG_USELIB
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
index c01290dcb893..113ccee10a97 100644
index b0935c67bd1e..07251ba86c31 100644
--- a/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)
out:
return error;
}
......@@ -130,7 +130,7 @@ index b62f5c0923a8..89af4b9c7319 100644
long vfs_truncate(const struct path *path, loff_t length)
{
diff --git a/fs/read_write.c b/fs/read_write.c
index 3265bb84f152..5b2dbddb0efe 100644
index fa9b3994b34c..eb0e2c6ebaff 100644
--- a/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)
......@@ -143,7 +143,7 @@ index 3265bb84f152..5b2dbddb0efe 100644
{
@@ -508,6 +509,7 @@ vfs_readf_t vfs_readf(struct file *file)
return new_sync_read;
return ERR_PTR(-ENOSYS);
return ERR_PTR(-ENOSYS); /* doesn't have ->read(|_iter)() op */
}
+EXPORT_SYMBOL_GPL(vfs_readf);
......@@ -151,7 +151,7 @@ index 3265bb84f152..5b2dbddb0efe 100644
{
@@ -519,6 +521,7 @@ vfs_writef_t vfs_writef(struct file *file)
return new_sync_write;
return ERR_PTR(-ENOSYS);
return ERR_PTR(-ENOSYS); /* doesn't have ->write(|_iter)() op */
}
+EXPORT_SYMBOL_GPL(vfs_writef);
......
......@@ -40,7 +40,7 @@
#include <limits.h>
#endif /* __KERNEL__ */
#define AUFS_VERSION "5.x-rcN"
#define AUFS_VERSION "5.x-rcN-20200120"
/* todo? move this to linux-2.6.19/include/magic.h */
#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
......
......@@ -15,17 +15,9 @@ index 4f4677020360..1aef2c1047a3 100644
#include <linux/types.h>
diff --git a/kernel/locking/lockdep.c b/kernel/locking/lockdep.c
index bfa1670007fe..736d3350b173 100644
index bfa1670007fe..cfab08627d58 100644
--- a/kernel/locking/lockdep.c
+++ b/kernel/locking/lockdep.c
@@ -4764,6 +4770,7 @@ void lockdep_reset(void)
INIT_HLIST_HEAD(chainhash_table + i);
raw_local_irq_restore(flags);
}
+/* EXPORT_SYMBOL_GPL(lock_reset); */
/* Remove a class from a lock chain. Must be called with the graph lock held. */
static void remove_class_from_lock_chain(struct pending_free *pf,
diff --git a/kernel/locking/lockdep_internals.h b/kernel/locking/lockdep_internals.h
index 18d85aebbb57..1fe552a33fb1 100644
--- a/kernel/locking/lockdep_internals.h
......
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