diff --git a/debian/changelog b/debian/changelog index bd4ce6c04..3db2f0fe1 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,9 @@ linux (3.17~rc4-1~exp1) UNRELEASED; urgency=medium * New upstream release candidate + [ Ben Hutchings ] + * aufs: Update to aufs3.x-rcN-20140908 + -- Ben Hutchings Sat, 13 Sep 2014 06:42:35 +0100 linux (3.16.2-3) unstable; urgency=medium diff --git a/debian/patches/features/all/aufs3/aufs3-add.patch b/debian/patches/features/all/aufs3/aufs3-add.patch index f015e0786..7c1aef4f0 100644 --- a/debian/patches/features/all/aufs3/aufs3-add.patch +++ b/debian/patches/features/all/aufs3/aufs3-add.patch @@ -1,7 +1,7 @@ From: J. R. Okajima -Date: Thu Sep 4 19:46:58 2014 +0900 -Subject: aufs3.16-20140908 -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/888949daf96bf7e2b857dc38e22029513f94d4ae/tree/ +Date: Thu Sep 4 19:47:05 2014 +0900 +Subject: aufs3.x-rcN-20140908 +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch generated by debian/patches/features/all/aufs3/gen-patch @@ -14688,8 +14688,8 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + au_hn_destroy_cache(); +} --- a/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100 -+++ b/fs/aufs/i_op.c 2014-09-08 00:39:05.266571221 +0100 -@@ -0,0 +1,1142 @@ ++++ b/fs/aufs/i_op.c 2014-09-13 07:23:44.615741693 +0100 +@@ -0,0 +1,1150 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima + * @@ -14903,6 +14903,14 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + } + + ret = d_splice_alias(inode, dentry); ++ if (IS_ERR(ret) ++ && PTR_ERR(ret) == -EIO ++ && inode ++ && S_ISDIR(inode->i_mode)) { ++ ret = d_materialise_unique(dentry, inode); ++ if (!IS_ERR(ret)) ++ ii_write_unlock(inode); ++ } +#if 0 + if (unlikely(d_need_lookup(dentry))) { + spin_lock(&dentry->d_lock); @@ -32919,7 +32927,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + return err; +} --- a/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100 -+++ b/include/uapi/linux/aufs_type.h 2014-09-08 00:39:05.266571221 +0100 ++++ b/include/uapi/linux/aufs_type.h 2014-09-13 07:23:44.615741693 +0100 @@ -0,0 +1,380 @@ +/* + * Copyright (C) 2005-2014 Junjiro R. Okajima @@ -32962,7 +32970,7 @@ Patch generated by debian/patches/features/all/aufs3/gen-patch + +#include + -+#define AUFS_VERSION "3.16-20140908" ++#define AUFS_VERSION "3.x-rcN-20140908" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') diff --git a/debian/patches/features/all/aufs3/aufs3-base.patch b/debian/patches/features/all/aufs3/aufs3-base.patch index 333a088ef..1b586afe5 100644 --- a/debian/patches/features/all/aufs3/aufs3-base.patch +++ b/debian/patches/features/all/aufs3/aufs3-base.patch @@ -1,18 +1,18 @@ From: J. R. Okajima -Date: Sat Aug 23 03:27:11 2014 +0900 -Subject: aufs3.16 base patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/888949daf96bf7e2b857dc38e22029513f94d4ae/tree/ +Date: Thu Sep 4 19:47:05 2014 +0900 +Subject: aufs3.x-rcN base patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.16 base patch +aufs3.x-rcN base patch diff --git a/MAINTAINERS b/MAINTAINERS -index c2066f4..f07a989 100644 +index cf24bb5..4516dbc 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -1698,6 +1698,20 @@ F: include/linux/audit.h +@@ -1741,6 +1741,20 @@ F: include/linux/audit.h F: include/uapi/linux/audit.h F: kernel/audit* @@ -63,10 +63,10 @@ index 6cb1beb..30efd68 100644 static ssize_t loop_attr_show(struct device *dev, char *page, diff --git a/fs/inode.c b/fs/inode.c -index 6eecb7f..b225c0f 100644 +index 26753ba..df21e66 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -1496,7 +1496,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, +@@ -1497,7 +1497,7 @@ static int relatime_need_update(struct vfsmount *mnt, struct inode *inode, * This does the actual work of updating an inodes time or version. Must have * had called mnt_want_write() before calling this. */ @@ -104,10 +104,10 @@ index f5cb9ba..9ba380c 100644 ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); diff --git a/include/linux/fs.h b/include/linux/fs.h -index e11d60c..2f32b35 100644 +index 9418772..c28347c 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -2618,6 +2618,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); +@@ -2645,6 +2645,7 @@ extern int inode_change_ok(const struct inode *, struct iattr *); extern int inode_newsize_ok(const struct inode *, loff_t offset); extern void setattr_copy(struct inode *inode, const struct iattr *attr); diff --git a/debian/patches/features/all/aufs3/aufs3-kbuild.patch b/debian/patches/features/all/aufs3/aufs3-kbuild.patch index d1316a3e0..63f20f213 100644 --- a/debian/patches/features/all/aufs3/aufs3-kbuild.patch +++ b/debian/patches/features/all/aufs3/aufs3-kbuild.patch @@ -1,12 +1,12 @@ From: J. R. Okajima -Date: Thu Aug 7 21:42:20 2014 +0900 -Subject: aufs3.16 kbuild patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/888949daf96bf7e2b857dc38e22029513f94d4ae/tree/ +Date: Sat Aug 23 03:27:16 2014 +0900 +Subject: aufs3.x-rcN kbuild patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.16 kbuild patch +aufs3.x-rcN kbuild patch diff --git a/fs/Kconfig b/fs/Kconfig index 312393f..78632ed 100644 @@ -21,7 +21,7 @@ index 312393f..78632ed 100644 endif # MISC_FILESYSTEMS diff --git a/fs/Makefile b/fs/Makefile -index 4030cbf..5bd169a 100644 +index 90c8852..d4f52f3 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -125,3 +125,4 @@ obj-y += exofs/ # Multiple modules diff --git a/debian/patches/features/all/aufs3/aufs3-mmap.patch b/debian/patches/features/all/aufs3/aufs3-mmap.patch index 8b1266602..c8922dbc5 100644 --- a/debian/patches/features/all/aufs3/aufs3-mmap.patch +++ b/debian/patches/features/all/aufs3/aufs3-mmap.patch @@ -1,18 +1,18 @@ From: J. R. Okajima -Date: Thu Aug 7 21:42:20 2014 +0900 -Subject: aufs3.16 mmap patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/888949daf96bf7e2b857dc38e22029513f94d4ae/tree/ +Date: Thu Sep 4 19:47:05 2014 +0900 +Subject: aufs3.x-rcN mmap patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.16 mmap patch +aufs3.x-rcN mmap patch diff --git a/fs/buffer.c b/fs/buffer.c -index eba6e4f..31f0b2d 100644 +index 8f05111..2033d7c 100644 --- a/fs/buffer.c +++ b/fs/buffer.c -@@ -2460,7 +2460,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, +@@ -2453,7 +2453,7 @@ int block_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf, * Update file times before taking page lock. We may end up failing the * fault so this update may be superfluous but who really cares... */ @@ -38,7 +38,7 @@ index d4a3574..1397181 100644 ino = inode->i_ino; } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index cfa63ee..bf4919e 100644 +index dfc791c..32699c2 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c @@ -265,7 +265,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) @@ -53,7 +53,7 @@ index cfa63ee..bf4919e 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1390,7 +1393,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid) +@@ -1405,7 +1408,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; @@ -79,7 +79,7 @@ index 678455d..0ef7ef4 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 e03dd29..dd32624 100644 +index 8981cc8..9460928 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1184,6 +1184,28 @@ static inline int fixup_user_fault(struct task_struct *tsk, @@ -112,7 +112,7 @@ index e03dd29..dd32624 100644 extern int access_remote_vm(struct mm_struct *mm, unsigned long addr, void *buf, int len, int write); diff --git a/include/linux/mm_types.h b/include/linux/mm_types.h -index 96c5750..a087ecd 100644 +index 6e0b286..8f374ed 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -232,6 +232,7 @@ struct vm_region { @@ -132,10 +132,10 @@ index 96c5750..a087ecd 100644 #ifndef CONFIG_MMU diff --git a/kernel/fork.c b/kernel/fork.c -index 6a13c46..714302c 100644 +index 0cf9cdb..87ef21e 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -416,7 +416,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) +@@ -424,7 +424,7 @@ static int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; @@ -145,7 +145,7 @@ index 6a13c46..714302c 100644 atomic_dec(&inode->i_writecount); mutex_lock(&mapping->i_mmap_mutex); diff --git a/mm/Makefile b/mm/Makefile -index 4064f3e..0003fdf 100644 +index 632ae77..d3bdeb6 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -18,7 +18,7 @@ obj-y := filemap.o mempool.o oom_kill.o fadvise.o \ @@ -158,10 +158,10 @@ index 4064f3e..0003fdf 100644 obj-y += init-mm.o diff --git a/mm/filemap.c b/mm/filemap.c -index 900edfa..f4dda0c 100644 +index 90effcd..0021dc8 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -2040,7 +2040,7 @@ int filemap_page_mkwrite(struct vm_area_struct *vma, struct vm_fault *vmf) +@@ -2058,7 +2058,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); @@ -206,10 +206,10 @@ index 72b8fa3..a00bbf0 100644 } goto out_freed; diff --git a/mm/madvise.c b/mm/madvise.c -index a402f8f..134e15d 100644 +index 0938b30..0b66856 100644 --- a/mm/madvise.c +++ b/mm/madvise.c -@@ -327,12 +327,12 @@ static long madvise_remove(struct vm_area_struct *vma, +@@ -324,12 +324,12 @@ static long madvise_remove(struct vm_area_struct *vma, * vma's reference to the file) can go away as soon as we drop * mmap_sem. */ @@ -225,10 +225,10 @@ index a402f8f..134e15d 100644 return error; } diff --git a/mm/memory.c b/mm/memory.c -index 8b44f76..69a72bf 100644 +index adeac30..a9a3247 100644 --- a/mm/memory.c +++ b/mm/memory.c -@@ -2161,7 +2161,7 @@ reuse: +@@ -2159,7 +2159,7 @@ reuse: set_page_dirty_balance(dirty_page); /* file_update_time outside page_lock */ if (vma->vm_file) @@ -238,10 +238,10 @@ index 8b44f76..69a72bf 100644 put_page(dirty_page); if (page_mkwrite) { diff --git a/mm/mmap.c b/mm/mmap.c -index 129b847..869d1d7 100644 +index c1f2ea4..8c434e0 100644 --- a/mm/mmap.c +++ b/mm/mmap.c -@@ -253,7 +253,7 @@ static struct vm_area_struct *remove_vma(struct vm_area_struct *vma) +@@ -258,7 +258,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) @@ -250,7 +250,7 @@ index 129b847..869d1d7 100644 mpol_put(vma_policy(vma)); kmem_cache_free(vm_area_cachep, vma); return next; -@@ -863,7 +863,7 @@ again: remove_next = 1 + (end > next->vm_end); +@@ -868,7 +868,7 @@ again: remove_next = 1 + (end > next->vm_end); if (remove_next) { if (file) { uprobe_munmap(next, next->vm_start, next->vm_end); @@ -259,17 +259,17 @@ index 129b847..869d1d7 100644 } if (next->anon_vma) anon_vma_merge(vma, next); -@@ -1643,8 +1643,8 @@ out: +@@ -1661,8 +1661,8 @@ out: + return addr; + unmap_and_free_vma: - if (vm_flags & VM_DENYWRITE) - allow_write_access(file); + vma_fput(vma); vma->vm_file = NULL; - fput(file); /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); -@@ -2434,7 +2434,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2457,7 +2457,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, goto out_free_mpol; if (new->vm_file) @@ -278,7 +278,7 @@ index 129b847..869d1d7 100644 if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2453,7 +2453,7 @@ static int __split_vma(struct mm_struct * mm, struct vm_area_struct * vma, +@@ -2476,7 +2476,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) @@ -287,7 +287,7 @@ index 129b847..869d1d7 100644 unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); -@@ -2842,7 +2842,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -2865,7 +2865,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) @@ -317,7 +317,7 @@ index 992a167..ce1915b 100644 goto out; down_read(&mm->mmap_sem); diff --git a/mm/nommu.c b/mm/nommu.c -index 4a852f6..b369644 100644 +index a881d96..5a402f4 100644 --- a/mm/nommu.c +++ b/mm/nommu.c @@ -658,7 +658,7 @@ static void __put_nommu_region(struct vm_region *region) diff --git a/debian/patches/features/all/aufs3/aufs3-standalone.patch b/debian/patches/features/all/aufs3/aufs3-standalone.patch index c8ef3d05e..d5071e3f0 100644 --- a/debian/patches/features/all/aufs3/aufs3-standalone.patch +++ b/debian/patches/features/all/aufs3/aufs3-standalone.patch @@ -1,15 +1,15 @@ From: J. R. Okajima -Date: Thu Aug 7 21:42:20 2014 +0900 -Subject: aufs3.16 standalone patch -Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/888949daf96bf7e2b857dc38e22029513f94d4ae/tree/ +Date: Sat Aug 23 03:27:16 2014 +0900 +Subject: aufs3.x-rcN standalone patch +Origin: http://sourceforge.net/p/aufs/aufs3-standalone/ci/d904980ca29fe1177d0cd1b742841442ec885544/tree/ Bug-Debian: https://bugs.debian.org/541828 Patch headers added by debian/patches/features/all/aufs3/gen-patch -aufs3.16 standalone patch +aufs3.x-rcN standalone patch diff --git a/fs/inode.c b/fs/inode.c -index b225c0f..73259c8 100644 +index df21e66..c8df03d 100644 --- a/fs/inode.c +++ b/fs/inode.c @@ -57,6 +57,7 @@ static struct hlist_head *inode_hashtable __read_mostly; @@ -20,7 +20,7 @@ index b225c0f..73259c8 100644 /* * Empty aops. Can be used for the cases where the user does not -@@ -1512,6 +1513,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags) +@@ -1513,6 +1514,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags) mark_inode_dirty_sync(inode); return 0; } @@ -29,10 +29,10 @@ index b225c0f..73259c8 100644 /** * touch_atime - update the access time diff --git a/fs/namespace.c b/fs/namespace.c -index 182bc41..c88e101 100644 +index a01c773..3ac4837 100644 --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -453,6 +453,7 @@ void __mnt_drop_write(struct vfsmount *mnt) +@@ -452,6 +452,7 @@ void __mnt_drop_write(struct vfsmount *mnt) mnt_dec_writers(real_mount(mnt)); preempt_enable(); } @@ -40,7 +40,7 @@ index 182bc41..c88e101 100644 /** * mnt_drop_write - give up write access to a mount -@@ -1564,6 +1565,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, +@@ -1576,6 +1577,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, } return 0; } @@ -161,10 +161,10 @@ index 9ba380c..3419932 100644 /** * splice_direct_to_actor - splices data directly between two non-pipes diff --git a/security/commoncap.c b/security/commoncap.c -index b9d613e..ba3b618 100644 +index bab0611..3fa2f82 100644 --- a/security/commoncap.c +++ b/security/commoncap.c -@@ -988,9 +988,11 @@ int cap_mmap_addr(unsigned long addr) +@@ -979,9 +979,11 @@ int cap_mmap_addr(unsigned long addr) } return ret; } @@ -177,7 +177,7 @@ index b9d613e..ba3b618 100644 } +EXPORT_SYMBOL_GPL(cap_mmap_file); diff --git a/security/device_cgroup.c b/security/device_cgroup.c -index d9d69e6..3f6f471 100644 +index 188c1d2..426d9af 100644 --- a/security/device_cgroup.c +++ b/security/device_cgroup.c @@ -7,6 +7,7 @@ @@ -197,7 +197,7 @@ index d9d69e6..3f6f471 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { diff --git a/security/security.c b/security/security.c -index 31614e9..b223a66 100644 +index e41b1a8..37cc870 100644 --- a/security/security.c +++ b/security/security.c @@ -407,6 +407,7 @@ int security_path_rmdir(struct path *dir, struct dentry *dentry) diff --git a/debian/patches/series b/debian/patches/series index d5e3435f7..2f449ea6e 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -18,13 +18,13 @@ bugfix/all/radeon-firmware-is-required-for-drm-and-kms-on-r600-onward.patch # Patches and source files from aufs3 repository, imported with # debian/patches/features/all/aufs3/gen-patch. -#features/all/aufs3/aufs3-kbuild.patch -#features/all/aufs3/aufs3-base.patch -#features/all/aufs3/aufs3-mmap.patch -#features/all/aufs3/aufs3-standalone.patch -#features/all/aufs3/aufs3-add.patch +features/all/aufs3/aufs3-kbuild.patch +features/all/aufs3/aufs3-base.patch +features/all/aufs3/aufs3-mmap.patch +features/all/aufs3/aufs3-standalone.patch +features/all/aufs3/aufs3-add.patch # Debian-specific changes -#debian/aufs3-mark-as-staging.patch +debian/aufs3-mark-as-staging.patch # Change some defaults for security reasons debian/af_802154-Disable-auto-loading-as-mitigation-against.patch