Commit 7e295737 authored by Philip Müller's avatar Philip Müller

[pkg-upd] 4.9.123-1

parent aaaa3584
......@@ -10,9 +10,9 @@ pkgbase=linux49
pkgname=('linux49' 'linux49-headers')
_kernelname=-MANJARO
_basekernel=4.9
_aufs=20180423
_aufs=20180730 #last release
_bfq=v8r12
_sub=122
_sub=123
pkgver=${_basekernel}.${_sub}
pkgrel=1
arch=('i686' 'x86_64')
......@@ -20,18 +20,18 @@ url="http://www.kernel.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc' 'elfutils')
options=('!strip')
source=(#"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basekernel}.tar.xz"
source=("https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basekernel}.tar.xz"
#"https://www.kernel.org/pub/linux/kernel/v4.x/testing/linux-${_basekernel}-{_rc}.tar.xz"
#https://github.com/torvalds/linux/archive/v${_basekernel}.tar.gz
#linux-${_basekernel}-${pkgrel}.tar.gz::https://github.com/torvalds/linux/archive/${_git}.tar.gz
#"http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-${pkgver}.tar.gz
"http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz"
#https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/snapshot/linux-${pkgver}.tar.gz
# the main kernel config files
'config' 'config.x86_64' 'config.aufs'
# standard config files for mkinitcpio ramdisk
"${pkgbase}.preset"
"${pkgbase}.hook"
"aufs4.9.9+-${_aufs}.patch.bz2"
"aufs4.9.94+-${_aufs}.patch.bz2"
'aufs4-base.patch'
'aufs4-kbuild.patch'
'aufs4-loopback.patch'
......@@ -54,20 +54,21 @@ source=(#"https://www.kernel.org/pub/linux/kernel/v4.x/linux-${_basekernel}.tar.
'0003-zen-temp.patch'
'0004-zen-temp.patch'
)
sha256sums=('deee6296e7247edb815269d56148018aa402c7ff06a7c7b2bc792ce55167cf7b'
sha256sums=('029098dcffab74875e086ae970e3828456838da6e0ba22ce3f64ef764f3d7f1a'
'3ccbfe1fc16be4d5b18c765c09d561ada591a5c20e16c621f68c8442a8fd3f96'
'8272e9a39e1292a1d35077ce0837ebe0b99bbe97681306109519da692ccc549a'
'974726f22339f13147a2af6deb0c0138ea4544074a9974afdca1ddea20a3f77d'
'b44d81446d8b53d5637287c30ae3eb64cae0078c3fbc45fcf1081dd6699818b5'
'43942683a7ff01b180dff7f3de2db4885d43ab3d4e7bd0e1918c3aaf2ee061f4'
'5016e07c4afa91866566f6812aa7a4c69537d3abf64076c0307863f45a491e77'
'53a29eaff4109ad12b63c325dd5c957c1014ce22498d5c887fc99a2810917db0'
'3793037bd7581309798fc40e796e1f6eb469f7216d81b6df26516cd46dcaa5dc'
'320c1aebf1d9ab53011b00655764b8dc2d036382aeec3083bcbfaec77bdc7c95'
'705e05825901b86628a0c3e89753c9c5e0fab87c209146cbdb9d1794ecd238db'
'a3748a4dfefcb170368880d5fe8fbed38ff0de49ba47a9596660b49f557c197e'
'ab2ad075fea3722442f00789584fad14ec74e25afa485d9f93f456d7c686e6ae'
'c9ea8b99202e702f1d80394f6c5716eb78988f5663e714023e1f1d6ac01355da'
'10e684804c611e136c2fa18b2e34c95e8f29d6ec2cd217a65379d764a40f7f2b'
'd9eb380b696fb5b454fa4ec081d60dd3ba69808f02d38954db468009ef0e2d62'
'db7a22592a3d192dd84c84c20f361972bccfd84de346d8d7684488d118eade83'
'e13bf072112864338cf610c8d694b8d82ae08844851b80d6d3f1cb61e112290e'
'd6c4c701d11a3777cded5eef98fcb82abb9d0f29a8b110cc1272e33d6400dfc6'
'40431c239300dc4fff78a4461d201ac154732c1276248895c67adcd86c14d165'
'6afcfbf6d238df6cd8bddf726ce243f1c1d26853a035f7802b4b89753a800efa'
'9d701ce7a04bbd0b162b863d63cab8531d9e7b9cd7766d723c920fe8aa72798d'
'1ff51208068a4ff836bb8cf90ede45f8d4e07ffb2e069cddae98a3f19a52807e'
'44e7e15c95af9676f715569e72688fd64304a70d2854b0f804c156d4961c72c0'
'c317b35c5661b96445b05ea7a1a7564c10650f94fb273a2cbf6d21eaa41e7a06'
......@@ -82,11 +83,11 @@ sha256sums=('deee6296e7247edb815269d56148018aa402c7ff06a7c7b2bc792ce55167cf7b'
prepare() {
# mv "${srcdir}/linux-${_git}" "${srcdir}/linux-${_basekernel}"
mv "${srcdir}/linux-${pkgver}" "${srcdir}/linux-${_basekernel}"
# mv "${srcdir}/linux-${pkgver}" "${srcdir}/linux-${_basekernel}"
cd "${srcdir}/linux-${_basekernel}"
# add upstream patch
#patch -p1 -i "${srcdir}/patch-${pkgver}"
patch -p1 -i "${srcdir}/patch-${pkgver}"
# add latest fixes from stable queue, if needed
# http://git.kernel.org/?p=linux/kernel/git/stable/stable-queue.git
......@@ -111,7 +112,7 @@ prepare() {
patch -p1 -i "${srcdir}/0004-HID-multitouch-enable-Surface-3-Type-Cover-Pro-to-report-multitouch-data.patch"
# add aufs4 support
patch -Np1 -i "${srcdir}/aufs4.9.9+-${_aufs}.patch"
patch -Np1 -i "${srcdir}/aufs4.9.94+-${_aufs}.patch"
patch -Np1 -i "${srcdir}/aufs4-base.patch"
patch -Np1 -i "${srcdir}/aufs4-kbuild.patch"
patch -Np1 -i "${srcdir}/aufs4-loopback.patch"
......
aufs4.9.9+ base patch
aufs4.9.94+ base patch
diff --git a/MAINTAINERS b/MAINTAINERS
index 63cefa6..d78b954 100644
......@@ -25,10 +25,10 @@ index 63cefa6..d78b954 100644
M: Miguel Ojeda Sandonis <miguel.ojeda.sandonis@gmail.com>
W: http://miguelojeda.es/auxdisplay.htm
diff --git a/drivers/block/loop.c b/drivers/block/loop.c
index 4af81876..c27854b 100644
index dc318b9..6fdd95e 100644
--- a/drivers/block/loop.c
+++ b/drivers/block/loop.c
@@ -701,6 +701,24 @@ static inline int is_loop_device(struct file *file)
@@ -704,6 +704,24 @@ static inline int is_loop_device(struct file *file)
return i && S_ISBLK(i->i_mode) && MAJOR(i->i_rdev) == LOOP_MAJOR;
}
......@@ -54,10 +54,10 @@ index 4af81876..c27854b 100644
static ssize_t loop_attr_show(struct device *dev, char *page,
diff --git a/fs/dcache.c b/fs/dcache.c
index 4485a48..fc74297 100644
index 2225b98..079e84b 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1164,7 +1164,7 @@ enum d_walk_ret {
@@ -1204,7 +1204,7 @@ enum d_walk_ret {
*
* The @enter() and @finish() callbacks are called with d_lock held.
*/
......@@ -67,7 +67,7 @@ index 4485a48..fc74297 100644
void (*finish)(void *))
{
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 350a2c8..6f42279 100644
index ec03cf6..f3bbbdf 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -29,7 +29,7 @@
......@@ -89,10 +89,10 @@ index 350a2c8..6f42279 100644
return error;
diff --git a/fs/inode.c b/fs/inode.c
index 88110fd..9a9ba3a 100644
index 920aa0b..816ee9b 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1642,7 +1642,7 @@ EXPORT_SYMBOL(generic_update_time);
@@ -1643,7 +1643,7 @@ EXPORT_SYMBOL(generic_update_time);
* This does the actual work of updating an inodes time or version. Must have
* had called mnt_want_write() before calling this.
*/
......@@ -102,10 +102,10 @@ index 88110fd..9a9ba3a 100644
int (*update_time)(struct inode *, struct timespec *, int);
diff --git a/fs/namespace.c b/fs/namespace.c
index 7cea503..63e316b 100644
index d7360f9..a774274 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -811,6 +811,12 @@ static inline int check_mnt(struct mount *mnt)
@@ -790,6 +790,12 @@ static inline int check_mnt(struct mount *mnt)
return mnt->mnt_ns == current->nsproxy->mnt_ns;
}
......@@ -119,7 +119,7 @@ index 7cea503..63e316b 100644
* vfsmount lock must be held for write
*/
diff --git a/fs/read_write.c b/fs/read_write.c
index 190e0d36..4052813 100644
index ba28059..ae2e2cd 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -515,6 +515,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count,
......@@ -152,10 +152,10 @@ index 190e0d36..4052813 100644
{
mm_segment_t old_fs;
diff --git a/fs/splice.c b/fs/splice.c
index 63b8f54..608a98b 100644
index 8dd79ec..8bca247 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -855,8 +855,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
@@ -856,8 +856,8 @@ EXPORT_SYMBOL(generic_splice_sendpage);
/*
* Attempt to initiate a splice from pipe to file.
*/
......@@ -166,7 +166,7 @@ index 63b8f54..608a98b 100644
{
ssize_t (*splice_write)(struct pipe_inode_info *, struct file *,
loff_t *, size_t, unsigned int);
@@ -872,9 +872,9 @@ static long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -873,9 +873,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.
*/
......@@ -205,10 +205,10 @@ index 7444f5f..bdac0be 100644
static inline void fput_light(struct file *file, int fput_needed)
{
diff --git a/include/linux/fs.h b/include/linux/fs.h
index dc0478c..a02be40d 100644
index e9867af..5f771e0 100644
--- a/include/linux/fs.h
+++ b/include/linux/fs.h
@@ -1291,6 +1291,7 @@ extern void fasync_free(struct fasync_struct *);
@@ -1297,6 +1297,7 @@ extern void fasync_free(struct fasync_struct *);
/* can be called from interrupts */
extern void kill_fasync(struct fasync_struct **, int, int);
......@@ -216,7 +216,7 @@ index dc0478c..a02be40d 100644
extern void __f_setown(struct file *filp, struct pid *, enum pid_type, int force);
extern void f_setown(struct file *filp, unsigned long arg, int force);
extern void f_delown(struct file *filp);
@@ -1715,6 +1716,7 @@ struct file_operations {
@@ -1722,6 +1723,7 @@ struct file_operations {
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);
int (*check_flags)(int);
......@@ -224,7 +224,7 @@ index dc0478c..a02be40d 100644
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_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int);
@@ -1768,6 +1770,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
@@ -1775,6 +1777,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector,
struct iovec *fast_pointer,
struct iovec **ret_pointer);
......@@ -237,7 +237,7 @@ index dc0478c..a02be40d 100644
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_read(struct file *, char __user *, size_t, loff_t *);
@@ -2140,6 +2148,7 @@ extern int current_umask(void);
@@ -2147,6 +2155,7 @@ extern int current_umask(void);
extern void ihold(struct inode * inode);
extern void iput(struct inode *);
extern int generic_update_time(struct inode *, struct timespec *, int);
......@@ -245,7 +245,7 @@ index dc0478c..a02be40d 100644
/* /sys/fs */
extern struct kobject *fs_kobj;
@@ -2419,6 +2428,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
@@ -2426,6 +2435,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb)
return false;
}
#endif
......
aufs4.9.9+ kbuild patch
aufs4.9.94+ kbuild patch
diff --git a/fs/Kconfig b/fs/Kconfig
index 4bd03a2..620e01b 100644
......
aufs4.9.9+ mmap patch
aufs4.9.94+ mmap patch
diff --git a/fs/proc/base.c b/fs/proc/base.c
index ca651ac..0e8551a 100644
index e67fec3..c83180c 100644
--- a/fs/proc/base.c
+++ b/fs/proc/base.c
@@ -1953,7 +1953,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path)
......@@ -30,7 +30,7 @@ index f8595e8..cb8eda0 100644
ino = inode->i_ino;
}
diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c
index 35b92d8..5b981db 100644
index 5138e78..77a4ec2 100644
--- a/fs/proc/task_mmu.c
+++ b/fs/proc/task_mmu.c
@@ -291,7 +291,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid)
......@@ -45,7 +45,7 @@ index 35b92d8..5b981db 100644
dev = inode->i_sb->s_dev;
ino = inode->i_ino;
pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT;
@@ -1627,7 +1630,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
@@ -1630,7 +1633,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid)
struct proc_maps_private *proc_priv = &numa_priv->proc_maps;
struct vm_area_struct *vma = v;
struct numa_maps *md = &numa_priv->md;
......@@ -71,10 +71,10 @@ index 3717562..6a328f1 100644
ino = inode->i_ino;
pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT;
diff --git a/include/linux/mm.h b/include/linux/mm.h
index 0b5b2e4..77b1438 100644
index 8e50678..fd5b53a 100644
--- a/include/linux/mm.h
+++ b/include/linux/mm.h
@@ -1266,6 +1266,28 @@ static inline int fixup_user_fault(struct task_struct *tsk,
@@ -1267,6 +1267,28 @@ static inline int fixup_user_fault(struct task_struct *tsk,
}
#endif
......@@ -104,7 +104,7 @@ index 0b5b2e4..77b1438 100644
unsigned int gup_flags);
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
index 08d947f..836f637 100644
index e8471c2..6616107 100644
--- a/include/linux/mm_types.h
+++ b/include/linux/mm_types.h
@@ -275,6 +275,7 @@ struct vm_region {
......@@ -124,10 +124,10 @@ index 08d947f..836f637 100644
#ifndef CONFIG_MMU
diff --git a/kernel/fork.c b/kernel/fork.c
index ba8a015..f1751cb 100644
index 70e10cb..299b6c3 100644
--- a/kernel/fork.c
+++ b/kernel/fork.c
@@ -624,7 +624,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
@@ -630,7 +630,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm,
struct inode *inode = file_inode(file);
struct address_space *mapping = file->f_mapping;
......@@ -150,10 +150,10 @@ index 295bd7a..14fa1c8 100644
obj-y += init-mm.o
diff --git a/mm/filemap.c b/mm/filemap.c
index d8d7df8..29f16cc 100644
index edfb90e..f24e8352 100644
--- a/mm/filemap.c
+++ b/mm/filemap.c
@@ -2309,7 +2309,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
@@ -2312,7 +2312,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf)
int ret = VM_FAULT_LOCKED;
sb_start_pagefault(inode->i_sb);
......@@ -163,10 +163,10 @@ index d8d7df8..29f16cc 100644
if (page->mapping != inode->i_mapping) {
unlock_page(page);
diff --git a/mm/memory.c b/mm/memory.c
index cbb1e5e..150737f 100644
index d2db2c4..0dc9b85 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -2117,7 +2117,7 @@ static inline int wp_page_reuse(struct fault_env *fe, pte_t orig_pte,
@@ -2118,7 +2118,7 @@ static inline int wp_page_reuse(struct fault_env *fe, pte_t orig_pte,
}
if (!page_mkwrite)
......@@ -176,7 +176,7 @@ index cbb1e5e..150737f 100644
return VM_FAULT_WRITE;
diff --git a/mm/mmap.c b/mm/mmap.c
index 1af87c1..95b0ff4 100644
index 45ac5b9..82b17da 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -170,7 +170,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma)
......@@ -188,7 +188,7 @@ index 1af87c1..95b0ff4 100644
mpol_put(vma_policy(vma));
kmem_cache_free(vm_area_cachep, vma);
return next;
@@ -879,7 +879,7 @@ int __vma_adjust(struct vm_area_struct *vma, unsigned long start,
@@ -893,7 +893,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);
......@@ -197,7 +197,7 @@ index 1af87c1..95b0ff4 100644
}
if (next->anon_vma)
anon_vma_merge(vma, next);
@@ -1727,8 +1727,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
@@ -1741,8 +1741,8 @@ unsigned long mmap_region(struct file *file, unsigned long addr,
return addr;
unmap_and_free_vma:
......@@ -207,7 +207,7 @@ index 1af87c1..95b0ff4 100644
/* Undo any partial mapping done by a device driver. */
unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end);
@@ -2533,7 +2533,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2571,7 +2571,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
goto out_free_mpol;
if (new->vm_file)
......@@ -216,7 +216,7 @@ index 1af87c1..95b0ff4 100644
if (new->vm_ops && new->vm_ops->open)
new->vm_ops->open(new);
@@ -2552,7 +2552,7 @@ static int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma,
@@ -2590,7 +2590,7 @@ static 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)
......@@ -225,7 +225,7 @@ index 1af87c1..95b0ff4 100644
unlink_anon_vmas(new);
out_free_mpol:
mpol_put(vma_policy(new));
@@ -2703,7 +2703,7 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2741,7 +2741,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;
......@@ -234,7 +234,7 @@ index 1af87c1..95b0ff4 100644
pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.txt.\n",
current->comm, current->pid);
@@ -2778,10 +2778,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
@@ -2816,10 +2816,27 @@ SYSCALL_DEFINE5(remap_file_pages, unsigned long, start, unsigned long, size,
}
}
......@@ -263,7 +263,7 @@ index 1af87c1..95b0ff4 100644
out:
up_write(&mm->mmap_sem);
if (populate)
@@ -3056,7 +3073,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap,
@@ -3094,7 +3111,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)
......
aufs4.9.9+ standalone patch
aufs4.9.94+ standalone patch
diff --git a/fs/dcache.c b/fs/dcache.c
index fc74297..98de99a 100644
index 079e84b..cb06a9e 100644
--- a/fs/dcache.c
+++ b/fs/dcache.c
@@ -1272,6 +1272,7 @@ void d_walk(struct dentry *parent, void *data,
@@ -1312,6 +1312,7 @@ void d_walk(struct dentry *parent, void *data,
seq = 1;
goto again;
}
......@@ -12,7 +12,7 @@ index fc74297..98de99a 100644
/*
* Search for at least 1 mount point in the dentry's subdirs.
@@ -2858,6 +2859,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
@@ -2900,6 +2901,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2)
write_sequnlock(&rename_lock);
}
......@@ -21,7 +21,7 @@ index fc74297..98de99a 100644
/**
* d_ancestor - search for an ancestor
diff --git a/fs/exec.c b/fs/exec.c
index 67e8657..70f15ed 100644
index b8c43be..7ff1d36 100644
--- a/fs/exec.c
+++ b/fs/exec.c
@@ -104,6 +104,7 @@ bool path_noexec(const struct path *path)
......@@ -33,7 +33,7 @@ index 67e8657..70f15ed 100644
#ifdef CONFIG_USELIB
/*
diff --git a/fs/fcntl.c b/fs/fcntl.c
index 6f42279..04fd33c 100644
index f3bbbdf..33d48e0 100644
--- a/fs/fcntl.c
+++ b/fs/fcntl.c
@@ -82,6 +82,7 @@ int setfl(int fd, struct file * filp, unsigned long arg)
......@@ -81,10 +81,10 @@ index ad17e05..ae9f267 100644
void __init files_init(void)
{
diff --git a/fs/inode.c b/fs/inode.c
index 9a9ba3a..a3a18d83 100644
index 816ee9b..9b8856b 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -1651,6 +1651,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
@@ -1652,6 +1652,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags)
return update_time(inode, time, flags);
}
......@@ -93,10 +93,10 @@ index 9a9ba3a..a3a18d83 100644
/**
* touch_atime - update the access time
diff --git a/fs/namespace.c b/fs/namespace.c
index 63e316b..9765fa3 100644
index a774274..3af5bad 100644
--- a/fs/namespace.c
+++ b/fs/namespace.c
@@ -466,6 +466,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
@@ -467,6 +467,7 @@ void __mnt_drop_write(struct vfsmount *mnt)
mnt_dec_writers(real_mount(mnt));
preempt_enable();
}
......@@ -104,7 +104,7 @@ index 63e316b..9765fa3 100644
/**
* mnt_drop_write - give up write access to a mount
@@ -816,6 +817,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
@@ -795,6 +796,7 @@ int is_current_mnt_ns(struct vfsmount *mnt)
{
return check_mnt(real_mount(mnt));
}
......@@ -112,7 +112,7 @@ index 63e316b..9765fa3 100644
/*
* vfsmount lock must be held for write
@@ -1853,6 +1855,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
@@ -1863,6 +1865,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg,
}
return 0;
}
......@@ -157,7 +157,7 @@ index fbe3cbe..bdfc61e 100644
int fsnotify_fasync(int fd, struct file *file, int on)
{
diff --git a/fs/notify/mark.c b/fs/notify/mark.c
index d3fea0b..5fc06ad 100644
index d3fea0b..4b928ad 100644
--- a/fs/notify/mark.c
+++ b/fs/notify/mark.c
@@ -113,6 +113,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark)
......@@ -176,14 +176,14 @@ index d3fea0b..5fc06ad 100644
void fsnotify_destroy_marks(struct hlist_head *head, spinlock_t *lock)
{
@@ -415,6 +417,7 @@ int fsnotify_add_mark_locked(struct fsnotify_mark *mark,
@@ -425,6 +427,7 @@ int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
mutex_unlock(&group->mark_mutex);
return ret;
}
+EXPORT_SYMBOL_GPL(fsnotify_add_mark);
int fsnotify_add_mark(struct fsnotify_mark *mark, struct fsnotify_group *group,
struct inode *inode, struct vfsmount *mnt, int allow_dups)
/*
* Given a list of marks, find the mark associated with given group. If found
@@ -533,6 +536,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark,
atomic_set(&mark->refcnt, 1);
mark->free_mark = free_mark;
......@@ -193,7 +193,7 @@ index d3fea0b..5fc06ad 100644
/*
* Destroy all marks in destroy_list, waits for SRCU period to finish before
diff --git a/fs/open.c b/fs/open.c
index d3ed817..20d2494 100644
index a6c6244..80d0ce8 100644
--- a/fs/open.c
+++ b/fs/open.c
@@ -64,6 +64,7 @@ int do_truncate(struct dentry *dentry, loff_t length, unsigned int time_attrs,
......@@ -213,7 +213,7 @@ index d3ed817..20d2494 100644
static int do_dentry_open(struct file *f,
struct inode *inode,
diff --git a/fs/read_write.c b/fs/read_write.c
index 4052813..7dfd732 100644
index ae2e2cd..cf88061 100644
--- a/fs/read_write.c
+++ b/fs/read_write.c
@@ -525,6 +525,7 @@ vfs_readf_t vfs_readf(struct file *file)
......@@ -233,10 +233,10 @@ index 4052813..7dfd732 100644
ssize_t __kernel_write(struct file *file, const char *buf, size_t count, loff_t *pos)
{
diff --git a/fs/splice.c b/fs/splice.c
index 608a98b..e50c4ec 100644
index 8bca247..dc508e6 100644
--- a/fs/splice.c
+++ b/fs/splice.c
@@ -868,6 +868,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
@@ -869,6 +869,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out,
return splice_write(pipe, out, ppos, len, flags);
}
......@@ -244,7 +244,7 @@ index 608a98b..e50c4ec 100644
/*
* Attempt to initiate a splice from a file to a pipe.
@@ -897,6 +898,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
@@ -898,6 +899,7 @@ long do_splice_to(struct file *in, loff_t *ppos,
return splice_read(in, ppos, pipe, len, flags);
}
......@@ -265,7 +265,7 @@ index 7a5fa3f..c9b9d46 100644
/*
* Write out and wait upon all dirty data associated with this
diff --git a/fs/xattr.c b/fs/xattr.c
index 2d13b4e..41c2bcd 100644
index 932b906..a3599ef 100644
--- a/fs/xattr.c
+++ b/fs/xattr.c
@@ -296,6 +296,7 @@ vfs_getxattr_alloc(struct dentry *dentry, const char *name, char **xattr_value,
......
......@@ -5,7 +5,7 @@ rm -Rf aufs4-standalone
git clone git://github.com/sfjro/aufs4-standalone.git aufs4-standalone
cd aufs4-standalone
git branch -r
git checkout origin/aufs4.9.9+
git checkout origin/aufs4.9.94+
# modify what you want
......
aufs4.9.9+ lockdep patch
aufs4.9.94+ lockdep patch
diff --git a/include/linux/lockdep.h b/include/linux/lockdep.h
index c1458fe..3686fbe 100644
......
......@@ -19,7 +19,7 @@ index ff078e7..1edb519 100644
umode_t mode; /* Mount mode for root directory */
unsigned char huge; /* Whether to try for hugepages */
diff --git a/mm/shmem.c b/mm/shmem.c
index 9d32e1c..1fdf35d 100644
index 42ca5df..e2c8067 100644
--- a/mm/shmem.c
+++ b/mm/shmem.c
@@ -104,9 +104,13 @@ static unsigned long shmem_default_max_blocks(void)
......@@ -38,7 +38,7 @@ index 9d32e1c..1fdf35d 100644
}
#endif
@@ -1042,6 +1046,11 @@ static void shmem_evict_inode(struct inode *inode)
@@ -1064,6 +1068,11 @@ static void shmem_evict_inode(struct inode *inode)
simple_xattrs_free(&info->xattrs);
WARN_ON(inode->i_blocks);
......@@ -50,7 +50,7 @@ index 9d32e1c..1fdf35d 100644
shmem_free_inode(inode->i_sb);
clear_inode(inode);
}
@@ -2088,13 +2097,13 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
@@ -2112,13 +2121,13 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
struct inode *inode;
struct shmem_inode_info *info;
struct shmem_sb_info *sbinfo = SHMEM_SB(sb);
......@@ -65,7 +65,7 @@ index 9d32e1c..1fdf35d 100644
inode_init_owner(inode, dir, mode);
inode->i_blocks = 0;
inode->i_atime = inode->i_mtime = inode->i_ctime = current_time(inode);
@@ -2136,6 +2145,25 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
@@ -2160,6 +2169,25 @@ static struct inode *shmem_get_inode(struct super_block *sb, const struct inode
mpol_shared_policy_init(&info->policy, NULL);
break;
}
......@@ -91,7 +91,7 @@ index 9d32e1c..1fdf35d 100644
} else
shmem_free_inode(sb);
return inode;
@@ -3210,8 +3238,7 @@ static struct dentry *shmem_get_parent(struct dentry *child)
@@ -3234,8 +3262,7 @@ static struct dentry *shmem_get_parent(struct dentry *child)
static int shmem_match(struct inode *ino, void *vfh)
{
__u32 *fh = vfh;
......@@ -101,7 +101,7 @@ index 9d32e1c..1fdf35d 100644
return ino->i_ino == inum && fh[0] == ino->i_generation;
}
@@ -3222,14 +3249,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
@@ -3246,14 +3273,11 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
struct dentry *dentry = NULL;
u64 inum;
......@@ -119,7 +119,7 @@ index 9d32e1c..1fdf35d 100644
if (inode) {
dentry = d_find_alias(inode);
iput(inode);
@@ -3241,30 +3265,15 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
@@ -3265,30 +3289,15 @@ static struct dentry *shmem_fh_to_dentry(struct super_block *sb,
static int shmem_encode_fh(struct inode *inode, __u32 *fh, int *len,
struct inode *parent)
{
......@@ -153,7 +153,7 @@ index 9d32e1c..1fdf35d 100644
return 1;
}
@@ -3328,7 +3337,7 @@ static int shmem_parse_options(char *options, struct shmem_sb_info *sbinfo,
@@ -3352,7 +3361,7 @@ static int shmem_parse_options(char *options, struct shmem_sb_info *sbinfo,
goto bad_val;
} else if (!strcmp(this_char,"nr_inodes")) {
sbinfo->max_inodes = memparse(value, &rest);
......@@ -162,7 +162,7 @@ index 9d32e1c..1fdf35d 100644
goto bad_val;
} else if (!strcmp(this_char,"mode")) {
if (remount)
@@ -3393,7 +3402,7 @@ static int shmem_remount_fs(struct super_block *sb, int *flags, char *data)
@@ -3417,7 +3426,7 @@ static int shmem_remount_fs(struct super_block *sb, int *flags, char *data)
{
struct shmem_sb_info *sbinfo = SHMEM_SB(sb);
struct shmem_sb_info config = *sbinfo;
......@@ -171,7 +171,7 @@ index 9d32e1c..1fdf35d 100644
int error = -EINVAL;
config.mpol = NULL;
@@ -3442,7 +3451,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root)
@@ -3466,7 +3475,7 @@ static int shmem_show_options(struct seq_file *seq, struct dentry *root)
seq_printf(seq, ",size=%luk",
sbinfo->max_blocks << (PAGE_SHIFT - 10));
if (sbinfo->max_inodes != shmem_default_max_inodes())
......@@ -180,7 +180,7 @@ index 9d32e1c..1fdf35d 100644
if (sbinfo->mode != (S_IRWXUGO | S_ISVTX))
seq_printf(seq, ",mode=%03ho", sbinfo->mode);
if (!uid_eq(sbinfo->uid, GLOBAL_ROOT_UID))
@@ -3536,6 +3545,8 @@ static void shmem_put_super(struct super_block *sb)
@@ -3560,6 +3569,8 @@ static void shmem_put_super(struct super_block *sb)
{
struct shmem_sb_info *sbinfo = SHMEM_SB(sb);
......@@ -189,7 +189,7 @@ index 9d32e1c..1fdf35d 100644
percpu_counter_destroy(&sbinfo->used_blocks);
mpol_put(sbinfo->mpol);
kfree(sbinfo);
@@ -3554,6 +3565,8 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
@@ -3578,6 +3589,8 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
if (!sbinfo)
return -ENOMEM;
......@@ -198,7 +198,7 @@ index 9d32e1c..1fdf35d 100644
sbinfo->mode = S_IRWXUGO | S_ISVTX;
sbinfo->uid = current_fsuid();
sbinfo->gid = current_fsgid();
@@ -3661,6 +3674,15 @@ static void shmem_destroy_inodecache(void)
@@ -3685,6 +3698,15 @@ static void shmem_destroy_inodecache(void)
kmem_cache_destroy(shmem_inode_cachep);
}
......@@ -214,11 +214,11 @@ index 9d32e1c..1fdf35d 100644
static const struct address_space_operations shmem_aops = {
.writepage = shmem_writepage,
.set_page_dirty = __set_page_dirty_no_writeback,
@@ -3793,6 +3815,7 @@ int __init shmem_init(void)
@@ -3817,6 +3839,7 @@ int __init shmem_init(void)
pr_err("Could not kern_mount tmpfs\n");
goto out1;
}
+ shmem_no_idr(shm_mnt->mnt_sb);
#ifdef CONFIG_TRANSPARENT_HUGE_PAGECACHE
if (has_transparent_hugepage() && shmem_huge < SHMEM_HUGE_DENY)
if (has_transparent_hugepage() && shmem_huge > SHMEM_HUGE_DENY)
diff --git a/fs/inode.c b/fs/inode.c
index 88110fd..64a2f22 100644
index 920aa0b..1c65230 100644
--- a/fs/inode.c
+++ b/fs/inode.c
@@ -855,6 +855,8 @@ unsigned int get_next_ino(void)
@@ -856,6 +856,8 @@ unsigned int get_next_ino(void)
unsigned int *p = &get_cpu_var(last_ino);
unsigned int res = *p;
......@@ -11,7 +11,7 @@ index 88110fd..64a2f22 100644
#ifdef CONFIG_SMP
if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) {
static atomic_t shared_last_ino;
@@ -867,7 +869,7 @@ unsigned int get_next_ino(void)
@@ -868,7 +870,7 @@ unsigned int get_next_ino(void)
res++;
/* get_next_ino should not provide a 0 inode number */
if (unlikely(!res))
......
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