commit 3c1bdaffd564d4758d6cc169866988b172b3700a Author: Arkadiusz MiĆkiewicz <ar...@maven.pl> Date: Tue Sep 5 11:52:30 2017 +0200
- up to 4.13.0; aufs4, configs updated; builds without apparmor kernel-aufs4.patch | 303 +++++++++++++++++++++++++----------------------- kernel-multiarch.config | 279 ++++++++++++++++++++++++++++++++++++-------- kernel.spec | 8 +- 3 files changed, 392 insertions(+), 198 deletions(-) --- diff --git a/kernel.spec b/kernel.spec index b04b65c1..d57dcc78 100644 --- a/kernel.spec +++ b/kernel.spec @@ -68,9 +68,9 @@ %define have_pcmcia 0 %endif -%define rel 1 -%define basever 4.12 -%define postver .10 +%define rel 0.1 +%define basever 4.13 +%define postver .0 # define this to '-%{basever}' for longterm branch %define versuffix %{nil} @@ -119,7 +119,7 @@ Epoch: 3 License: GPL v2 Group: Base/Kernel Source0: https://www.kernel.org/pub/linux/kernel/v4.x/linux-%{basever}.tar.xz -# Source0-md5: fc454157e2d024d401a60905d6481c6b +# Source0-md5: ab1a2abc6f37b752dd2595338bec4e78 %if "%{postver}" != ".0" Patch0: https://www.kernel.org/pub/linux/kernel/v4.x/patch-%{version}.xz # Patch0-md5: 372499380d29bbbc176d7672bd21f812 diff --git a/kernel-aufs4.patch b/kernel-aufs4.patch index 7d3892cf..e0eb9ca1 100644 --- a/kernel-aufs4.patch +++ b/kernel-aufs4.patch @@ -1,10 +1,10 @@ aufs4.x-rcN kbuild patch diff --git a/fs/Kconfig b/fs/Kconfig -index b0e42b6..7fa4b68 100644 +index 7aee6d6..ec92031 100644 --- a/fs/Kconfig +++ b/fs/Kconfig -@@ -249,6 +249,7 @@ source "fs/pstore/Kconfig" +@@ -248,6 +248,7 @@ source "fs/pstore/Kconfig" source "fs/sysv/Kconfig" source "fs/ufs/Kconfig" source "fs/exofs/Kconfig" @@ -24,10 +24,10 @@ index 7bbaca9..a026491 100644 aufs4.x-rcN base patch diff --git a/MAINTAINERS b/MAINTAINERS -index 09b5ab6..6640ab1 100644 +index 1c3feff..1a12137 100644 --- a/MAINTAINERS +++ b/MAINTAINERS -@@ -2348,6 +2348,19 @@ F: include/linux/audit.h +@@ -2392,6 +2392,19 @@ F: include/linux/audit.h F: include/uapi/linux/audit.h F: kernel/audit* @@ -48,7 +48,7 @@ index 09b5ab6..6640ab1 100644 M: Miguel Ojeda Sandonis <miguel.ojeda.sando...@gmail.com> W: http://miguelojeda.es/auxdisplay.htm diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index ebbd0c3..6b8a6a4c 100644 +index f321b96..10707c3 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -700,6 +700,24 @@ static inline int is_loop_device(struct file *file) @@ -77,10 +77,10 @@ index ebbd0c3..6b8a6a4c 100644 static ssize_t loop_attr_show(struct device *dev, char *page, diff --git a/fs/dcache.c b/fs/dcache.c -index a9f995f..3458af5 100644 +index f901413..e3719a5 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1164,7 +1164,7 @@ enum d_walk_ret { +@@ -1197,7 +1197,7 @@ enum d_walk_ret { * * The @enter() and @finish() callbacks are called with d_lock held. */ @@ -90,7 +90,7 @@ index a9f995f..3458af5 100644 void (*finish)(void *)) { diff --git a/fs/fcntl.c b/fs/fcntl.c -index f4e7267..d39404c 100644 +index 3b01b64..659760e 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -31,7 +31,7 @@ @@ -112,10 +112,10 @@ index f4e7267..d39404c 100644 return error; diff --git a/fs/inode.c b/fs/inode.c -index db59147..69cbe9c 100644 +index 5037059..73820bf 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -1640,7 +1640,7 @@ EXPORT_SYMBOL(generic_update_time); +@@ -1641,7 +1641,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. */ @@ -125,10 +125,10 @@ index db59147..69cbe9c 100644 int (*update_time)(struct inode *, struct timespec *, int); diff --git a/fs/read_write.c b/fs/read_write.c -index 19d4d88..05033f7 100644 +index 0cc7033..6e542f0 100644 --- a/fs/read_write.c +++ b/fs/read_write.c -@@ -513,6 +513,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, +@@ -473,6 +473,28 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, } EXPORT_SYMBOL(__vfs_write); @@ -158,7 +158,7 @@ index 19d4d88..05033f7 100644 { mm_segment_t old_fs; diff --git a/fs/splice.c b/fs/splice.c -index 540c4a4..4a0bc62 100644 +index ae41201..9753304 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -853,8 +853,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); @@ -186,7 +186,7 @@ index 540c4a4..4a0bc62 100644 ssize_t (*splice_read)(struct file *, loff_t *, struct pipe_inode_info *, size_t, unsigned int); diff --git a/fs/sync.c b/fs/sync.c -index 11ba023..abf6a5d 100644 +index 2a54c1f..7a5fa3f 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -27,7 +27,7 @@ @@ -211,18 +211,18 @@ index 61eb82c..e700888 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 803e5a9..22d2910 100644 +index cbfe127..9b21bb5 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1248,6 +1248,7 @@ extern void fasync_free(struct fasync_struct *); +@@ -1262,6 +1262,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 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 int f_setown(struct file *filp, unsigned long arg, int force); extern void f_delown(struct file *filp); -@@ -1674,6 +1675,7 @@ struct file_operations { +@@ -1683,6 +1684,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); @@ -230,7 +230,7 @@ index 803e5a9..22d2910 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); -@@ -1750,6 +1752,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, +@@ -1753,6 +1755,12 @@ ssize_t rw_copy_check_uvector(int type, const struct iovec __user * uvector, struct iovec *fast_pointer, struct iovec **ret_pointer); @@ -243,7 +243,7 @@ index 803e5a9..22d2910 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 *); -@@ -2131,6 +2139,7 @@ extern int current_umask(void); +@@ -2157,6 +2165,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); @@ -251,7 +251,7 @@ index 803e5a9..22d2910 100644 /* /sys/fs */ extern struct kobject *fs_kobj; -@@ -2411,6 +2420,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb) +@@ -2437,6 +2446,7 @@ static inline bool sb_is_blkdev_sb(struct super_block *sb) return false; } #endif @@ -277,10 +277,10 @@ index db42746..12f3a5a 100644 aufs4.x-rcN mmap patch diff --git a/fs/proc/base.c b/fs/proc/base.c -index f1e1927..7b5af0c 100644 +index 719c2e9..a1b7968 100644 --- a/fs/proc/base.c +++ b/fs/proc/base.c -@@ -1943,7 +1943,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path) +@@ -1986,7 +1986,7 @@ static int map_files_get_link(struct dentry *dentry, struct path *path) down_read(&mm->mmap_sem); vma = find_exact_vma(mm, vm_start, vm_end); if (vma && vma->vm_file) { @@ -306,10 +306,10 @@ index 7563437..7c0dc0f 100644 ino = inode->i_ino; } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index 520802d..61a037d 100644 +index fe8f326..b2f7f1a 100644 --- a/fs/proc/task_mmu.c +++ b/fs/proc/task_mmu.c -@@ -292,7 +292,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) +@@ -293,7 +293,10 @@ show_map_vma(struct seq_file *m, struct vm_area_struct *vma, int is_pid) const char *name = NULL; if (file) { @@ -321,7 +321,7 @@ index 520802d..61a037d 100644 dev = inode->i_sb->s_dev; ino = inode->i_ino; pgoff = ((loff_t)vma->vm_pgoff) << PAGE_SHIFT; -@@ -1638,7 +1641,7 @@ static int show_numa_map(struct seq_file *m, void *v, int is_pid) +@@ -1640,7 +1643,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; @@ -347,7 +347,7 @@ index 23266694..58e59b6 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 6f543a4..696494b 100644 +index 46b9ac5..62ba1c3 100644 --- a/include/linux/mm.h +++ b/include/linux/mm.h @@ -1306,6 +1306,28 @@ static inline int fixup_user_fault(struct task_struct *tsk, @@ -380,7 +380,7 @@ index 6f543a4..696494b 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 45cdb27..1a40012 100644 +index 3cadee0..d0142c1 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -259,6 +259,7 @@ struct vm_region { @@ -400,10 +400,10 @@ index 45cdb27..1a40012 100644 #ifndef CONFIG_MMU diff --git a/kernel/fork.c b/kernel/fork.c -index e53770d..cdf7516 100644 +index cbbea27..f0fd8a1 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -665,7 +665,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, +@@ -663,7 +663,7 @@ static __latent_entropy int dup_mmap(struct mm_struct *mm, struct inode *inode = file_inode(file); struct address_space *mapping = file->f_mapping; @@ -413,7 +413,7 @@ index e53770d..cdf7516 100644 atomic_dec(&inode->i_writecount); i_mmap_lock_write(mapping); diff --git a/mm/Makefile b/mm/Makefile -index 026f6a8..723da17 100644 +index 411bd24..e7de927 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o \ @@ -426,10 +426,10 @@ index 026f6a8..723da17 100644 obj-y += init-mm.o diff --git a/mm/filemap.c b/mm/filemap.c -index 6f1be57..69a8d94 100644 +index 0b41c8c..c5262ff 100644 --- a/mm/filemap.c +++ b/mm/filemap.c -@@ -2408,7 +2408,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) +@@ -2543,7 +2543,7 @@ int filemap_page_mkwrite(struct vm_fault *vmf) int ret = VM_FAULT_LOCKED; sb_start_pagefault(inode->i_sb); @@ -439,7 +439,7 @@ index 6f1be57..69a8d94 100644 if (page->mapping != inode->i_mapping) { unlock_page(page); diff --git a/mm/mmap.c b/mm/mmap.c -index a5e3dcd..a5d908c 100644 +index f19efcf..7fdd59e 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) @@ -470,7 +470,7 @@ index a5e3dcd..a5d908c 100644 /* Undo any partial mapping done by a device driver. */ unmap_region(mm, vma, prev, vma->vm_start, vma->vm_end); -@@ -2571,7 +2571,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2568,7 +2568,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, goto out_free_mpol; if (new->vm_file) @@ -479,7 +479,7 @@ index a5e3dcd..a5d908c 100644 if (new->vm_ops && new->vm_ops->open) new->vm_ops->open(new); -@@ -2590,7 +2590,7 @@ int __split_vma(struct mm_struct *mm, struct vm_area_struct *vma, +@@ -2587,7 +2587,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) @@ -488,7 +488,7 @@ index a5e3dcd..a5d908c 100644 unlink_anon_vmas(new); out_free_mpol: mpol_put(vma_policy(new)); -@@ -2744,7 +2744,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; @@ -497,7 +497,7 @@ index a5e3dcd..a5d908c 100644 pr_warn_once("%s (%d) uses deprecated remap_file_pages() syscall. See Documentation/vm/remap_file_pages.txt.\n", current->comm, current->pid); -@@ -2819,10 +2819,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, } } @@ -526,7 +526,7 @@ index a5e3dcd..a5d908c 100644 out: up_write(&mm->mmap_sem); if (populate) -@@ -3113,7 +3130,7 @@ struct vm_area_struct *copy_vma(struct vm_area_struct **vmap, +@@ -3110,7 +3127,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) @@ -673,10 +673,10 @@ index 0000000..1ef053b aufs4.x-rcN standalone patch diff --git a/fs/dcache.c b/fs/dcache.c -index 3458af5..5fd25bb 100644 +index e3719a5..3203470 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -1272,6 +1272,7 @@ void d_walk(struct dentry *parent, void *data, +@@ -1305,6 +1305,7 @@ void d_walk(struct dentry *parent, void *data, seq = 1; goto again; } @@ -684,7 +684,7 @@ index 3458af5..5fd25bb 100644 struct check_mount { struct vfsmount *mnt; -@@ -2862,6 +2863,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2) +@@ -2894,6 +2895,7 @@ void d_exchange(struct dentry *dentry1, struct dentry *dentry2) write_sequnlock(&rename_lock); } @@ -693,7 +693,7 @@ index 3458af5..5fd25bb 100644 /** * d_ancestor - search for an ancestor diff --git a/fs/exec.c b/fs/exec.c -index 9041990..31f14c6 100644 +index 62175cb..f0b6fdd 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -109,6 +109,7 @@ bool path_noexec(const struct path *path) @@ -705,7 +705,7 @@ index 9041990..31f14c6 100644 #ifdef CONFIG_USELIB /* diff --git a/fs/fcntl.c b/fs/fcntl.c -index d39404c..ac1dc66 100644 +index 659760e..5c37087 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -84,6 +84,7 @@ int setfl(int fd, struct file * filp, unsigned long arg) @@ -717,7 +717,7 @@ index d39404c..ac1dc66 100644 static void f_modown(struct file *filp, struct pid *pid, enum pid_type type, int force) diff --git a/fs/file_table.c b/fs/file_table.c -index 954d510..4fb5b10 100644 +index 72e861a..01ae52f 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -148,6 +148,7 @@ struct file *get_empty_filp(void) @@ -728,7 +728,7 @@ index 954d510..4fb5b10 100644 /** * alloc_file - allocate and initialize a 'struct file' -@@ -259,6 +260,7 @@ void flush_delayed_fput(void) +@@ -260,6 +261,7 @@ void flush_delayed_fput(void) { delayed_fput(NULL); } @@ -736,7 +736,7 @@ index 954d510..4fb5b10 100644 static DECLARE_DELAYED_WORK(delayed_fput_work, delayed_fput); -@@ -301,6 +303,7 @@ void __fput_sync(struct file *file) +@@ -302,6 +304,7 @@ void __fput_sync(struct file *file) } EXPORT_SYMBOL(fput); @@ -744,7 +744,7 @@ index 954d510..4fb5b10 100644 void put_filp(struct file *file) { -@@ -309,6 +312,7 @@ void put_filp(struct file *file) +@@ -310,6 +313,7 @@ void put_filp(struct file *file) file_free(file); } } @@ -753,10 +753,10 @@ index 954d510..4fb5b10 100644 void __init files_init(void) { diff --git a/fs/inode.c b/fs/inode.c -index 69cbe9c..764566d 100644 +index 73820bf..7db829e 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -1649,6 +1649,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags) +@@ -1650,6 +1650,7 @@ int update_time(struct inode *inode, struct timespec *time, int flags) return update_time(inode, time, flags); } @@ -765,10 +765,10 @@ index 69cbe9c..764566d 100644 /** * touch_atime - update the access time diff --git a/fs/namespace.c b/fs/namespace.c -index 5a44384..cc6f6fb 100644 +index f8893dc..c55d949 100644 --- a/fs/namespace.c +++ b/fs/namespace.c -@@ -462,6 +462,7 @@ void __mnt_drop_write(struct vfsmount *mnt) +@@ -463,6 +463,7 @@ void __mnt_drop_write(struct vfsmount *mnt) mnt_dec_writers(real_mount(mnt)); preempt_enable(); } @@ -776,7 +776,7 @@ index 5a44384..cc6f6fb 100644 /** * mnt_drop_write - give up write access to a mount -@@ -1881,6 +1882,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, +@@ -1823,6 +1824,7 @@ int iterate_mounts(int (*f)(struct vfsmount *, void *), void *arg, } return 0; } @@ -857,7 +857,7 @@ index 9991f88..117042c 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 cd0c5be..491442a 100644 +index 35bb784..92e08c5 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, @@ -877,10 +877,10 @@ index cd0c5be..491442a 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 05033f7..ce062e8 100644 +index 6e542f0..c6fa090 100644 --- a/fs/read_write.c +++ b/fs/read_write.c -@@ -523,6 +523,7 @@ vfs_readf_t vfs_readf(struct file *file) +@@ -483,6 +483,7 @@ vfs_readf_t vfs_readf(struct file *file) return new_sync_read; return ERR_PTR(-ENOSYS); } @@ -888,7 +888,7 @@ index 05033f7..ce062e8 100644 vfs_writef_t vfs_writef(struct file *file) { -@@ -534,6 +535,7 @@ vfs_writef_t vfs_writef(struct file *file) +@@ -494,6 +495,7 @@ vfs_writef_t vfs_writef(struct file *file) return new_sync_write; return ERR_PTR(-ENOSYS); } @@ -897,7 +897,7 @@ index 05033f7..ce062e8 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 4a0bc62..21d7893 100644 +index 9753304..b38e036 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -866,6 +866,7 @@ long do_splice_from(struct pipe_inode_info *pipe, struct file *out, @@ -917,7 +917,7 @@ index 4a0bc62..21d7893 100644 /** * splice_direct_to_actor - splices data directly between two non-pipes diff --git a/fs/sync.c b/fs/sync.c -index abf6a5d..c86fe9c 100644 +index 7a5fa3f..c9b9d46 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -38,6 +38,7 @@ int __sync_filesystem(struct super_block *sb, int wait) @@ -989,10 +989,10 @@ index 03c1652..f88c84b 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { diff --git a/security/security.c b/security/security.c -index b9fea39..afa97dd 100644 +index 3013237..342ce8b 100644 --- a/security/security.c +++ b/security/security.c -@@ -492,6 +492,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry) +@@ -535,6 +535,7 @@ int security_path_rmdir(const struct path *dir, struct dentry *dentry) return 0; return call_int_hook(path_rmdir, 0, dir, dentry); } @@ -1000,7 +1000,7 @@ index b9fea39..afa97dd 100644 int security_path_unlink(const struct path *dir, struct dentry *dentry) { -@@ -508,6 +509,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry, +@@ -551,6 +552,7 @@ int security_path_symlink(const struct path *dir, struct dentry *dentry, return 0; return call_int_hook(path_symlink, 0, dir, dentry, old_name); } @@ -1008,7 +1008,7 @@ index b9fea39..afa97dd 100644 int security_path_link(struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry) -@@ -516,6 +518,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir, +@@ -559,6 +561,7 @@ int security_path_link(struct dentry *old_dentry, const struct path *new_dir, return 0; return call_int_hook(path_link, 0, old_dentry, new_dir, new_dentry); } @@ -1016,7 +1016,7 @@ index b9fea39..afa97dd 100644 int security_path_rename(const struct path *old_dir, struct dentry *old_dentry, const struct path *new_dir, struct dentry *new_dentry, -@@ -543,6 +546,7 @@ int security_path_truncate(const struct path *path) +@@ -586,6 +589,7 @@ int security_path_truncate(const struct path *path) return 0; return call_int_hook(path_truncate, 0, path); } @@ -1024,7 +1024,7 @@ index b9fea39..afa97dd 100644 int security_path_chmod(const struct path *path, umode_t mode) { -@@ -550,6 +554,7 @@ int security_path_chmod(const struct path *path, umode_t mode) +@@ -593,6 +597,7 @@ int security_path_chmod(const struct path *path, umode_t mode) return 0; return call_int_hook(path_chmod, 0, path, mode); } @@ -1032,7 +1032,7 @@ index b9fea39..afa97dd 100644 int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) { -@@ -557,6 +562,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) +@@ -600,6 +605,7 @@ int security_path_chown(const struct path *path, kuid_t uid, kgid_t gid) return 0; return call_int_hook(path_chown, 0, path, uid, gid); } @@ -1040,7 +1040,7 @@ index b9fea39..afa97dd 100644 int security_path_chroot(const struct path *path) { -@@ -642,6 +648,7 @@ int security_inode_readlink(struct dentry *dentry) +@@ -685,6 +691,7 @@ int security_inode_readlink(struct dentry *dentry) return 0; return call_int_hook(inode_readlink, 0, dentry); } @@ -1048,7 +1048,7 @@ index b9fea39..afa97dd 100644 int security_inode_follow_link(struct dentry *dentry, struct inode *inode, bool rcu) -@@ -657,6 +664,7 @@ int security_inode_permission(struct inode *inode, int mask) +@@ -700,6 +707,7 @@ int security_inode_permission(struct inode *inode, int mask) return 0; return call_int_hook(inode_permission, 0, inode, mask); } @@ -1056,7 +1056,7 @@ index b9fea39..afa97dd 100644 int security_inode_setattr(struct dentry *dentry, struct iattr *attr) { -@@ -828,6 +836,7 @@ int security_file_permission(struct file *file, int mask) +@@ -871,6 +879,7 @@ int security_file_permission(struct file *file, int mask) return fsnotify_perm(file, mask); } @@ -1064,7 +1064,7 @@ index b9fea39..afa97dd 100644 int security_file_alloc(struct file *file) { -@@ -887,6 +896,7 @@ int security_mmap_file(struct file *file, unsigned long prot, +@@ -930,6 +939,7 @@ int security_mmap_file(struct file *file, unsigned long prot, return ret; return ima_file_mmap(file, prot); } @@ -1163,7 +1163,7 @@ diff -urN /usr/share/empty/Documentation/ABI/testing/sysfs-aufs linux/Documentat + will be empty. About XINO files, see the aufs manual. diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt linux/Documentation/filesystems/aufs/design/01intro.txt --- /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt 1970-01-01 01:00:00.000000000 +0100 -+++ linux/Documentation/filesystems/aufs/design/01intro.txt 2017-07-29 12:14:25.893041746 +0200 ++++ linux/Documentation/filesystems/aufs/design/01intro.txt 2017-09-05 10:42:11.038754821 +0200 @@ -0,0 +1,171 @@ + +# Copyright (C) 2005-2017 Junjiro R. Okajima @@ -1184,7 +1184,7 @@ diff -urN /usr/share/empty/Documentation/filesystems/aufs/design/01intro.txt lin +Introduction +---------------------------------------- + -+aufs [ei ju: ef es] | [a u f s] ++aufs [ei ju: ef es] | /ey-yoo-ef-es/ | [a u f s] +1. abbrev. for "advanced multi-layered unification filesystem". +2. abbrev. for "another unionfs". +3. abbrev. for "auf das" in German which means "on the" in English. @@ -4674,7 +4674,7 @@ diff -urN /usr/share/empty/fs/aufs/conf.mk linux/fs/aufs/conf.mk +-include ${srctree}/${src}/conf_priv.mk diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c --- /usr/share/empty/fs/aufs/cpup.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/cpup.c 2017-07-29 12:14:25.899708630 +0200 ++++ linux/fs/aufs/cpup.c 2017-09-05 10:42:11.055421928 +0200 @@ -0,0 +1,1442 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -5056,9 +5056,9 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c + if (!au_test_xfs(h_src_sb)) + err = au_copy_file(dst, src, len); + else { -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + err = au_copy_file(dst, src, len); -+ inode_lock(h_src_inode); ++ vfsub_inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } + + return err; @@ -5079,9 +5079,9 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c + } + + if (!au_test_nfs(h_src_sb)) { -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + err = vfsub_clone_file_range(src, dst, len); -+ inode_lock(h_src_inode); ++ vfsub_inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } else + err = vfsub_clone_file_range(src, dst, len); + /* older XFS has a condition in cloning */ @@ -5186,7 +5186,7 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c + cpg->len = l; + if (cpg->len) { + /* try stopping to update while we are referencing */ -+ inode_lock_nested(h_src_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + au_pin_hdir_unlock(cpg->pin); + + h_path.dentry = au_h_dptr(cpg->dentry, cpg->bsrc); @@ -5195,20 +5195,20 @@ diff -urN /usr/share/empty/fs/aufs/cpup.c linux/fs/aufs/cpup.c + if (!au_test_nfs(h_src_inode->i_sb)) + err = vfsub_getattr(&h_path, &h_src_attr->st); + else { -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + err = vfsub_getattr(&h_path, &h_src_attr->st); -+ inode_lock_nested(h_src_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(h_src_inode, AuLsc_I_CHILD); + } + if (unlikely(err)) { -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + goto out; + } + h_src_attr->valid = 1; + if (!au_test_nfs(h_src_inode->i_sb)) { + err = au_cp_regular(cpg); -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + } else { -+ inode_unlock(h_src_inode); ++ inode_unlock_shared(h_src_inode); + err = au_cp_regular(cpg); + } + rerr = au_pin_hdir_relock(cpg->pin); @@ -7754,7 +7754,7 @@ diff -urN /usr/share/empty/fs/aufs/debug.h linux/fs/aufs/debug.h +#endif /* __AUFS_DEBUG_H__ */ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c --- /usr/share/empty/fs/aufs/dentry.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/dentry.c 2017-07-29 12:14:25.899708630 +0200 ++++ linux/fs/aufs/dentry.c 2017-09-05 10:42:11.055421928 +0200 @@ -0,0 +1,1130 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -7851,9 +7851,9 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c + || (d_really_is_positive(dentry) && !d_is_dir(dentry))) + goto out; /* success */ + -+ inode_lock_nested(h_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(h_inode, AuLsc_I_CHILD); + opq = au_diropq_test(h_dentry); -+ inode_unlock(h_inode); ++ inode_unlock_shared(h_inode); + if (opq > 0) + au_set_dbdiropq(dentry, bindex); + else if (unlikely(opq < 0)) { @@ -7926,10 +7926,10 @@ diff -urN /usr/share/empty/fs/aufs/dentry.c linux/fs/aufs/dentry.c + continue; + + h_dir = d_inode(h_parent); -+ inode_lock_nested(h_dir, AuLsc_I_PARENT); ++ vfsub_inode_lock_shared_nested(h_dir, AuLsc_I_PARENT); + h_dentry = au_do_lookup(h_parent, dentry, bindex, &whname, + &args); -+ inode_unlock(h_dir); ++ inode_unlock_shared(h_dir); + err = PTR_ERR(h_dentry); + if (IS_ERR(h_dentry)) + goto out_parent; @@ -9701,7 +9701,7 @@ diff -urN /usr/share/empty/fs/aufs/dinfo.c linux/fs/aufs/dinfo.c +} diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c --- /usr/share/empty/fs/aufs/dir.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/dir.c 2017-07-29 12:14:25.899708630 +0200 ++++ linux/fs/aufs/dir.c 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,759 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -10342,9 +10342,9 @@ diff -urN /usr/share/empty/fs/aufs/dir.c linux/fs/aufs/dir.c + h_dentry = au_h_dptr(dentry, arg->bindex); + h_inode = d_inode(h_dentry); + /* todo: i_mode changes anytime? */ -+ inode_lock_nested(h_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(h_inode, AuLsc_I_CHILD); + err = au_test_h_perm_sio(h_inode, MAY_EXEC | MAY_READ); -+ inode_unlock(h_inode); ++ inode_unlock_shared(h_inode); + if (!err) + err = do_test_empty(dentry, arg); + else { @@ -13184,8 +13184,8 @@ diff -urN /usr/share/empty/fs/aufs/file.c linux/fs/aufs/file.c +}; diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h --- /usr/share/empty/fs/aufs/file.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/file.h 2017-07-29 12:14:25.903042072 +0200 -@@ -0,0 +1,330 @@ ++++ linux/fs/aufs/file.h 2017-09-05 10:42:11.058755349 +0200 +@@ -0,0 +1,331 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -13214,6 +13214,7 @@ diff -urN /usr/share/empty/fs/aufs/file.h linux/fs/aufs/file.h + +#include <linux/file.h> +#include <linux/fs.h> ++#include <linux/mm_types.h> +#include <linux/poll.h> +#include "rwsem.h" + @@ -15248,7 +15249,7 @@ diff -urN /usr/share/empty/fs/aufs/hfsplus.c linux/fs/aufs/hfsplus.c +} diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c --- /usr/share/empty/fs/aufs/hnotify.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/hnotify.c 2017-07-29 12:14:25.903042072 +0200 ++++ linux/fs/aufs/hnotify.c 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,711 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -15574,11 +15575,11 @@ diff -urN /usr/share/empty/fs/aufs/hnotify.c linux/fs/aufs/hnotify.c + if (au_ftest_hnjob(a->flags, TRYXINO0) + && a->inode + && a->h_inode) { -+ inode_lock_nested(a->h_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(a->h_inode, AuLsc_I_CHILD); + if (!a->h_inode->i_nlink + && !(a->h_inode->i_state & I_LINKABLE)) + hn_xino(a->inode, a->h_inode); /* ignore this error */ -+ inode_unlock(a->h_inode); ++ inode_unlock_shared(a->h_inode); + } + + /* make the generation obsolete */ @@ -16783,8 +16784,8 @@ diff -urN /usr/share/empty/fs/aufs/inode.c linux/fs/aufs/inode.c +} diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h --- /usr/share/empty/fs/aufs/inode.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/inode.h 2017-07-29 12:14:25.903042072 +0200 -@@ -0,0 +1,686 @@ ++++ linux/fs/aufs/inode.h 2017-09-05 10:42:11.058755349 +0200 +@@ -0,0 +1,694 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -16813,6 +16814,7 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h + +#include <linux/fsnotify.h> +#include "rwsem.h" ++#include "vfsub.h" + +struct vfsmount; + @@ -17463,6 +17465,13 @@ diff -urN /usr/share/empty/fs/aufs/inode.h linux/fs/aufs/inode.h + au_hn_suspend(hdir); +} + ++static inline void au_hn_inode_lock_shared_nested(struct au_hinode *hdir, ++ unsigned int sc) ++{ ++ vfsub_inode_lock_shared_nested(hdir->hi_inode, sc); ++ au_hn_suspend(hdir); ++} ++ +static inline void au_hn_inode_unlock(struct au_hinode *hdir) +{ + au_hn_resume(hdir); @@ -18620,7 +18629,7 @@ diff -urN /usr/share/empty/fs/aufs/i_op_add.c linux/fs/aufs/i_op_add.c +} diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c --- /usr/share/empty/fs/aufs/i_op.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/i_op.c 2017-07-29 12:14:25.903042072 +0200 ++++ linux/fs/aufs/i_op.c 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,1452 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -19047,10 +19056,10 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c + if (!err && add_entry && !au_ftest_wrdir(add_entry, TMPFILE)) { + h_parent = au_h_dptr(parent, bcpup); + h_dir = d_inode(h_parent); -+ inode_lock_nested(h_dir, AuLsc_I_PARENT); ++ vfsub_inode_lock_shared_nested(h_dir, AuLsc_I_PARENT); + err = au_lkup_neg(dentry, bcpup, /*wh*/0); + /* todo: no unlock here */ -+ inode_unlock(h_dir); ++ inode_unlock_shared(h_dir); + + AuDbg("bcpup %d\n", bcpup); + if (!err) { @@ -19434,10 +19443,10 @@ diff -urN /usr/share/empty/fs/aufs/i_op.c linux/fs/aufs/i_op.c + a->h_path.dentry = au_h_dptr(dentry, btop); + a->h_inode = d_inode(a->h_path.dentry); + if (ia && (ia->ia_valid & ATTR_SIZE)) { -+ inode_lock_nested(a->h_inode, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(a->h_inode, AuLsc_I_CHILD); + if (ia->ia_size < i_size_read(a->h_inode)) + sz = ia->ia_size; -+ inode_unlock(a->h_inode); ++ inode_unlock_shared(a->h_inode); + } + + hi_wh = NULL; @@ -25171,8 +25180,8 @@ diff -urN /usr/share/empty/fs/aufs/opts.c linux/fs/aufs/opts.c +} diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h --- /usr/share/empty/fs/aufs/opts.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/opts.h 2017-07-29 12:14:25.903042072 +0200 -@@ -0,0 +1,212 @@ ++++ linux/fs/aufs/opts.h 2017-09-05 10:42:11.058755349 +0200 +@@ -0,0 +1,213 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -25375,6 +25384,7 @@ diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h +const char *au_optstr_wbr_create(int wbr_create); + +void au_opts_free(struct au_opts *opts); ++struct super_block; +int au_opts_parse(struct super_block *sb, char *str, struct au_opts *opts); +int au_opts_verify(struct super_block *sb, unsigned long sb_flags, + unsigned int pending); @@ -25387,7 +25397,7 @@ diff -urN /usr/share/empty/fs/aufs/opts.h linux/fs/aufs/opts.h +#endif /* __AUFS_OPTS_H__ */ diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c --- /usr/share/empty/fs/aufs/plink.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/plink.c 2017-07-29 12:14:25.903042072 +0200 ++++ linux/fs/aufs/plink.c 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,514 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -25606,9 +25616,9 @@ diff -urN /usr/share/empty/fs/aufs/plink.c linux/fs/aufs/plink.c + struct inode *h_inode; + + h_inode = d_inode(h_parent); -+ inode_lock_nested(h_inode, AuLsc_I_CHILD2); ++ vfsub_inode_lock_shared_nested(h_inode, AuLsc_I_CHILD2); + h_dentry = vfsub_lkup_one(tgtname, h_parent); -+ inode_unlock(h_inode); ++ inode_unlock_shared(h_inode); + return h_dentry; +} + @@ -31475,8 +31485,8 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.c linux/fs/aufs/vfsub.c +} diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h --- /usr/share/empty/fs/aufs/vfsub.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/vfsub.h 2017-07-29 12:14:25.906375514 +0200 -@@ -0,0 +1,353 @@ ++++ linux/fs/aufs/vfsub.h 2017-09-05 10:42:11.058755349 +0200 +@@ -0,0 +1,360 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -31533,6 +31543,13 @@ diff -urN /usr/share/empty/fs/aufs/vfsub.h linux/fs/aufs/vfsub.h +#define MtxMustLock(mtx) AuDebugOn(!mutex_is_locked(mtx)) +#define IMustLock(i) AuDebugOn(!inode_is_locked(i)) + ++/* why VFS doesn't define it? */ ++static inline ++void vfsub_inode_lock_shared_nested(struct inode *inode, unsigned int sc) ++{ ++ down_read_nested(&inode->i_rwsem, sc); ++} ++ +/* ---------------------------------------------------------------------- */ + +static inline void vfsub_drop_nlink(struct inode *inode) @@ -33731,8 +33748,8 @@ diff -urN /usr/share/empty/fs/aufs/whout.c linux/fs/aufs/whout.c +} diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h --- /usr/share/empty/fs/aufs/whout.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/whout.h 2017-07-29 12:14:25.906375514 +0200 -@@ -0,0 +1,84 @@ ++++ linux/fs/aufs/whout.h 2017-09-05 10:42:11.058755349 +0200 +@@ -0,0 +1,85 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -33765,6 +33782,7 @@ diff -urN /usr/share/empty/fs/aufs/whout.h linux/fs/aufs/whout.h +int au_wh_name_alloc(struct qstr *wh, const struct qstr *name); +int au_wh_test(struct dentry *h_parent, struct qstr *wh_name, int try_sio); +int au_diropq_test(struct dentry *h_dentry); ++struct au_branch; +struct dentry *au_whtmp_lkup(struct dentry *h_parent, struct au_branch *br, + struct qstr *prefix); +int au_whtmp_ren(struct dentry *h_dentry, struct au_branch *br); @@ -34133,7 +34151,7 @@ diff -urN /usr/share/empty/fs/aufs/wkq.h linux/fs/aufs/wkq.h +#endif /* __AUFS_WKQ_H__ */ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c --- /usr/share/empty/fs/aufs/xattr.c 1970-01-01 01:00:00.000000000 +0100 -+++ linux/fs/aufs/xattr.c 2017-07-29 12:14:25.906375514 +0200 ++++ linux/fs/aufs/xattr.c 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,357 @@ +/* + * Copyright (C) 2014-2017 Junjiro R. Okajima @@ -34253,7 +34271,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c + h_isrc = d_inode(h_src); + h_idst = d_inode(h_dst); + inode_unlock(h_idst); -+ inode_lock_nested(h_isrc, AuLsc_I_CHILD); ++ vfsub_inode_lock_shared_nested(h_isrc, AuLsc_I_CHILD); + inode_lock_nested(h_idst, AuLsc_I_CHILD2); + unlocked = 0; + @@ -34279,7 +34297,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c + goto out; + err = vfs_listxattr(h_src, p, ssz); + } -+ inode_unlock(h_isrc); ++ inode_unlock_shared(h_isrc); + unlocked = 1; + AuDbg("err %d, ssz %zd\n", err, ssz); + if (unlikely(err < 0)) @@ -34323,7 +34341,7 @@ diff -urN /usr/share/empty/fs/aufs/xattr.c linux/fs/aufs/xattr.c + kfree(o); +out: + if (!unlocked) -+ inode_unlock(h_isrc); ++ inode_unlock_shared(h_isrc); + AuTraceErr(err); + return err; +} @@ -35913,7 +35931,7 @@ diff -urN /usr/share/empty/fs/aufs/xino.c linux/fs/aufs/xino.c +} diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/linux/aufs_type.h --- /usr/share/empty/include/uapi/linux/aufs_type.h 1970-01-01 01:00:00.000000000 +0100 -+++ linux/include/uapi/linux/aufs_type.h 2017-07-31 10:27:18.853311720 +0200 ++++ linux/include/uapi/linux/aufs_type.h 2017-09-05 10:42:11.058755349 +0200 @@ -0,0 +1,419 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima @@ -35956,7 +35974,7 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin + +#include <linux/limits.h> + -+#define AUFS_VERSION "4.x-rcN-20170703" ++#define AUFS_VERSION "4.x-rcN-20170904" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') @@ -36337,7 +36355,7 @@ diff -urN /usr/share/empty/include/uapi/linux/aufs_type.h linux/include/uapi/lin aufs4.x-rcN loopback patch diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index 6b8a6a4c..a80416e 100644 +index 10707c3..af32e47 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -547,7 +547,7 @@ static int do_req_filebacked(struct loop_device *lo, struct request *rq) @@ -36372,10 +36390,14 @@ index 6b8a6a4c..a80416e 100644 /* freeze queue and wait for completion of scheduled requests */ blk_mq_freeze_queue(lo->lo_queue); -@@ -614,6 +617,15 @@ static int loop_flush(struct loop_device *lo) - return loop_switch(lo, NULL); - } - +@@ -611,7 +614,16 @@ static int loop_flush(struct loop_device *lo) + /* loop not yet configured, no running thread, nothing to flush */ + if (lo->lo_state != Lo_bound) + return 0; +- return loop_switch(lo, NULL); ++ return loop_switch(lo, NULL, NULL); ++} ++ +static struct file *loop_real_file(struct file *file) +{ + struct file *f = NULL; @@ -36383,11 +36405,9 @@ index 6b8a6a4c..a80416e 100644 + if (file->f_path.dentry->d_sb->s_op->real_loop) + f = file->f_path.dentry->d_sb->s_op->real_loop(file); + return f; -+} -+ + } + static void loop_reread_partitions(struct loop_device *lo, - struct block_device *bdev) - { @@ -648,6 +660,7 @@ static int loop_change_fd(struct loop_device *lo, struct block_device *bdev, unsigned int arg) { @@ -36436,7 +36456,7 @@ index 6b8a6a4c..a80416e 100644 out: return error; } -@@ -875,7 +899,7 @@ static int loop_prepare_queue(struct loop_device *lo) +@@ -882,7 +906,7 @@ static int loop_prepare_queue(struct loop_device *lo) static int loop_set_fd(struct loop_device *lo, fmode_t mode, struct block_device *bdev, unsigned int arg) { @@ -36445,7 +36465,7 @@ index 6b8a6a4c..a80416e 100644 struct inode *inode; struct address_space *mapping; unsigned lo_blocksize; -@@ -890,6 +914,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, +@@ -897,6 +921,12 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, file = fget(arg); if (!file) goto out; @@ -36458,7 +36478,7 @@ index 6b8a6a4c..a80416e 100644 error = -EBUSY; if (lo->lo_state != Lo_unbound) -@@ -942,6 +972,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, +@@ -949,6 +979,7 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, lo->lo_device = bdev; lo->lo_flags = lo_flags; lo->lo_backing_file = file; @@ -36466,7 +36486,7 @@ index 6b8a6a4c..a80416e 100644 lo->transfer = NULL; lo->ioctl = NULL; lo->lo_sizelimit = 0; -@@ -974,6 +1005,8 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, +@@ -981,6 +1012,8 @@ static int loop_set_fd(struct loop_device *lo, fmode_t mode, out_putf: fput(file); @@ -36475,7 +36495,7 @@ index 6b8a6a4c..a80416e 100644 out: /* This is safe: open() is still holding a reference. */ module_put(THIS_MODULE); -@@ -1020,6 +1053,7 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer, +@@ -1027,6 +1060,7 @@ loop_init_xfer(struct loop_device *lo, struct loop_func_table *xfer, static int loop_clr_fd(struct loop_device *lo) { struct file *filp = lo->lo_backing_file; @@ -36483,7 +36503,7 @@ index 6b8a6a4c..a80416e 100644 gfp_t gfp = lo->old_gfp_mask; struct block_device *bdev = lo->lo_device; -@@ -1051,6 +1085,7 @@ static int loop_clr_fd(struct loop_device *lo) +@@ -1058,6 +1092,7 @@ static int loop_clr_fd(struct loop_device *lo) spin_lock_irq(&lo->lo_lock); lo->lo_state = Lo_rundown; lo->lo_backing_file = NULL; @@ -36491,7 +36511,7 @@ index 6b8a6a4c..a80416e 100644 spin_unlock_irq(&lo->lo_lock); loop_release_xfer(lo); -@@ -1095,6 +1130,8 @@ static int loop_clr_fd(struct loop_device *lo) +@@ -1102,6 +1137,8 @@ static int loop_clr_fd(struct loop_device *lo) * bd_mutex which is usually taken before lo_ctl_mutex. */ fput(filp); @@ -36592,10 +36612,10 @@ index 5455fb1..8b9df60 100644 /* ---------------------------------------------------------------------- */ diff --git a/include/linux/fs.h b/include/linux/fs.h -index 22d2910..d8db3fb 100644 +index 9b21bb5..f7124fa 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h -@@ -1811,6 +1811,10 @@ struct super_operations { +@@ -1814,6 +1814,10 @@ struct super_operations { struct shrink_control *); long (*free_cached_objects)(struct super_block *, struct shrink_control *); @@ -36606,14 +36626,3 @@ index 22d2910..d8db3fb 100644 }; /* ---- linux-4.12/drivers/block/loop.c~ 2017-07-31 10:28:05.000000000 +0200 -+++ linux-4.12/drivers/block/loop.c 2017-07-31 10:30:00.818087749 +0200 -@@ -614,7 +614,7 @@ static int loop_flush(struct loop_device - /* loop not yet configured, no running thread, nothing to flush */ - if (lo->lo_state != Lo_bound) - return 0; -- return loop_switch(lo, NULL); -+ return loop_switch(lo, NULL, NULL); - } - - static struct file *loop_real_file(struct file *file) diff --git a/kernel-multiarch.config b/kernel-multiarch.config index 3b5c3157..d2c5485c 100644 --- a/kernel-multiarch.config +++ b/kernel-multiarch.config @@ -17,6 +17,8 @@ EFI_PGT_DUMP all=n GCC_PLUGINS all=y GCC_PLUGIN_CYC_COMPLEXITY all=n GCC_PLUGIN_LATENT_ENTROPY all=n +GCC_PLUGIN_RANDSTRUCT all=y +GCC_PLUGIN_RANDSTRUCT_PERFORMANCE all=n GCC_PLUGIN_STRUCTLEAK all=y GCC_PLUGIN_STRUCTLEAK_VERBOSE all=n GEN_RTC all=n @@ -27,7 +29,6 @@ IOSF_MBI_DEBUG all=y KEXEC_FILE all=y KEXEC_VERIFY_SIG all=n KVM_DEBUG_FS all=n -MCE_AMD_INJ all=m PERF_EVENTS_AMD_POWER all=m PERF_EVENTS_INTEL_CSTATE all=m PERF_EVENTS_INTEL_RAPL all=m @@ -35,6 +36,7 @@ PERF_EVENTS_INTEL_UNCORE all=m PUNIT_ATOM_DEBUG all=m RANDOMIZE_MEMORY all=y RAS_CEC all=y +REFCOUNT_FULL all=n SCHED_MC_PRIO all=y STATIC_KEYS_SELFTEST all=y VMAP_STACK all=y @@ -703,7 +705,6 @@ HPET all=y HPET_MMAP all=y HPET_MMAP_DEFAULT all=y HANGCHECK_TIMER all=m ppc64=n -MMTIMER ia64=m #- file drivers/char/tpm/Kconfig goes here TELCLOCK i386=m x86_64=m DEVPORT all=y @@ -810,6 +811,8 @@ COMMON_CLK_PWM all=m COMMON_CLK_OXNAS all=n #- file drivers/clk/bcm/Kconfig goes here #- file drivers/clk/hisilicon/Kconfig goes here +#- file drivers/clk/imgtec/Kconfig goes here +#- file drivers/clk/keystone/Kconfig goes here #- file drivers/clk/mediatek/Kconfig goes here #- file drivers/clk/meson/Kconfig goes here #- file drivers/clk/mvebu/Kconfig goes here @@ -900,11 +903,17 @@ CRYPTO_DEV_CCP all=y #- file drivers/crypto/ccp/Kconfig goes here #- file drivers/crypto/qat/Kconfig goes here #- file drivers/crypto/cavium/cpt/Kconfig goes here +#- file drivers/crypto/cavium/nitrox/Kconfig goes here #- file drivers/crypto/vmx/Kconfig goes here #- file drivers/crypto/chelsio/Kconfig goes here #- file drivers/crypto/virtio/Kconfig goes here #- file drivers/crypto/stm32/Kconfig goes here +#- +#- *** FILE: drivers/crypto/cavium/nitrox/Kconfig *** +#- +CRYPTO_DEV_NITROX_CNN55XX all=m + #- #- *** FILE: drivers/crypto/ccp/Kconfig *** #- @@ -987,7 +996,6 @@ DMATEST all=n #- *** FILE: drivers/dma/dw/Kconfig *** #- DW_DMAC_CORE all=m -DW_DMAC_BIG_ENDIAN_IO all=n DW_DMAC all=m DW_DMAC_PCI all=m @@ -1137,6 +1145,9 @@ ALTERA_PR_IP_CORE all=m #- *** FILE: drivers/fsi/Kconfig *** #- FSI all=m +FSI_MASTER_GPIO all=m +FSI_MASTER_HUB all=m +FSI_SCOM all=m #- #- *** FILE: drivers/gpio/Kconfig *** @@ -1203,7 +1214,7 @@ GPIO_74X164 all=m GPIO_MAX7301 all=m GPIO_MC33880 all=m GPIO_PISOSR all=m -GPIO_MCP23S08 all=m +GPIO_XRA1403 all=m GPIO_VIPERBOARD all=m #- @@ -1245,6 +1256,7 @@ DRM_VGEM all=m #- file drivers/gpu/drm/msm/Kconfig goes here #- file drivers/gpu/drm/fsl-dcu/Kconfig goes here #- file drivers/gpu/drm/tegra/Kconfig goes here +#- file drivers/gpu/drm/stm/Kconfig goes here #- file drivers/gpu/drm/panel/Kconfig goes here #- file drivers/gpu/drm/bridge/Kconfig goes here #- file drivers/gpu/drm/sti/Kconfig goes here @@ -1259,6 +1271,7 @@ DRM_VGEM all=m #- file drivers/gpu/drm/mxsfb/Kconfig goes here #- file drivers/gpu/drm/meson/Kconfig goes here #- file drivers/gpu/drm/tinydrm/Kconfig goes here +#- file drivers/gpu/drm/pl111/Kconfig goes here DRM_LEGACY all=n DRM_TDFX all=m DRM_R128 all=m @@ -1440,6 +1453,7 @@ HID_UCLOGIC all=m HID_WALTOP all=m HID_GYRATION all=m HID_ICADE all=m +HID_ITE all=m HID_TWINHAN all=m HID_KENSINGTON all=m HID_LCPOWER all=m @@ -1470,6 +1484,7 @@ HID_PICOLCD_LCD all=y HID_PICOLCD_LEDS all=y HID_PLANTRONICS all=m HID_PRIMAX all=m +HID_RETRODE all=m HID_ROCCAT all=m HID_SAITEK all=m HID_SAMSUNG all=m @@ -1708,6 +1723,7 @@ SENSORS_ATK0110 all=m PMBUS all=m SENSORS_PMBUS all=m SENSORS_ADM1275 all=m +SENSORS_IR35221 all=m SENSORS_LM25066 all=m SENSORS_LTC2978 all=m SENSORS_LTC2978_REGULATOR all=y @@ -1721,6 +1737,11 @@ SENSORS_UCD9000 all=m SENSORS_UCD9200 all=m SENSORS_ZL6100 all=m +#- +#- *** FILE: drivers/hwspinlock/Kconfig *** +#- +HWSPINLOCK all=m + #- #- *** FILE: drivers/hwtracing/intel_th/Kconfig *** #- @@ -1797,6 +1818,7 @@ I2C_POWERMAC ppc=m ppc64=m #- I2C system bus drivers (mostly embedded / system-on-chip) I2C_CBUS_GPIO all=m I2C_DESIGNWARE_PLATFORM all=m +I2C_DESIGNWARE_SLAVE all=y I2C_DESIGNWARE_PCI all=m I2C_DESIGNWARE_BAYTRAIL all=y I2C_EG20T all=m @@ -1940,6 +1962,7 @@ IIO_SW_TRIGGER all=m #- file drivers/iio/imu/Kconfig goes here #- file drivers/iio/light/Kconfig goes here #- file drivers/iio/magnetometer/Kconfig goes here +#- file drivers/iio/multiplexer/Kconfig goes here #- file drivers/iio/orientation/Kconfig goes here #- file drivers/iio/trigger/Kconfig goes here #- file drivers/iio/potentiometer/Kconfig goes here @@ -2013,7 +2036,9 @@ QCOM_SPMI_VADC all=m STX104 all=m TI_ADC081C all=m TI_ADC0832 all=m +TI_ADC084S021 all=m TI_ADC12138 all=m +TI_ADC108S102 all=m TI_ADC128S052 all=m TI_ADC161S626 all=m TI_ADS1015 all=m @@ -2178,6 +2203,7 @@ CM36651 all=m IIO_CROS_EC_LIGHT_PROX all=m GP2AP020A00F all=m SENSORS_ISL29018 all=m +SENSORS_ISL29028 all=m ISL29125 all=m HID_SENSOR_ALS all=m HID_SENSOR_PROX all=m @@ -2527,6 +2553,7 @@ KEYBOARD_ADP5589 all=m KEYBOARD_ATKBD all=y sparc=m sparc64=m KEYBOARD_QT1070 all=m KEYBOARD_QT2160 all=m +KEYBOARD_DLINK_DIR685 all=m KEYBOARD_LKKBD all=m KEYBOARD_GPIO all=m KEYBOARD_GPIO_POLLED all=m @@ -2772,6 +2799,7 @@ TOUCHSCREEN_RM_TS all=m TOUCHSCREEN_SILEAD all=m TOUCHSCREEN_SIS_I2C all=m TOUCHSCREEN_ST1232 all=m +TOUCHSCREEN_STMFTS all=m TOUCHSCREEN_STMPE all=m TOUCHSCREEN_SUR40 all=m TOUCHSCREEN_SURFACE3_SPI all=m @@ -3085,6 +3113,7 @@ DM_VERITY_FEC all=y DM_SWITCH all=m DM_LOG_WRITES all=m DM_INTEGRITY all=m +DM_ZONED all=m #- #- *** FILE: drivers/md/bcache/Kconfig *** @@ -3288,6 +3317,7 @@ VIDEO_NOON010PC30 all=m VIDEO_UPD64031A all=m VIDEO_UPD64083 all=m #- Audio/Video compression chips +#- SDR tuner chips #- Miscellaneous helper chips #- file drivers/media/i2c/soc_camera/Kconfig goes here @@ -3561,6 +3591,7 @@ V4L_TEST_DRIVERS all=n DVB_PLATFORM_DRIVERS all=y #- file drivers/media/platform/sti/c8sectpfe/Kconfig goes here CEC_PLATFORM_DRIVERS all=y +SDR_PLATFORM_DRIVERS all=y #- #- *** FILE: drivers/media/platform/marvell-ccic/Kconfig *** @@ -4303,7 +4334,6 @@ MMC_DEBUG all=n #- MMC_BLOCK all=m MMC_BLOCK_MINORS all=8 -MMC_BLOCK_BOUNCE all=y SDIO_UART all=m MMC_TEST all=n @@ -4346,6 +4376,7 @@ MTD_REDBOOT_PARTS_READONLY all=y MTD_CMDLINE_PARTS all=m MTD_OF_PARTS ppc=m ppc64=m MTD_AR7_PARTS all=m +#- file drivers/mtd/parsers/Kconfig goes here #- User Modules And Translation Layers MTD_BLKDEVS all=m MTD_BLOCK all=m @@ -4409,6 +4440,7 @@ MTD_DATAFLASH all=m ppc=n ppc64=n sparc=n MTD_DATAFLASH_WRITE_VERIFY all=y MTD_DATAFLASH_OTP all=y MTD_M25P80 all=m ppc=n ppc64=n sparc=n +MTD_MCHP23K256 all=m MTD_SST25L all=m MTD_SLRAM all=m MTD_PHRAM all=m @@ -4698,13 +4730,14 @@ CAN_MCBA_USB all=m #- #- *** FILE: drivers/net/dsa/Kconfig *** #- -NET_DSA_MV88E6060 all=y -NET_DSA_BCM_SF2 all=m #- file drivers/net/dsa/b53/Kconfig goes here -#- file drivers/net/dsa/mv88e6xxx/Kconfig goes here -NET_DSA_QCA8K all=m +NET_DSA_BCM_SF2 all=m NET_DSA_LOOP all=m NET_DSA_MT7530 all=m +NET_DSA_MV88E6060 all=y +#- file drivers/net/dsa/microchip/Kconfig goes here +#- file drivers/net/dsa/mv88e6xxx/Kconfig goes here +NET_DSA_QCA8K all=m NET_DSA_SMSC_LAN9303_I2C all=m NET_DSA_SMSC_LAN9303_MDIO all=m @@ -4717,6 +4750,12 @@ B53_MDIO_DRIVER all=m B53_MMAP_DRIVER all=m B53_SRAB_DRIVER all=m +#- +#- *** FILE: drivers/net/dsa/microchip/Kconfig *** +#- +MICROCHIP_KSZ all=m +MICROCHIP_KSZ_SPI_DRIVER all=m + #- #- *** FILE: drivers/net/dsa/mv88e6xxx/Kconfig *** #- @@ -4954,6 +4993,7 @@ BNA all=m #- NET_CADENCE all=y MACB all=m +MACB_USE_HWSTAMP all=y MACB_PCI all=m #- @@ -5127,9 +5167,16 @@ MLX4_CORE all=m #- *** FILE: drivers/net/ethernet/mellanox/mlx5/core/Kconfig *** #- MLX5_CORE all=m +MLX5_FPGA all=y MLX5_CORE_EN all=y MLX5_CORE_EN_DCB all=y MLX5_CORE_IPOIB all=y +MLX5_EN_IPSEC all=y + +#- +#- *** FILE: drivers/net/ethernet/mellanox/mlxfw/Kconfig *** +#- +MLXFW all=m #- #- *** FILE: drivers/net/ethernet/mellanox/mlxsw/Kconfig *** @@ -5189,6 +5236,7 @@ VXGE_DEBUG_TRACE_ALL all=n #- NET_VENDOR_NETRONOME all=y NFP all=m +NFP_APP_FLOWER all=y NFP_DEBUG all=n #- @@ -5507,6 +5555,7 @@ BCM7XXX_PHY all=m BCM87XX_PHY all=m BROADCOM_PHY all=m CICADA_PHY all=m +CORTINA_PHY all=m DAVICOM_PHY all=m DP83848_PHY all=m DP83867_PHY all=m @@ -5516,6 +5565,7 @@ INTEL_XWAY_PHY all=m LSI_ET1011C_PHY all=m LXT_PHY all=m MARVELL_PHY all=m +MARVELL_10G_PHY all=m MICREL_PHY all=m MICROCHIP_PHY all=m MICROSEMI_PHY all=m @@ -5675,6 +5725,7 @@ WLAN all=y #- file drivers/net/wireless/st/Kconfig goes here #- file drivers/net/wireless/ti/Kconfig goes here #- file drivers/net/wireless/zydas/Kconfig goes here +#- file drivers/net/wireless/quantenna/Kconfig goes here PCMCIA_RAYCS all=m PCMCIA_WL3501 all=m MAC80211_HWSIM all=m @@ -5711,6 +5762,7 @@ AR5523 all=m #- ATH10K all=m ATH10K_PCI all=m +ATH10K_SDIO all=m ATH10K_DEBUG all=n ATH10K_DEBUGFS all=n ATH10K_TRACING all=n @@ -5957,6 +6009,17 @@ WLAN_VENDOR_MEDIATEK all=y #- MT7601U all=m +#- +#- *** FILE: drivers/net/wireless/quantenna/Kconfig *** +#- +WLAN_VENDOR_QUANTENNA all=y +#- file drivers/net/wireless/quantenna/qtnfmac/Kconfig goes here + +#- +#- *** FILE: drivers/net/wireless/quantenna/qtnfmac/Kconfig *** +#- +QTNFMAC_PEARL_PCIE all=m + #- #- *** FILE: drivers/net/wireless/ralink/Kconfig *** #- @@ -6187,6 +6250,11 @@ NTB_TRANSPORT all=m #- NTB_AMD all=m +#- +#- *** FILE: drivers/ntb/hw/idt/Kconfig *** +#- +NTB_IDT all=m + #- #- *** FILE: drivers/ntb/hw/intel/Kconfig *** #- @@ -6213,7 +6281,6 @@ NVDIMM_DAX all=y #- NVME_CORE all=m BLK_DEV_NVME all=m -BLK_DEV_NVME_SCSI all=y NVME_RDMA all=m NVME_FC all=m @@ -6373,17 +6440,54 @@ PCCARD_NONSTATIC all=y #- *** FILE: drivers/phy/Kconfig *** #- GENERIC_PHY all=y -PHY_EXYNOS_MIPI_VIDEO all=m +#- file drivers/phy/allwinner/Kconfig goes here +#- file drivers/phy/amlogic/Kconfig goes here +#- file drivers/phy/broadcom/Kconfig goes here +#- file drivers/phy/hisilicon/Kconfig goes here +#- file drivers/phy/marvell/Kconfig goes here +#- file drivers/phy/motorola/Kconfig goes here +#- file drivers/phy/qualcomm/Kconfig goes here +#- file drivers/phy/renesas/Kconfig goes here +#- file drivers/phy/rockchip/Kconfig goes here +#- file drivers/phy/samsung/Kconfig goes here +#- file drivers/phy/st/Kconfig goes here +#- file drivers/phy/tegra/Kconfig goes here +#- file drivers/phy/ti/Kconfig goes here + +#- +#- *** FILE: drivers/phy/broadcom/Kconfig *** +#- +BCM_KONA_USB2_PHY all=m + +#- +#- *** FILE: drivers/phy/marvell/Kconfig *** +#- PHY_PXA_28NM_HSIC all=m PHY_PXA_28NM_USB2 all=m -OMAP_USB2 all=m -TWL4030_USB all=m -BCM_KONA_USB2_PHY all=m -PHY_SAMSUNG_USB2 all=m + +#- +#- *** FILE: drivers/phy/motorola/Kconfig *** +#- +PHY_CPCAP_USB all=m + +#- +#- *** FILE: drivers/phy/qualcomm/Kconfig *** +#- PHY_QCOM_USB_HS all=m PHY_QCOM_USB_HSIC all=m + +#- +#- *** FILE: drivers/phy/samsung/Kconfig *** +#- +PHY_EXYNOS_MIPI_VIDEO all=m +PHY_SAMSUNG_USB2 all=m + +#- +#- *** FILE: drivers/phy/ti/Kconfig *** +#- +OMAP_USB2 all=m PHY_TUSB1210 all=m -#- file drivers/phy/tegra/Kconfig goes here +TWL4030_USB all=m #- #- *** FILE: drivers/pinctrl/Kconfig *** @@ -6393,6 +6497,7 @@ PINCONF all=y GENERIC_PINCONF all=y DEBUG_PINCTRL all=n PINCTRL_AMD all=y +PINCTRL_MCP23S08 all=m #- file drivers/pinctrl/aspeed/Kconfig goes here #- file drivers/pinctrl/bcm/Kconfig goes here #- file drivers/pinctrl/berlin/Kconfig goes here @@ -6412,6 +6517,7 @@ PINCTRL_AMD all=y #- file drivers/pinctrl/uniphier/Kconfig goes here #- file drivers/pinctrl/vt8500/Kconfig goes here #- file drivers/pinctrl/mediatek/Kconfig goes here +#- file drivers/pinctrl/zte/Kconfig goes here #- #- *** FILE: drivers/pinctrl/intel/Kconfig *** @@ -6419,6 +6525,7 @@ PINCTRL_AMD all=y PINCTRL_BAYTRAIL all=y PINCTRL_CHERRYVIEW all=m PINCTRL_BROXTON all=m +PINCTRL_CANNONLAKE all=m PINCTRL_GEMINILAKE all=m PINCTRL_SUNRISEPOINT all=m @@ -6430,6 +6537,7 @@ CHROMEOS_LAPTOP all=m CHROMEOS_PSTORE all=m CROS_EC_CHARDEV all=m CROS_EC_LPC all=m +CROS_EC_LPC_MEC all=y CROS_KBD_LED_BACKLIGHT all=m #- @@ -6455,7 +6563,6 @@ DELL_WMI_LED all=m DELL_SMO8800 all=m DELL_RBTN all=m FUJITSU_LAPTOP all=m -FUJITSU_LAPTOP_DEBUG all=n FUJITSU_TABLET all=m AMILO_RFKILL all=m TC1100_WMI all=m @@ -6484,7 +6591,9 @@ ASUS_NB_WMI all=m EEEPC_WMI all=m ASUS_WIRELESS all=m ACPI_WMI all=m +WMI_BMOF all=m MSI_WMI all=m +PEAQ_WMI all=m TOPSTAR_LAPTOP all=m ACPI_TOSHIBA i386=m x86_64=m TOSHIBA_BT_RFKILL all=m @@ -6492,6 +6601,7 @@ TOSHIBA_HAPS all=m TOSHIBA_WMI all=m ACPI_CMPC all=m INTEL_CHT_INT33FE all=m +INTEL_INT0002_VGPIO all=m INTEL_HID_EVENT all=m INTEL_VBTN all=m INTEL_SCU_IPC i386=y @@ -6576,6 +6686,7 @@ BATTERY_SBS all=m CHARGER_SBS all=m BATTERY_BQ27XXX all=m BATTERY_BQ27XXX_I2C all=y +BATTERY_BQ27XXX_DT_UPDATES_NVM all=y BATTERY_DA9030 all=m BATTERY_DA9052 all=m CHARGER_DA9150 all=m @@ -6593,6 +6704,7 @@ CHARGER_MAX8903 all=m CHARGER_LP8727 all=m CHARGER_GPIO all=m CHARGER_MANAGER all=y +CHARGER_LTC3651 all=m CHARGER_MAX14577 all=m CHARGER_MAX77693 all=m CHARGER_BQ2415X all=m @@ -6762,11 +6874,17 @@ REMOTEPROC all=m #- *** FILE: drivers/reset/Kconfig *** #- RESET_CONTROLLER all=y -TI_SYSCON_RESET all=m +RESET_TI_SYSCON all=m #- file drivers/reset/sti/Kconfig goes here #- file drivers/reset/hisilicon/Kconfig goes here #- file drivers/reset/tegra/Kconfig goes here +#- +#- *** FILE: drivers/rpmsg/Kconfig *** +#- +RPMSG_CHAR all=m +RPMSG_QCOM_GLINK_RPM all=m + #- #- *** FILE: drivers/rtc/Kconfig *** #- @@ -6777,6 +6895,7 @@ RTC_HCTOSYS_DEVICE all="rtc0" RTC_SYSTOHC all=y RTC_SYSTOHC_DEVICE all="rtc0" RTC_DEBUG all=n +RTC_NVMEM all=y #- RTC interfaces RTC_INTF_SYSFS all=y RTC_INTF_PROC all=y @@ -6833,6 +6952,7 @@ RTC_DRV_MCP795 all=m RTC_I2C_AND_SPI all=m #- SPI and I2C RTC drivers RTC_DRV_DS3232 all=m +RTC_DRV_DS3232_HWMON all=y RTC_DRV_PCF2127 all=m RTC_DRV_RV3029C2 all=m RTC_DRV_RV3029_HWMON all=y @@ -6869,6 +6989,7 @@ RTC_DRV_AB3100 all=m RTC_DRV_AB8500 all=m #- on-CPU RTC drivers RTC_DRV_GENERIC powerpc=y +RTC_DRV_FTRTC010 all=m RTC_DRV_PS3 ppc64=m RTC_DRV_PCAP all=m RTC_DRV_MC13XXX all=m @@ -7232,6 +7353,9 @@ SPI_ZYNQMP_GQSPI all=m SPI_SPIDEV all=m sparc=n SPI_LOOPBACK_TEST all=m SPI_TLE62X0 all=m +SPI_SLAVE all=y +SPI_SLAVE_TIME all=m +SPI_SLAVE_SYSTEM_CONTROL all=m #- #- *** FILE: drivers/spmi/Kconfig *** @@ -7296,6 +7420,7 @@ STAGING all=y #- file drivers/staging/vc04_services/Kconfig goes here #- file drivers/staging/ccree/Kconfig goes here #- file drivers/staging/typec/Kconfig goes here +#- file drivers/staging/vboxvideo/Kconfig goes here #- #- *** FILE: drivers/staging/comedi/Kconfig *** @@ -7571,7 +7696,6 @@ AD5933 all=m #- #- *** FILE: drivers/staging/iio/light/Kconfig *** #- -SENSORS_ISL29028 all=m TSL2x7x all=m #- @@ -7620,6 +7744,7 @@ STAGING_MEDIA all=y #- file drivers/staging/media/bcm2048/Kconfig goes here #- file drivers/staging/media/cxd2099/Kconfig goes here #- file drivers/staging/media/davinci_vpfe/Kconfig goes here +#- file drivers/staging/media/imx/Kconfig goes here #- file drivers/staging/media/omap4iss/Kconfig goes here #- file drivers/staging/media/lirc/Kconfig goes here @@ -7841,6 +7966,11 @@ UNISYS_VISORINPUT all=m #- UNISYS_VISORNIC all=m +#- +#- *** FILE: drivers/staging/vboxvideo/Kconfig *** +#- +DRM_VBOXVIDEO all=m + #- #- *** FILE: drivers/staging/vme/devices/Kconfig *** #- @@ -8225,6 +8355,7 @@ USB_CONFIGFS_MASS_STORAGE all=y USB_CONFIGFS_F_LB_SS all=y USB_CONFIGFS_F_FS all=y USB_CONFIGFS_F_UAC1 all=y +USB_CONFIGFS_F_UAC1_LEGACY all=y USB_CONFIGFS_F_UAC2 all=y USB_CONFIGFS_F_MIDI all=y USB_CONFIGFS_F_HID all=y @@ -8240,6 +8371,7 @@ USB_ZERO all=m USB_ZERO_HNPTEST all=n USB_AUDIO all=m GADGET_UAC1 all=y +GADGET_UAC1_LEGACY all=y USB_ETH all=m USB_ETH_RNDIS all=y USB_ETH_EEM all=y @@ -8375,7 +8507,6 @@ USB_HSIC_USB3503 all=m USB_HSIC_USB4604 all=m USB_LINK_LAYER_TEST all=m USB_CHAOSKEY all=m -UCSI all=m #- #- *** FILE: drivers/usb/misc/sisusbvga/Kconfig *** @@ -8507,6 +8638,12 @@ USB_STORAGE_CYPRESS_ATACB all=m USB_STORAGE_ENE_UB6250 all=m USB_UAS all=m +#- +#- *** FILE: drivers/usb/typec/ucsi/Kconfig *** +#- +TYPEC_UCSI all=m +UCSI_ACPI all=m + #- #- *** FILE: drivers/usb/usbip/Kconfig *** #- @@ -8871,6 +9008,7 @@ W1_SLAVE_BQ27000 all=m WATCHDOG all=y WATCHDOG_CORE all=y WATCHDOG_NOWAYOUT all=n +WATCHDOG_HANDLE_BOOT_ENABLED all=y WATCHDOG_SYSFS all=y #- Watchdog Device Drivers SOFT_WATCHDOG all=m @@ -9153,8 +9291,8 @@ CIFS_POSIX all=y CIFS_ACL all=y CIFS_DEBUG all=y CIFS_DEBUG2 all=n +CIFS_DEBUG_DUMP_KEYS all=n CIFS_DFS_UPCALL all=n -CIFS_SMB2 all=y CIFS_SMB311 all=y CIFS_FSCACHE all=y @@ -9489,6 +9627,7 @@ ORANGEFS_FS all=m #- OVERLAY_FS all=m OVERLAY_FS_REDIRECT_DIR all=y +OVERLAY_FS_INDEX all=y #- #- *** FILE: fs/proc/Kconfig *** @@ -9647,17 +9786,7 @@ TASKSTATS all=y TASK_DELAY_ACCT all=y TASK_XACCT all=y TASK_IO_ACCOUNTING all=y -TREE_RCU all=y -RCU_EXPERT all=n -TASKS_RCU all=n -RCU_FANOUT all=32 alpha=64 ia64=64 ppc64=64 sparc64=64 x86_64=64 -RCU_FANOUT_LEAF all=16 -RCU_FAST_NO_HZ all=y -RCU_KTHREAD_PRIO all=0 -RCU_NOCB_CPU all=n -RCU_NOCB_CPU_NONE all=y -RCU_NOCB_CPU_ZERO all=n -RCU_NOCB_CPU_ALL all=n +#- file kernel/rcu/Kconfig goes here IKCONFIG all=m IKCONFIG_PROC all=y LOG_BUF_SHIFT all=18 @@ -9733,6 +9862,7 @@ COMPAT_BRK all=n SLAB all=n SLUB all=y SLOB all=n +SLAB_MERGE_DEFAULT all=y SLAB_FREELIST_RANDOM all=y SLUB_CPU_PARTIAL all=y PROFILING all=y @@ -9782,6 +9912,7 @@ GENERIC_IRQ_SHOW all=y GENERIC_MSI_IRQ all=y IRQ_DOMAIN_DEBUG all=n IRQ_FORCED_THREADING all=y +GENERIC_IRQ_DEBUGFS all=n #- #- *** FILE: kernel/livepatch/Kconfig *** @@ -9809,6 +9940,26 @@ PM_GENERIC_DOMAINS all=y WQ_POWER_EFFICIENT_DEFAULT all=n PM_GENERIC_DOMAINS_SLEEP all=y +#- +#- *** FILE: kernel/rcu/Kconfig *** +#- +TREE_RCU all=y +RCU_EXPERT all=n +TASKS_RCU all=n +RCU_FANOUT all=32 alpha=64 ia64=64 ppc64=64 sparc64=64 x86_64=64 +RCU_FANOUT_LEAF all=16 +RCU_FAST_NO_HZ all=y +RCU_NOCB_CPU all=n + +#- +#- *** FILE: kernel/rcu/Kconfig.debug *** +#- +RCU_PERF_TEST all=m +RCU_TORTURE_TEST all=m +RCU_CPU_STALL_TIMEOUT all=60 +RCU_TRACE all=n +RCU_EQS_DEBUG all=n + #- #- *** FILE: kernel/time/Kconfig *** #- @@ -9850,7 +10001,7 @@ HIST_TRIGGERS all=n TRACEPOINT_BENCHMARK all=n RING_BUFFER_BENCHMARK all=m RING_BUFFER_STARTUP_TEST all=n -TRACE_ENUM_MAP_FILE all=n +TRACE_EVAL_MAP_FILE all=n TRACING_EVENTS_GPIO all=y #- @@ -9867,6 +10018,7 @@ CRC32_SLICEBY8 all=y CRC32_SLICEBY4 all=n CRC32_SARWATE all=n CRC32_BIT all=n +CRC4 all=m CRC7 all=m LIBCRC32C all=m CRC8 all=m @@ -9942,6 +10094,7 @@ ARCH_HAS_KCOV all=y KCOV all=n DEBUG_SHIRQ all=n LOCKUP_DETECTOR all=y +SOFTLOCKUP_DETECTOR all=y BOOTPARAM_HARDLOCKUP_PANIC all=n BOOTPARAM_HARDLOCKUP_PANIC_VALUE all=0 BOOTPARAM_SOFTLOCKUP_PANIC all=n @@ -9966,6 +10119,7 @@ DEBUG_ATOMIC_SLEEP all=n DEBUG_LOCKING_API_SELFTESTS all=n LOCK_TORTURE_TEST all=m WW_MUTEX_SELFTEST all=m +WARN_ALL_UNSEEDED_RANDOM all=y DEBUG_KOBJECT all=n DEBUG_KOBJECT_RELEASE all=n DEBUG_BUGVERBOSE all=y @@ -9974,15 +10128,7 @@ DEBUG_PI_LIST all=n DEBUG_SG all=n DEBUG_NOTIFIERS all=n DEBUG_CREDENTIALS all=n -SPARSE_RCU_POINTER all=n -RCU_PERF_TEST all=m -RCU_TORTURE_TEST all=m -RCU_TORTURE_TEST_SLOW_PREINIT all=n -RCU_TORTURE_TEST_SLOW_INIT all=n -RCU_TORTURE_TEST_SLOW_CLEANUP all=n -RCU_CPU_STALL_TIMEOUT all=60 -RCU_TRACE all=n -RCU_EQS_DEBUG all=n +#- file kernel/rcu/Kconfig.debug goes here DEBUG_WQ_FORCE_RR_CPU all=n DEBUG_BLOCK_EXT_DEVT all=n CPU_HOTPLUG_STATE_CONTROL all=n @@ -10017,9 +10163,11 @@ TEST_LKM all=n TEST_USER_COPY all=n TEST_BPF all=n TEST_FIRMWARE all=m +TEST_SYSCTL all=m TEST_UDELAY all=m TEST_STATIC_KEYS all=m BUG_ON_DATA_CORRUPTION all=n +TEST_KMOD all=m #- file samples/Kconfig goes here #- file lib/Kconfig.kgdb goes here #- file lib/Kconfig.ubsan goes here @@ -10085,7 +10233,6 @@ FLATMEM_MANUAL all=n alpha=y ppc=y sparc=y sparc64=n DISCONTIGMEM_MANUAL all=n SPARSEMEM_MANUAL all=y alpha=n ppc=n sparc=n sparc64=y SPARSEMEM_VMEMMAP all=y -MOVABLE_NODE all=y MEMORY_HOTPLUG all=y MEMORY_HOTPLUG_DEFAULT_ONLINE all=y MEMORY_HOTREMOVE all=y @@ -10117,6 +10264,7 @@ ZSMALLOC_STAT all=y DEFERRED_STRUCT_PAGE_INIT all=n IDLE_PAGE_TRACKING all=y ZONE_DEVICE all=y +PERCPU_STATS all=n #- #- *** FILE: mm/Kconfig.debug *** @@ -10169,6 +10317,7 @@ NET_9P_DEBUG all=n NET all=y #- file net/packet/Kconfig goes here #- file net/unix/Kconfig goes here +#- file net/tls/Kconfig goes here #- file net/xfrm/Kconfig goes here #- file net/iucv/Kconfig goes here #- file net/smc/Kconfig goes here @@ -11124,6 +11273,11 @@ TIPC all=m TIPC_MEDIA_IB all=y TIPC_MEDIA_UDP all=y +#- +#- *** FILE: net/tls/Kconfig *** +#- +TLS all=m + #- #- *** FILE: net/unix/Kconfig *** #- @@ -11185,11 +11339,13 @@ SAMPLES all=n SECURITY_DMESG_RESTRICT all=y SECURITY all=y SECURITY_NETWORK all=y +SECURITY_INFINIBAND all=y SECURITY_NETWORK_XFRM all=y SECURITY_PATH all=y INTEL_TXT all=y LSM_MMAP_MIN_ADDR all=0 x86_64=65536 i386=65536 sparc64=8192 ppc=65536 HARDENED_USERCOPY all=y +FORTIFY_SOURCE all=y STATIC_USERMODEHELPER all=n #- file security/selinux/Kconfig goes here #- file security/smack/Kconfig goes here @@ -11315,6 +11471,7 @@ SND all=m #- file sound/parisc/Kconfig goes here #- file sound/soc/Kconfig goes here #- file sound/x86/Kconfig goes here +#- file sound/synth/Kconfig goes here SOUND_PRIME all=m #- file sound/oss/Kconfig goes here AC97_BUS all=m @@ -11354,15 +11511,11 @@ SND_PCM_ELD all=y SND_HWDEP all=m SND_RAWMIDI all=m SND_JACK_INPUT_DEV all=y -SND_SEQUENCER all=m -SND_SEQ_DUMMY all=m SND_OSSEMUL all=y SND_MIXER_OSS all=m SND_PCM_OSS all=m SND_PCM_OSS_PLUGINS all=y -SND_SEQUENCER_OSS all=y SND_HRTIMER all=m -SND_SEQ_HRTIMER_DEFAULT all=y SND_DYNAMIC_MINORS all=y SND_MAX_CARDS all=32 SND_SUPPORT_OLD_API all=y @@ -11371,6 +11524,14 @@ SND_VERBOSE_PRINTK all=n SND_DEBUG all=n #- file sound/core/seq/Kconfig goes here +#- +#- *** FILE: sound/core/seq/Kconfig *** +#- +SND_SEQUENCER all=m +SND_SEQ_DUMMY all=m +SND_SEQUENCER_OSS all=y +SND_SEQ_HRTIMER_DEFAULT all=y + #- #- *** FILE: sound/drivers/Kconfig *** #- @@ -11772,6 +11933,7 @@ SND_SOC_WM8974 all=m SND_SOC_WM8978 all=m SND_SOC_WM8985 all=m SND_SOC_WM8991 all=m +SND_SOC_ZX_AUD96P22 all=m SND_SOC_LM4857 all=m SND_SOC_NAU8540 all=m SND_SOC_NAU8810 all=m @@ -11841,7 +12003,10 @@ SND_SOC_INTEL_CHT_BSW_RT5672_MACH all=m SND_SOC_INTEL_CHT_BSW_RT5645_MACH all=m SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH all=m SND_SOC_INTEL_BYT_CHT_DA7213_MACH all=m +SND_SOC_INTEL_BYT_CHT_ES8316_MACH all=m SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH all=m +SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH all=m +SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH all=m SND_SOC_INTEL_SKL_RT286_MACH all=m SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH all=m SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH all=m @@ -11926,20 +12091,40 @@ RD_LZ4 all=y #- *** PROBABLY REMOVED OPTIONS *** #- BLK_DEV_HD all=n +BLK_DEV_NVME_SCSI all=y BLK_DEV_OSD all=m +CIFS_SMB2 all=y DM_CACHE_CLEANER all=m +DW_DMAC_BIG_ENDIAN_IO all=n EDAC_MM_EDAC all=m +FUJITSU_LAPTOP_DEBUG all=n +GPIO_MCP23S08 all=m HW_RANDOM_EXYNOS all=m I40E_FCOE all=y KVM_DEVICE_ASSIGNMENT all=y LEDS_DELL_NETBOOKS all=m LIRC_SASEM all=m LIRC_SIR all=m +MCE_AMD_INJ all=m MEDIA_CEC_DEBUG all=n +MMC_BLOCK_BOUNCE all=y +MMTIMER ia64=m +MOVABLE_NODE all=y MTD_NAND_DENALI_SCRATCH_REG_ADDR all=0xFF108018 MTD_NAND_IDS all=m NFC_WILINK all=m NR_DEV_DAX all=32768 +RCU_KTHREAD_PRIO all=0 +RCU_NOCB_CPU_ALL all=n +RCU_NOCB_CPU_NONE all=y +RCU_NOCB_CPU_ZERO all=n +RCU_TORTURE_TEST_SLOW_CLEANUP all=n +RCU_TORTURE_TEST_SLOW_INIT all=n +RCU_TORTURE_TEST_SLOW_PREINIT all=n REGULATOR_ARIZONA all=m SAMSUNG_USBPHY all=m SOC_CAMERA_OV2640 all=m +SPARSE_RCU_POINTER all=n +TI_SYSCON_RESET all=m +TRACE_ENUM_MAP_FILE all=n +UCSI all=m ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/kernel.git/commitdiff/3c1bdaffd564d4758d6cc169866988b172b3700a _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit