diff --git a/.abf.yml b/.abf.yml index a41f654..24c0bbe 100644 --- a/.abf.yml +++ b/.abf.yml @@ -1,3 +1,3 @@ sources: - linux-4.12.tar.xz: f5dda0344401c436aa47685fbf345f4b7975fcf5 - patch-4.12.10.xz: c32d2d2c05798e9e765deeffc625d4c2182568af + linux-4.13.tar.xz: 39a4e912707c3c646967bbde684d7102d584e45a + patch-4.13.1.xz: 3ea7abb0c59d60401377a2a9eb481c9145b2f538 diff --git a/disable-mrproper-prepare-scripts-configs-in-devel-rpms.patch b/disable-mrproper-prepare-scripts-configs-in-devel-rpms.patch index 4d0c606..7acdc2d 100644 --- a/disable-mrproper-prepare-scripts-configs-in-devel-rpms.patch +++ b/disable-mrproper-prepare-scripts-configs-in-devel-rpms.patch @@ -1,8 +1,8 @@ diff --git a/Makefile b/Makefile -index 7bab127..f327099 100644 +index 781b12be59bf..a64a4e30a065 100644 --- a/Makefile +++ b/Makefile -@@ -557,9 +557,7 @@ ifeq ($(KBUILD_EXTMOD),) +@@ -582,9 +582,7 @@ ifeq ($(KBUILD_EXTMOD),) # Carefully list dependencies so we do not try to build scripts twice # in parallel PHONY += scripts @@ -13,7 +13,7 @@ index 7bab127..f327099 100644 # Objects we will link into vmlinux / subdirs we need to visit init-y := init/ -@@ -1047,7 +1045,7 @@ prepare0: archprepare gcc-plugins +@@ -1096,7 +1094,7 @@ prepare0: archprepare gcc-plugins $(Q)$(MAKE) $(build)=. # All the preparing.. @@ -22,7 +22,7 @@ index 7bab127..f327099 100644 PHONY += prepare-objtool prepare-objtool: $(objtool_target) -@@ -1270,13 +1268,8 @@ endif # CONFIG_MODULES +@@ -1322,13 +1320,8 @@ endif # CONFIG_MODULES CLEAN_DIRS += $(MODVERDIR) # Directories & files removed with 'make mrproper' @@ -38,17 +38,24 @@ index 7bab127..f327099 100644 # clean - Delete most, but leave enough to build external modules # -@@ -1298,7 +1291,7 @@ clean: archclean vmlinuxclean +@@ -1350,13 +1343,10 @@ clean: archclean vmlinuxclean # mrproper: rm-dirs := $(wildcard $(MRPROPER_DIRS)) mrproper: rm-files := $(wildcard $(MRPROPER_FILES)) --mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook scripts) -+mrproper-dirs := $(addprefix _mrproper_,Documentation/DocBook) +-mrproper-dirs := $(addprefix _mrproper_,scripts) + +-PHONY += $(mrproper-dirs) mrproper archmrproper +-$(mrproper-dirs): +- $(Q)$(MAKE) $(clean)=$(patsubst _mrproper_%,%,$@) ++PHONY += mrproper archmrproper + +-mrproper: clean archmrproper $(mrproper-dirs) ++mrproper: clean archmrproper + $(call cmd,rmdirs) + $(call cmd,rmfiles) - PHONY += $(mrproper-dirs) mrproper archmrproper - $(mrproper-dirs): diff --git a/scripts/kconfig/Makefile b/scripts/kconfig/Makefile -index 90a091b..7f51efa 100644 +index eb8144643b78..904d6f0e0520 100644 --- a/scripts/kconfig/Makefile +++ b/scripts/kconfig/Makefile @@ -19,25 +19,16 @@ endif diff --git a/fs-aufs4.patch b/fs-aufs4.patch index 32587a5..b0fae5a 100644 --- a/fs-aufs4.patch +++ b/fs-aufs4.patch @@ -492,7 +492,7 @@ index 000000000000..fa82b6394f69 +# End: ; diff --git a/Documentation/filesystems/aufs/design/01intro.txt b/Documentation/filesystems/aufs/design/01intro.txt new file mode 100644 -index 000000000000..34da01b3a2b8 +index 000000000000..ae16191bd918 --- /dev/null +++ b/Documentation/filesystems/aufs/design/01intro.txt @@ -0,0 +1,171 @@ @@ -515,7 +515,7 @@ index 000000000000..34da01b3a2b8 +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. @@ -1773,10 +1773,10 @@ index 000000000000..b7ba75d8843a +Currently this approach is applied to address_space_operations for +regular files only. diff --git a/MAINTAINERS b/MAINTAINERS -index 767e9d202adf..2dd7fa4d2c35 100644 +index 1c3feffb1c1c..1a12137e11a1 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* @@ -1797,7 +1797,7 @@ index 767e9d202adf..2dd7fa4d2c35 100644 M: Miguel Ojeda Sandonis W: http://miguelojeda.es/auxdisplay.htm diff --git a/drivers/block/loop.c b/drivers/block/loop.c -index ebbd0c3fe0ed..6b8a6a4cf749 100644 +index f321b96405f5..10707c3fddc0 100644 --- a/drivers/block/loop.c +++ b/drivers/block/loop.c @@ -700,6 +700,24 @@ static inline int is_loop_device(struct file *file) @@ -1826,10 +1826,10 @@ index ebbd0c3fe0ed..6b8a6a4cf749 100644 static ssize_t loop_attr_show(struct device *dev, char *page, diff --git a/fs/Kconfig b/fs/Kconfig -index b0e42b6a96b9..7fa4b682b474 100644 +index 7aee6d699fd6..ec92031204c5 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" @@ -2154,10 +2154,10 @@ index 000000000000..7f5eb7890bc0 +#endif /* __AUFS_H__ */ diff --git a/fs/aufs/branch.c b/fs/aufs/branch.c new file mode 100644 -index 000000000000..0947a2a3907c +index 000000000000..70f0e86e09f1 --- /dev/null +++ b/fs/aufs/branch.c -@@ -0,0 +1,1422 @@ +@@ -0,0 +1,1421 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -2297,7 +2297,7 @@ index 000000000000..0947a2a3907c + goto out; + add_branch->br_xino.xi_nondir.total = 8; /* initial size */ + add_branch->br_xino.xi_nondir.array -+ = kzalloc(sizeof(ino_t) * add_branch->br_xino.xi_nondir.total, ++ = kcalloc(sizeof(ino_t), add_branch->br_xino.xi_nondir.total, + GFP_NOFS); + if (unlikely(!add_branch->br_xino.xi_nondir.array)) + goto out_br; @@ -3556,8 +3556,7 @@ index 000000000000..0947a2a3907c + goto out; /* success */ + +out_bf: -+ if (bf) -+ kfree(bf); ++ kfree(bf); +out: + AuTraceErr(err); + return err; @@ -3953,10 +3952,10 @@ index 000000000000..0bbb2d3a5285 +-include ${srctree}/${src}/conf_priv.mk diff --git a/fs/aufs/cpup.c b/fs/aufs/cpup.c new file mode 100644 -index 000000000000..1c4156962391 +index 000000000000..d201fc056979 --- /dev/null +++ b/fs/aufs/cpup.c -@@ -0,0 +1,1442 @@ +@@ -0,0 +1,1443 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -4337,9 +4336,9 @@ index 000000000000..1c4156962391 + 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; @@ -4360,9 +4359,9 @@ index 000000000000..1c4156962391 + } + + 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 */ @@ -4467,7 +4466,7 @@ index 000000000000..1c4156962391 + 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); @@ -4476,20 +4475,21 @@ index 000000000000..1c4156962391 + 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); @@ -7049,7 +7049,7 @@ index 000000000000..270628d747bb +#endif /* __AUFS_DEBUG_H__ */ diff --git a/fs/aufs/dentry.c b/fs/aufs/dentry.c new file mode 100644 -index 000000000000..91952bda557e +index 000000000000..95ae92aab1fe --- /dev/null +++ b/fs/aufs/dentry.c @@ -0,0 +1,1130 @@ @@ -7148,9 +7148,9 @@ index 000000000000..91952bda557e + || (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)) { @@ -7223,10 +7223,10 @@ index 000000000000..91952bda557e + 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; @@ -9002,7 +9002,7 @@ index 000000000000..8b19f94c5654 +} diff --git a/fs/aufs/dir.c b/fs/aufs/dir.c new file mode 100644 -index 000000000000..a6b7e962ce2d +index 000000000000..3ac1e885884b --- /dev/null +++ b/fs/aufs/dir.c @@ -0,0 +1,759 @@ @@ -9645,9 +9645,9 @@ index 000000000000..a6b7e962ce2d + 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 { @@ -12458,10 +12458,10 @@ index 000000000000..ef6f99e985c8 +} diff --git a/fs/aufs/file.c b/fs/aufs/file.c new file mode 100644 -index 000000000000..daaecab0af72 +index 000000000000..4f540866a3b3 --- /dev/null +++ b/fs/aufs/file.c -@@ -0,0 +1,858 @@ +@@ -0,0 +1,845 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -12686,11 +12686,11 @@ index 000000000000..daaecab0af72 + +int au_do_open(struct file *file, struct au_do_open_args *args) +{ -+ int err, no_lock = args->no_lock; ++ int err, aopen = args->aopen; + struct dentry *dentry; + struct au_finfo *finfo; + -+ if (!no_lock) ++ if (!aopen) + err = au_finfo_init(file, args->fidir); + else { + lockdep_off(); @@ -12702,25 +12702,12 @@ index 000000000000..daaecab0af72 + + dentry = file->f_path.dentry; + AuDebugOn(IS_ERR_OR_NULL(dentry)); -+ if (!no_lock) { -+ di_write_lock_child(dentry); -+ err = au_cmoo(dentry); -+ di_downgrade_lock(dentry, AuLock_IR); -+ if (!err) -+ err = args->open(file, vfsub_file_flags(file), NULL); -+ di_read_unlock(dentry, AuLock_IR); -+ } else { -+ err = au_cmoo(dentry); -+ if (!err) -+ err = args->open(file, vfsub_file_flags(file), -+ args->h_file); -+ if (!err && au_fbtop(file) != au_dbtop(dentry)) -+ /* -+ * cmoo happens after h_file was opened. -+ * need to refresh file later. -+ */ -+ atomic_dec(&au_fi(file)->fi_generation); -+ } ++ di_write_lock_child(dentry); ++ err = au_cmoo(dentry); ++ di_downgrade_lock(dentry, AuLock_IR); ++ if (!err) ++ err = args->open(file, vfsub_file_flags(file), NULL); ++ di_read_unlock(dentry, AuLock_IR); + + finfo = au_fi(file); + if (!err) { @@ -12728,7 +12715,7 @@ index 000000000000..daaecab0af72 + au_sphl_add(&finfo->fi_hlist, + &au_sbi(file->f_path.dentry->d_sb)->si_files); + } -+ if (!no_lock) ++ if (!aopen) + fi_write_unlock(file); + else { + lockdep_off(); @@ -13322,10 +13309,10 @@ index 000000000000..daaecab0af72 +}; diff --git a/fs/aufs/file.h b/fs/aufs/file.h new file mode 100644 -index 000000000000..d12fd97af059 +index 000000000000..65b3a3f927e4 --- /dev/null +++ b/fs/aufs/file.h -@@ -0,0 +1,330 @@ +@@ -0,0 +1,331 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -13354,6 +13341,7 @@ index 000000000000..d12fd97af059 + +#include +#include ++#include +#include +#include "rwsem.h" + @@ -13402,7 +13390,7 @@ index 000000000000..d12fd97af059 +struct file *au_h_open(struct dentry *dentry, aufs_bindex_t bindex, int flags, + struct file *file, int force_wr); +struct au_do_open_args { -+ int no_lock; ++ int aopen; + int (*open)(struct file *file, int flags, + struct file *h_file); + struct au_fidir *fidir; @@ -14218,10 +14206,10 @@ index 000000000000..4624f1ef222f +#endif /* __AUFS_FSTYPE_H__ */ diff --git a/fs/aufs/hfsnotify.c b/fs/aufs/hfsnotify.c new file mode 100644 -index 000000000000..7298c575c662 +index 000000000000..e2a16478e84e --- /dev/null +++ b/fs/aufs/hfsnotify.c -@@ -0,0 +1,287 @@ +@@ -0,0 +1,289 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -14257,7 +14245,7 @@ index 000000000000..7298c575c662 + hn_mark); + /* AuDbg("here\n"); */ + au_cache_free_hnotify(hn); -+ smp_mb__before_atomic(); ++ smp_mb__before_atomic(); /* for atomic64_dec */ + if (atomic64_dec_and_test(&au_hfsn_ifree)) + wake_up(&au_hfsn_wq); +} @@ -14278,15 +14266,15 @@ index 000000000000..7298c575c662 + AuDebugOn(!br->br_hfsn); + + mark = &hn->hn_mark; -+ fsnotify_init_mark(mark, au_hfsn_free_mark); ++ fsnotify_init_mark(mark, br->br_hfsn->hfsn_group); + mark->mask = AuHfsnMask; + /* + * by udba rename or rmdir, aufs assign a new inode to the known + * h_inode, so specify 1 to allow dups. + */ + lockdep_off(); -+ err = fsnotify_add_mark(mark, br->br_hfsn->hfsn_group, hinode->hi_inode, -+ /*mnt*/NULL, /*allow_dups*/1); ++ err = fsnotify_add_mark(mark, hinode->hi_inode, /*mnt*/NULL, ++ /*allow_dups*/1); + lockdep_on(); + + return err; @@ -14388,7 +14376,8 @@ index 000000000000..7298c575c662 + struct fsnotify_mark *inode_mark, + struct fsnotify_mark *vfsmount_mark, + u32 mask, const void *data, int data_type, -+ const unsigned char *file_name, u32 cookie) ++ const unsigned char *file_name, u32 cookie, ++ struct fsnotify_iter_info *iter_info) +{ + int err; + struct au_hnotify *hnotify; @@ -14427,7 +14416,8 @@ index 000000000000..7298c575c662 + +static struct fsnotify_ops au_hfsn_ops = { + .handle_event = au_hfsn_handle_event, -+ .free_group_priv = au_hfsn_free_group ++ .free_group_priv = au_hfsn_free_group, ++ .free_mark = au_hfsn_free_mark +}; + +/* ---------------------------------------------------------------------- */ @@ -14573,7 +14563,7 @@ index 000000000000..b5b6547024e5 +} diff --git a/fs/aufs/hnotify.c b/fs/aufs/hnotify.c new file mode 100644 -index 000000000000..773a1d2945c5 +index 000000000000..9dde1ace6761 --- /dev/null +++ b/fs/aufs/hnotify.c @@ -0,0 +1,711 @@ @@ -14901,11 +14891,11 @@ index 000000000000..773a1d2945c5 + 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 */ @@ -15290,10 +15280,10 @@ index 000000000000..773a1d2945c5 +} diff --git a/fs/aufs/i_op.c b/fs/aufs/i_op.c new file mode 100644 -index 000000000000..bfd2df9af841 +index 000000000000..0573825d6257 --- /dev/null +++ b/fs/aufs/i_op.c -@@ -0,0 +1,1452 @@ +@@ -0,0 +1,1460 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -15557,8 +15547,8 @@ index 000000000000..bfd2df9af841 + struct au_sphlhead *aopen; + struct aopen_node *node; + struct au_do_open_args args = { -+ .no_lock = 1, -+ .open = au_do_open_nondir ++ .aopen = 1, ++ .open = au_do_open_nondir + }; + + aopen = &au_sbi(inode->i_sb)->si_aopen; @@ -15578,7 +15568,7 @@ index 000000000000..bfd2df9af841 + struct file *file, unsigned int open_flag, + umode_t create_mode, int *opened) +{ -+ int err, h_opened = *opened; ++ int err, unlocked, h_opened = *opened; + unsigned int lkup_flags; + struct dentry *parent, *d; + struct au_sphlhead *aopen; @@ -15623,6 +15613,7 @@ index 000000000000..bfd2df9af841 + || !(open_flag & O_CREAT)) + goto out_no_open; + ++ unlocked = 0; + err = aufs_read_lock(dentry, AuLock_DW | AuLock_FLUSH | AuLock_GEN); + if (unlikely(err)) + goto out; @@ -15653,6 +15644,9 @@ index 000000000000..bfd2df9af841 + put_filp(args.file); + goto out_unlock; + } ++ di_write_unlock(parent); ++ di_write_unlock(dentry); ++ unlocked = 1; + + /* some filesystems don't set FILE_CREATED while succeeded? */ + *opened |= FILE_CREATED; @@ -15672,8 +15666,12 @@ index 000000000000..bfd2df9af841 + fput(aopen_node.h_file); + +out_unlock: -+ di_write_unlock(parent); -+ aufs_read_unlock(dentry, AuLock_DW); ++ if (unlocked) ++ si_read_unlock(dentry->d_sb); ++ else { ++ di_write_unlock(parent); ++ aufs_read_unlock(dentry, AuLock_DW); ++ } + AuDbgDentry(dentry); + if (unlikely(err < 0)) + goto out; @@ -15719,10 +15717,10 @@ index 000000000000..bfd2df9af841 + 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) { @@ -16106,10 +16104,10 @@ index 000000000000..bfd2df9af841 + 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; @@ -18191,10 +18189,10 @@ index 000000000000..f67b74b2eb3a +} diff --git a/fs/aufs/i_op_ren.c b/fs/aufs/i_op_ren.c new file mode 100644 -index 000000000000..0c3067013bc4 +index 000000000000..9a0b8f843fdf --- /dev/null +++ b/fs/aufs/i_op_ren.c -@@ -0,0 +1,1165 @@ +@@ -0,0 +1,1166 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -19157,7 +19155,8 @@ index 000000000000..0c3067013bc4 + goto out_free; + lock_flags |= AuLock_DIRS; + } -+ err = aufs_read_and_write_lock2(a->dst_dentry, a->src_dentry, lock_flags); ++ err = aufs_read_and_write_lock2(a->dst_dentry, a->src_dentry, ++ lock_flags); + if (unlikely(err)) + goto out_free; + @@ -20186,10 +20185,10 @@ index 000000000000..d361e25280dc +} diff --git a/fs/aufs/inode.h b/fs/aufs/inode.h new file mode 100644 -index 000000000000..aa8ab74921f9 +index 000000000000..318154be7245 --- /dev/null +++ b/fs/aufs/inode.h -@@ -0,0 +1,686 @@ +@@ -0,0 +1,694 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -20218,6 +20217,7 @@ index 000000000000..aa8ab74921f9 + +#include +#include "rwsem.h" ++#include "vfsub.h" + +struct vfsmount; + @@ -20868,6 +20868,13 @@ index 000000000000..aa8ab74921f9 + 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); @@ -24291,10 +24298,10 @@ index 000000000000..717cb282868c +} diff --git a/fs/aufs/opts.h b/fs/aufs/opts.h new file mode 100644 -index 000000000000..d50e65fd5e46 +index 000000000000..c156995a9bb8 --- /dev/null +++ b/fs/aufs/opts.h -@@ -0,0 +1,212 @@ +@@ -0,0 +1,213 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -24497,6 +24504,7 @@ index 000000000000..d50e65fd5e46 +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); @@ -24509,7 +24517,7 @@ index 000000000000..d50e65fd5e46 +#endif /* __AUFS_OPTS_H__ */ diff --git a/fs/aufs/plink.c b/fs/aufs/plink.c new file mode 100644 -index 000000000000..8f3dd6761b04 +index 000000000000..5fde5211e557 --- /dev/null +++ b/fs/aufs/plink.c @@ -0,0 +1,514 @@ @@ -24730,9 +24738,9 @@ index 000000000000..8f3dd6761b04 + 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; +} + @@ -30629,10 +30637,10 @@ index 000000000000..da07be8099fa +} diff --git a/fs/aufs/vfsub.h b/fs/aufs/vfsub.h new file mode 100644 -index 000000000000..221687152c8d +index 000000000000..7ccfc83c6017 --- /dev/null +++ b/fs/aufs/vfsub.h -@@ -0,0 +1,353 @@ +@@ -0,0 +1,360 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -30689,6 +30697,13 @@ index 000000000000..221687152c8d +#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) @@ -32891,10 +32906,10 @@ index 000000000000..05c069ebb7c4 +} diff --git a/fs/aufs/whout.h b/fs/aufs/whout.h new file mode 100644 -index 000000000000..d06f3b2d8ccf +index 000000000000..eb4b1823bd49 --- /dev/null +++ b/fs/aufs/whout.h -@@ -0,0 +1,84 @@ +@@ -0,0 +1,85 @@ +/* + * Copyright (C) 2005-2017 Junjiro R. Okajima + * @@ -32927,6 +32942,7 @@ index 000000000000..d06f3b2d8ccf +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); @@ -33299,10 +33315,10 @@ index 000000000000..0f1f42da519a +#endif /* __AUFS_WKQ_H__ */ diff --git a/fs/aufs/xattr.c b/fs/aufs/xattr.c new file mode 100644 -index 000000000000..7cdf37e3e545 +index 000000000000..ffff4efbbc22 --- /dev/null +++ b/fs/aufs/xattr.c -@@ -0,0 +1,357 @@ +@@ -0,0 +1,355 @@ +/* + * Copyright (C) 2014-2017 Junjiro R. Okajima + * @@ -33421,7 +33437,7 @@ index 000000000000..7cdf37e3e545 + 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; + @@ -33447,7 +33463,7 @@ index 000000000000..7cdf37e3e545 + 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)) @@ -33483,15 +33499,13 @@ index 000000000000..7cdf37e3e545 + AuTraceErr(err); + } + -+ if (value) -+ kfree(value); ++ kfree(value); + +out_free: -+ if (o) -+ kfree(o); ++ kfree(o); +out: + if (!unlocked) -+ inode_unlock(h_isrc); ++ inode_unlock_shared(h_isrc); + AuTraceErr(err); + return err; +} @@ -35082,10 +35096,10 @@ index 000000000000..1d41d5752048 + return err; +} diff --git a/fs/dcache.c b/fs/dcache.c -index a9f995f6859e..5fd25bba1282 100644 +index f90141387f01..3203470c59c2 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. */ @@ -35094,7 +35108,7 @@ index a9f995f6859e..5fd25bba1282 100644 enum d_walk_ret (*enter)(void *, struct dentry *), void (*finish)(void *)) { -@@ -1272,6 +1272,7 @@ static void d_walk(struct dentry *parent, void *data, +@@ -1305,6 +1305,7 @@ static void d_walk(struct dentry *parent, void *data, seq = 1; goto again; } @@ -35102,7 +35116,7 @@ index a9f995f6859e..5fd25bba1282 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); } @@ -35111,7 +35125,7 @@ index a9f995f6859e..5fd25bba1282 100644 /** * d_ancestor - search for an ancestor diff --git a/fs/exec.c b/fs/exec.c -index 904199086490..31f14c6dd976 100644 +index 62175cbcc801..f0b6fdd7829e 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -109,6 +109,7 @@ bool path_noexec(const struct path *path) @@ -35123,7 +35137,7 @@ index 904199086490..31f14c6dd976 100644 #ifdef CONFIG_USELIB /* diff --git a/fs/fcntl.c b/fs/fcntl.c -index f4e7267d117f..ac1dc669975a 100644 +index 3b01b646e528..5c37087be87b 100644 --- a/fs/fcntl.c +++ b/fs/fcntl.c @@ -31,7 +31,7 @@ @@ -35153,7 +35167,7 @@ index f4e7267d117f..ac1dc669975a 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 954d510b765a..4fb5b10241a5 100644 +index 72e861a35a7f..01ae52f25580 100644 --- a/fs/file_table.c +++ b/fs/file_table.c @@ -148,6 +148,7 @@ struct file *get_empty_filp(void) @@ -35164,7 +35178,7 @@ index 954d510b765a..4fb5b10241a5 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); } @@ -35172,7 +35186,7 @@ index 954d510b765a..4fb5b10241a5 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); @@ -35180,7 +35194,7 @@ index 954d510b765a..4fb5b10241a5 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); } } @@ -35189,10 +35203,10 @@ index 954d510b765a..4fb5b10241a5 100644 void __init files_init(void) { diff --git a/fs/inode.c b/fs/inode.c -index db5914783a71..365055b18c19 100644 +index 50370599e371..43e77fe43f35 100644 --- a/fs/inode.c +++ b/fs/inode.c -@@ -854,6 +854,8 @@ unsigned int get_next_ino(void) +@@ -855,6 +855,8 @@ unsigned int get_next_ino(void) unsigned int *p = &get_cpu_var(last_ino); unsigned int res = *p; @@ -35201,7 +35215,7 @@ index db5914783a71..365055b18c19 100644 #ifdef CONFIG_SMP if (unlikely((res & (LAST_INO_BATCH-1)) == 0)) { static atomic_t shared_last_ino; -@@ -866,7 +868,7 @@ unsigned int get_next_ino(void) +@@ -867,7 +869,7 @@ unsigned int get_next_ino(void) res++; /* get_next_ino should not provide a 0 inode number */ if (unlikely(!res)) @@ -35210,7 +35224,7 @@ index db5914783a71..365055b18c19 100644 *p = res; put_cpu_var(last_ino); return res; -@@ -1640,7 +1642,7 @@ EXPORT_SYMBOL(generic_update_time); +@@ -1641,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. */ @@ -35219,7 +35233,7 @@ index db5914783a71..365055b18c19 100644 { int (*update_time)(struct inode *, struct timespec *, int); -@@ -1649,6 +1651,7 @@ static int update_time(struct inode *inode, struct timespec *time, int flags) +@@ -1650,6 +1652,7 @@ static int update_time(struct inode *inode, struct timespec *time, int flags) return update_time(inode, time, flags); } @@ -35228,10 +35242,10 @@ index db5914783a71..365055b18c19 100644 /** * touch_atime - update the access time diff --git a/fs/namespace.c b/fs/namespace.c -index 5a4438445bf7..cc6f6fb1099a 100644 +index f8893dc6a989..c55d949d8d58 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(); } @@ -35239,7 +35253,7 @@ index 5a4438445bf7..cc6f6fb1099a 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; } @@ -35284,7 +35298,7 @@ index 32357534de18..14a2d48f3ce2 100644 int fsnotify_fasync(int fd, struct file *file, int on) { diff --git a/fs/notify/mark.c b/fs/notify/mark.c -index 9991f8826734..77d235c92c90 100644 +index 9991f8826734..117042cf2767 100644 --- a/fs/notify/mark.c +++ b/fs/notify/mark.c @@ -118,6 +118,7 @@ static bool fsnotify_get_mark_safe(struct fsnotify_mark *mark) @@ -35295,32 +35309,32 @@ index 9991f8826734..77d235c92c90 100644 static void __fsnotify_recalc_mask(struct fsnotify_mark_connector *conn) { -@@ -255,6 +256,7 @@ void fsnotify_put_mark(struct fsnotify_mark *mark) - queue_delayed_work(system_unbound_wq, &reaper_work, - FSNOTIFY_REAPER_DELAY); +@@ -395,6 +396,7 @@ void fsnotify_destroy_mark(struct fsnotify_mark *mark, + mutex_unlock(&group->mark_mutex); + fsnotify_free_mark(mark); } +EXPORT_SYMBOL_GPL(fsnotify_destroy_mark); - bool fsnotify_prepare_user_wait(struct fsnotify_iter_info *iter_info) - { -@@ -431,6 +433,7 @@ int fsnotify_compare_groups(struct fsnotify_group *a, struct fsnotify_group *b) - return 1; - return -1; + /* + * Sorting function for lists of fsnotify marks. +@@ -607,6 +609,7 @@ int fsnotify_add_mark_locked(struct fsnotify_mark *mark, struct inode *inode, + fsnotify_put_mark(mark); + return ret; } +EXPORT_SYMBOL_GPL(fsnotify_add_mark); - static int fsnotify_attach_connector_to_object( - struct fsnotify_mark_connector __rcu **connp, -@@ -560,6 +563,7 @@ static int fsnotify_add_mark_list(struct fsnotify_mark *mark, - spin_unlock(&mark->lock); - return err; + int fsnotify_add_mark(struct fsnotify_mark *mark, struct inode *inode, + struct vfsmount *mnt, int allow_dups) +@@ -742,6 +745,7 @@ void fsnotify_init_mark(struct fsnotify_mark *mark, + fsnotify_get_group(group); + mark->group = group; } +EXPORT_SYMBOL_GPL(fsnotify_init_mark); /* - * Attach an initialized mark to a given group and fs object. + * Destroy all marks in destroy_list, waits for SRCU period to finish before diff --git a/fs/open.c b/fs/open.c -index cd0c5be8d012..491442ac4c1e 100644 +index 35bb784763a4..92e08c5d29af 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, @@ -35340,10 +35354,10 @@ index cd0c5be8d012..491442ac4c1e 100644 static int do_dentry_open(struct file *f, struct inode *inode, diff --git a/fs/proc/base.c b/fs/proc/base.c -index f1e1927ccd48..7b5af0c86adf 100644 +index 719c2e943ea1..a1b7968a096f 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) { @@ -35369,10 +35383,10 @@ index 75634379f82e..7c0dc0ff4882 100644 ino = inode->i_ino; } diff --git a/fs/proc/task_mmu.c b/fs/proc/task_mmu.c -index 520802da059c..61a037d0ceea 100644 +index fe8f3265e877..b2f7f1a2be57 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) { @@ -35384,7 +35398,7 @@ index 520802da059c..61a037d0ceea 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; @@ -35410,10 +35424,10 @@ index 23266694db11..58e59b66a2c8 100644 ino = inode->i_ino; pgoff = (loff_t)vma->vm_pgoff << PAGE_SHIFT; diff --git a/fs/read_write.c b/fs/read_write.c -index 19d4d88fa285..ce062e8ae071 100644 +index 0cc7033aa413..c6fa09072aff 100644 --- a/fs/read_write.c +++ b/fs/read_write.c -@@ -513,6 +513,30 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, +@@ -473,6 +473,30 @@ ssize_t __vfs_write(struct file *file, const char __user *p, size_t count, } EXPORT_SYMBOL(__vfs_write); @@ -35445,7 +35459,7 @@ index 19d4d88fa285..ce062e8ae071 100644 { mm_segment_t old_fs; diff --git a/fs/splice.c b/fs/splice.c -index 540c4a44756c..21d789307de7 100644 +index ae41201d0325..b38e0368959f 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -853,8 +853,8 @@ EXPORT_SYMBOL(generic_splice_sendpage); @@ -35486,7 +35500,7 @@ index 540c4a44756c..21d789307de7 100644 /** * splice_direct_to_actor - splices data directly between two non-pipes diff --git a/fs/sync.c b/fs/sync.c -index 11ba023434b1..c86fe9cdfaeb 100644 +index 2a54c1f22035..c9b9d46ee888 100644 --- a/fs/sync.c +++ b/fs/sync.c @@ -27,7 +27,7 @@ @@ -35531,18 +35545,18 @@ index 61eb82cbafba..e700888b4da4 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 803e5a9b2654..22d291017b65 100644 +index cbfe127bccf8..9b21bb551708 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); @@ -35550,7 +35564,7 @@ index 803e5a9b2654..22d291017b65 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); @@ -35563,7 +35577,7 @@ index 803e5a9b2654..22d291017b65 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); @@ -35571,7 +35585,7 @@ index 803e5a9b2654..22d291017b65 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 @@ -35580,10 +35594,10 @@ index 803e5a9b2654..22d291017b65 100644 extern const struct file_operations def_blk_fops; extern const struct file_operations def_chr_fops; diff --git a/include/linux/mm.h b/include/linux/mm.h -index 6f543a47fc92..696494b99fc5 100644 +index c1f6c95f3496..2d660a5539a4 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, +@@ -1307,6 +1307,28 @@ static inline int fixup_user_fault(struct task_struct *tsk, } #endif @@ -35613,7 +35627,7 @@ index 6f543a47fc92..696494b99fc5 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 45cdb27791a3..1a40012233ad 100644 +index 3cadee0a3508..d0142c1135ef 100644 --- a/include/linux/mm_types.h +++ b/include/linux/mm_types.h @@ -259,6 +259,7 @@ struct vm_region { @@ -35649,7 +35663,7 @@ index db42746bdfea..12f3a5a4b88d 100644 #endif diff --git a/include/uapi/linux/aufs_type.h b/include/uapi/linux/aufs_type.h new file mode 100644 -index 000000000000..36de33d5aa1b +index 000000000000..0aaf5ee98da6 --- /dev/null +++ b/include/uapi/linux/aufs_type.h @@ -0,0 +1,419 @@ @@ -35694,7 +35708,7 @@ index 000000000000..36de33d5aa1b + +#include + -+#define AUFS_VERSION "4.11.7+-20170703" ++#define AUFS_VERSION "4.13-20170911" + +/* todo? move this to linux-2.6.19/include/magic.h */ +#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's') @@ -36073,10 +36087,10 @@ index 000000000000..36de33d5aa1b + +#endif /* __AUFS_TYPE_H__ */ diff --git a/kernel/fork.c b/kernel/fork.c -index e53770d2bf95..cdf75164aa25 100644 +index b7e9e57b71ea..e731a9a5d93b 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; @@ -36095,7 +36109,7 @@ index d513051fcca2..e056d5429783 100644 } +EXPORT_SYMBOL_GPL(task_work_run); diff --git a/mm/Makefile b/mm/Makefile -index 026f6a828a50..723da170e575 100644 +index 411bd24d4a7c..e7de92702b64 100644 --- a/mm/Makefile +++ b/mm/Makefile @@ -39,7 +39,7 @@ obj-y := filemap.o mempool.o oom_kill.o \ @@ -36108,10 +36122,10 @@ index 026f6a828a50..723da170e575 100644 obj-y += init-mm.o diff --git a/mm/filemap.c b/mm/filemap.c -index 6f1be573a5e6..69a8d947092e 100644 +index 65b4b6e7f7bd..12f4c948eaca 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); @@ -36121,7 +36135,7 @@ index 6f1be573a5e6..69a8d947092e 100644 if (page->mapping != inode->i_mapping) { unlock_page(page); diff --git a/mm/mmap.c b/mm/mmap.c -index a5e3dcd75e79..a5d908c301f8 100644 +index f19efcf75418..7fdd59ec8d89 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) @@ -36152,7 +36166,7 @@ index a5e3dcd75e79..a5d908c301f8 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) @@ -36161,7 +36175,7 @@ index a5e3dcd75e79..a5d908c301f8 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) @@ -36170,7 +36184,7 @@ index a5e3dcd75e79..a5d908c301f8 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; @@ -36179,7 +36193,7 @@ index a5e3dcd75e79..a5d908c301f8 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, } } @@ -36208,7 +36222,7 @@ index a5e3dcd75e79..a5d908c301f8 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) @@ -36392,10 +36406,10 @@ index 03c1652c9a1f..f88c84bf1b61 100644 int devcgroup_inode_mknod(int mode, dev_t dev) { diff --git a/security/security.c b/security/security.c -index b9fea3999cf8..afa97dded1f7 100644 +index 30132378d103..342ce8becf68 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); } @@ -36403,7 +36417,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36411,7 +36425,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36419,7 +36433,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36427,7 +36441,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36435,7 +36449,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36443,7 +36457,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36451,7 +36465,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36459,7 +36473,7 @@ index b9fea3999cf8..afa97dded1f7 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); } @@ -36467,7 +36481,7 @@ index b9fea3999cf8..afa97dded1f7 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); } diff --git a/kernel-i586.config b/kernel-i586.config index 7c6df94..2a14d1f 100644 --- a/kernel-i586.config +++ b/kernel-i586.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.12.x-nrj-desktop Kernel Configuration +# Linux/x86 4.13.x-nrj-desktop Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -70,6 +70,7 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y @@ -208,11 +209,13 @@ CONFIG_SLUB_DEBUG=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y # CONFIG_SLAB_FREELIST_RANDOM is not set CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y +CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_OPROFILE=m # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set @@ -239,6 +242,7 @@ CONFIG_OLD_SIGSUSPEND3=y CONFIG_OLD_SIGACTION=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_REFCOUNT_FULL is not set # # GCOV-based kernel profiling @@ -423,6 +427,7 @@ CONFIG_X86_MCE_INTEL=y CONFIG_X86_MCE_AMD=y # CONFIG_X86_ANCIENT_MCE is not set CONFIG_X86_MCE_THRESHOLD=y +CONFIG_X86_MCE_INJECT=m CONFIG_X86_THERMAL_VECTOR=y # @@ -496,6 +501,7 @@ CONFIG_ZSMALLOC=y CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set CONFIG_FRAME_VECTOR=y +# CONFIG_PERCPU_STATS is not set # CONFIG_X86_PMEM_LEGACY is not set # CONFIG_HIGHPTE is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y @@ -604,8 +610,9 @@ CONFIG_ACPI_WATCHDOG=y CONFIG_ACPI_EXTLOG=m CONFIG_PMIC_OPREGION=y CONFIG_CRC_PMIC_OPREGION=y -# CONFIG_XPOWER_PMIC_OPREGION is not set -# CONFIG_BXT_WC_PMIC_OPREGION is not set +CONFIG_XPOWER_PMIC_OPREGION=y +CONFIG_BXT_WC_PMIC_OPREGION=y +CONFIG_CHT_WC_PMIC_OPREGION=y CONFIG_ACPI_CONFIGFS=m CONFIG_SFI=y CONFIG_X86_APM_BOOT=y @@ -708,6 +715,7 @@ CONFIG_PCI_MSI_IRQ_DOMAIN=y CONFIG_PCI_STUB=m CONFIG_HT_IRQ=y CONFIG_PCI_ATS=y +CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y @@ -814,6 +822,7 @@ CONFIG_PACKET=m CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m +CONFIG_TLS=m CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -1318,6 +1327,7 @@ CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_NET_DSA=m CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y +CONFIG_NET_DSA_TAG_KSZ=y CONFIG_NET_DSA_TAG_TRAILER=y CONFIG_NET_DSA_TAG_QCA=y CONFIG_NET_DSA_TAG_MTK=y @@ -1891,6 +1901,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set # CONFIG_MTD_DATAFLASH_OTP is not set CONFIG_MTD_M25P80=m +CONFIG_MTD_MCHP23K256=m CONFIG_MTD_SST25L=m CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -2136,6 +2147,7 @@ CONFIG_VHOST_RING=m CONFIG_ECHO=m # CONFIG_CXL_BASE is not set # CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_CXL_LIB is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -2450,6 +2462,7 @@ CONFIG_DM_VERITY=m CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_INTEGRITY=m +CONFIG_DM_ZONED=m CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m @@ -2523,7 +2536,6 @@ CONFIG_CAIF_VIRTIO=m # # Distributed Switch Architecture drivers # -CONFIG_NET_DSA_MV88E6060=m CONFIG_B53=m CONFIG_B53_SPI_DRIVER=m CONFIG_B53_MDIO_DRIVER=m @@ -2534,6 +2546,9 @@ CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_QCA8K=m CONFIG_NET_DSA_LOOP=m CONFIG_NET_DSA_MT7530=m +CONFIG_NET_DSA_MV88E6060=m +CONFIG_MICROCHIP_KSZ=m +CONFIG_MICROCHIP_KSZ_SPI_DRIVER=m CONFIG_NET_DSA_SMSC_LAN9303=m CONFIG_NET_DSA_SMSC_LAN9303_I2C=m CONFIG_NET_DSA_SMSC_LAN9303_MDIO=m @@ -2675,9 +2690,12 @@ CONFIG_MLX4_EN_DCB=y CONFIG_MLX4_CORE=m # CONFIG_MLX4_DEBUG is not set CONFIG_MLX5_CORE=m +CONFIG_MLX5_ACCEL=y +CONFIG_MLX5_FPGA=y CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set +CONFIG_MLX5_EN_IPSEC=y CONFIG_MLXSW_CORE=m CONFIG_MLXSW_CORE_HWMON=y CONFIG_MLXSW_CORE_THERMAL=y @@ -2688,6 +2706,7 @@ CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m +CONFIG_MLXFW=m CONFIG_NET_VENDOR_MICREL=y CONFIG_KS8842=m CONFIG_KS8851=m @@ -2705,6 +2724,7 @@ CONFIG_NATSEMI=m CONFIG_NS83820=m CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m +CONFIG_NFP_APP_FLOWER=y # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_8390=y CONFIG_PCMCIA_AXNET=m @@ -2807,6 +2827,7 @@ CONFIG_DWC_XLGMAC=m CONFIG_DWC_XLGMAC_PCI=m CONFIG_NET_SB1000=m CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m CONFIG_PHYLIB=y @@ -2824,6 +2845,7 @@ CONFIG_BCM87XX_PHY=m CONFIG_BCM_NET_PHYLIB=m CONFIG_BROADCOM_PHY=m CONFIG_CICADA_PHY=m +CONFIG_CORTINA_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m @@ -2833,6 +2855,7 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_LXT_PHY=m CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROSEMI_PHY=m @@ -2948,6 +2971,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_DEBUG is not set # CONFIG_ATH10K_DEBUGFS is not set # CONFIG_ATH10K_TRACING is not set @@ -3149,6 +3173,9 @@ CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +CONFIG_QTNFMAC=m +CONFIG_QTNFMAC_PEARL_PCIE=m CONFIG_PCMCIA_RAYCS=m CONFIG_PCMCIA_WL3501=m CONFIG_MAC80211_HWSIM=m @@ -3333,6 +3360,7 @@ CONFIG_KEYBOARD_ADP5589=m CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_QT1070=m CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_DLINK_DIR685=m CONFIG_KEYBOARD_LKKBD=m CONFIG_KEYBOARD_GPIO=m CONFIG_KEYBOARD_GPIO_POLLED=m @@ -3512,6 +3540,7 @@ CONFIG_TOUCHSCREEN_RM_TS=m CONFIG_TOUCHSCREEN_SILEAD=m CONFIG_TOUCHSCREEN_SIS_I2C=m CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SURFACE3_SPI=m CONFIG_TOUCHSCREEN_SX8654=m @@ -3711,6 +3740,7 @@ CONFIG_PPDEV=m CONFIG_HVC_DRIVER=y CONFIG_VIRTIO_CONSOLE=m CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_DMI_DECODE=y CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=m @@ -3829,8 +3859,9 @@ CONFIG_I2C_SCMI=m # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_CBUS_GPIO=m -CONFIG_I2C_DESIGNWARE_CORE=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_DESIGNWARE_BAYTRAIL=y CONFIG_I2C_EG20T=m @@ -3902,6 +3933,9 @@ CONFIG_SPI_ZYNQMP_GQSPI=m CONFIG_SPI_SPIDEV=m # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_TLE62X0=m +CONFIG_SPI_SLAVE=y +CONFIG_SPI_SLAVE_TIME=m +CONFIG_SPI_SLAVE_SYSTEM_CONTROL=m CONFIG_SPMI=m CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -3953,11 +3987,13 @@ CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_AMD=y +CONFIG_PINCTRL_MCP23S08=m # CONFIG_PINCTRL_SX150X is not set CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_PINCTRL_INTEL=m CONFIG_PINCTRL_BROXTON=m +CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_GPIOLIB=y @@ -4043,6 +4079,7 @@ CONFIG_GPIO_RDC321X=m CONFIG_GPIO_MAX7301=m CONFIG_GPIO_MC33880=m CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_XRA1403=m # # SPI or I2C GPIO expanders @@ -4104,6 +4141,7 @@ CONFIG_BATTERY_SBS=m CONFIG_CHARGER_SBS=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_BQ27XXX_I2C=m +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set CONFIG_BATTERY_DA9030=m CONFIG_BATTERY_DA9052=m CONFIG_CHARGER_AXP20X=m @@ -4123,6 +4161,7 @@ CONFIG_CHARGER_TWL4030=m CONFIG_CHARGER_LP8727=m CONFIG_CHARGER_LP8788=m CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_LTC3651=m CONFIG_CHARGER_MAX14577=m CONFIG_CHARGER_MAX77693=m CONFIG_CHARGER_BQ2415X=m @@ -4245,6 +4284,7 @@ CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_IR35221=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC3815=m @@ -4342,6 +4382,7 @@ CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_SYSFS=y # @@ -4502,6 +4543,7 @@ CONFIG_LPC_ICH=m CONFIG_LPC_SCH=m CONFIG_INTEL_SOC_PMIC=y CONFIG_INTEL_SOC_PMIC_BXTWC=m +CONFIG_INTEL_SOC_PMIC_CHTWC=m CONFIG_MFD_INTEL_LPSS=m CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -4606,6 +4648,7 @@ CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -4926,6 +4969,7 @@ CONFIG_VIDEO_VIVID_MAX_DEVS=64 CONFIG_VIDEO_VIM2M=m CONFIG_DVB_PLATFORM_DRIVERS=y # CONFIG_CEC_PLATFORM_DRIVERS is not set +CONFIG_SDR_PLATFORM_DRIVERS=y # # Supported MMC/SDIO adapters @@ -5353,6 +5397,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_I915_WERROR is not set # CONFIG_DRM_I915_DEBUG is not set # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set +# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set @@ -5375,6 +5420,7 @@ CONFIG_DRM_PANEL=y # Display Panels # CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges @@ -5576,6 +5622,7 @@ CONFIG_SND_PCM_ELD=y CONFIG_SND_PCM_IEC958=y CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m +CONFIG_SND_SEQ_DEVICE=m CONFIG_SND_RAWMIDI=m CONFIG_SND_COMPRESS_OFFLOAD=m CONFIG_SND_JACK=y @@ -5589,6 +5636,10 @@ CONFIG_SND_PCM_TIMER=y # CONFIG_SND_SEQUENCER_OSS is not set CONFIG_SND_HRTIMER=m CONFIG_SND_SEQ_HRTIMER_DEFAULT=y +CONFIG_SND_SEQ_MIDI_EVENT=m +CONFIG_SND_SEQ_MIDI=m +CONFIG_SND_SEQ_MIDI_EMUL=m +CONFIG_SND_SEQ_VIRMIDI=m CONFIG_SND_DYNAMIC_MINORS=y CONFIG_SND_MAX_CARDS=32 CONFIG_SND_SUPPORT_OLD_API=y @@ -5601,8 +5652,6 @@ CONFIG_SND_DMA_SGBUF=y CONFIG_SND_RAWMIDI_SEQ=m CONFIG_SND_OPL3_LIB_SEQ=m CONFIG_SND_OPL4_LIB_SEQ=m -CONFIG_SND_SBAWE_SEQ=m -CONFIG_SND_EMU10K1_SEQ=m CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_OPL4_LIB=m @@ -5653,6 +5702,7 @@ CONFIG_SND_MIRO=m CONFIG_SND_SB8=m CONFIG_SND_SB16=m CONFIG_SND_SBAWE=m +CONFIG_SND_SBAWE_SEQ=m CONFIG_SND_SB16_CSP=y CONFIG_SND_SSCAPE=m CONFIG_SND_WAVEFRONT=m @@ -5698,6 +5748,7 @@ CONFIG_SND_INDIGODJ=m CONFIG_SND_INDIGOIOX=m CONFIG_SND_INDIGODJX=m CONFIG_SND_EMU10K1=m +CONFIG_SND_EMU10K1_SEQ=m CONFIG_SND_EMU10K1X=m CONFIG_SND_ENS1370=m CONFIG_SND_ENS1371=m @@ -5843,11 +5894,18 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH=m + +# +# STMicroelectronics STM32 SOC audio support +# CONFIG_SND_SOC_XTFPGA_I2S=m CONFIG_ZX_TDM=m CONFIG_SND_SOC_I2C_AND_SPI=m @@ -5895,6 +5953,7 @@ CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES8316=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5922,11 +5981,13 @@ CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RL6347A=m CONFIG_SND_SOC_RT286=m CONFIG_SND_SOC_RT298=m +CONFIG_SND_SOC_RT5514=m CONFIG_SND_SOC_RT5616=m CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m CONFIG_SND_SOC_RT5645=m CONFIG_SND_SOC_RT5651=m +CONFIG_SND_SOC_RT5663=m CONFIG_SND_SOC_RT5670=m CONFIG_SND_SOC_RT5677=m CONFIG_SND_SOC_RT5677_SPI=m @@ -5975,6 +6036,7 @@ CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_NAU8540=m CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8824=m @@ -5984,6 +6046,7 @@ CONFIG_SND_SIMPLE_CARD_UTILS=m CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m +CONFIG_SND_SYNTH_EMUX=m CONFIG_AC97_BUS=m # @@ -6032,6 +6095,7 @@ CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m @@ -6064,6 +6128,7 @@ CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m +CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m @@ -6348,7 +6413,6 @@ CONFIG_USB_HSIC_USB3503=m CONFIG_USB_HSIC_USB4604=m # CONFIG_USB_LINK_LAYER_TEST is not set # CONFIG_USB_CHAOSKEY is not set -CONFIG_UCSI=m CONFIG_USB_ATM=m CONFIG_USB_SPEEDTOUCH=m CONFIG_USB_CXACRU=m @@ -6401,6 +6465,7 @@ CONFIG_USB_F_ACM=m CONFIG_USB_F_SS_LB=m CONFIG_USB_U_SERIAL=m CONFIG_USB_U_ETHER=m +CONFIG_USB_U_AUDIO=m CONFIG_USB_F_SERIAL=m CONFIG_USB_F_OBEX=m CONFIG_USB_F_NCM=m @@ -6412,6 +6477,7 @@ CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UAC1_LEGACY=m CONFIG_USB_F_UAC2=m CONFIG_USB_F_UVC=m CONFIG_USB_F_MIDI=m @@ -6432,6 +6498,7 @@ CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y CONFIG_USB_CONFIGFS_F_UAC2=y CONFIG_USB_CONFIGFS_F_MIDI=y CONFIG_USB_CONFIGFS_F_HID=y @@ -6441,6 +6508,7 @@ CONFIG_USB_CONFIGFS_F_TCM=y CONFIG_USB_ZERO=m CONFIG_USB_AUDIO=m CONFIG_GADGET_UAC1=y +# CONFIG_GADGET_UAC1_LEGACY is not set CONFIG_USB_ETH=m CONFIG_USB_ETH_RNDIS=y CONFIG_USB_ETH_EEM=y @@ -6469,6 +6537,9 @@ CONFIG_USB_G_WEBCAM=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC=m +CONFIG_TYPEC_UCSI=m +CONFIG_TYPEC_WCOVE=m +CONFIG_UCSI_ACPI=m CONFIG_USB_LED_TRIG=y CONFIG_USB_ULPI_BUS=m CONFIG_UWB=m @@ -6630,6 +6701,7 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_SYSTOHC=y CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y # # RTC interfaces @@ -6708,6 +6780,7 @@ CONFIG_RTC_I2C_AND_SPI=y # SPI and I2C RTC drivers # CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3232_HWMON=y CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_RV3029C2=m CONFIG_RTC_DRV_RV3029_HWMON=y @@ -6747,6 +6820,7 @@ CONFIG_RTC_DRV_PCF50633=m # # on-CPU RTC drivers # +CONFIG_RTC_DRV_FTRTC010=m CONFIG_RTC_DRV_PCAP=m CONFIG_RTC_DRV_MC13XXX=m CONFIG_RTC_DRV_MT6397=m @@ -7050,7 +7124,6 @@ CONFIG_AD5933=m # # Light sensors # -CONFIG_SENSORS_ISL29028=m CONFIG_TSL2x7x=m # @@ -7100,6 +7173,7 @@ CONFIG_STAGING_MEDIA=y CONFIG_INTEL_ATOMISP=y CONFIG_VIDEO_ATOMISP=m CONFIG_VIDEO_OV5693=m +CONFIG_VIDEO_IMX=m CONFIG_VIDEO_OV2722=m CONFIG_VIDEO_GC2235=m CONFIG_VIDEO_OV8858=m @@ -7109,8 +7183,6 @@ CONFIG_VIDEO_AP1302=m CONFIG_VIDEO_GC0310=m CONFIG_VIDEO_OV2680=m CONFIG_VIDEO_LM3554=m -CONFIG_VIDEO_IMX=m - CONFIG_I2C_BCM2048=m CONFIG_DVB_CXD2099=m CONFIG_LIRC_STAGING=y @@ -7156,6 +7228,7 @@ CONFIG_HDM_USB=m CONFIG_TYPEC_TCPM=m CONFIG_TYPEC_TCPCI=m CONFIG_TYPEC_FUSB302=m +CONFIG_DRM_VBOXVIDEO=m CONFIG_X86_PLATFORM_DEVICES=y CONFIG_ACER_WMI=m CONFIG_ACERHDF=m @@ -7198,7 +7271,9 @@ CONFIG_ASUS_NB_WMI=m CONFIG_EEEPC_WMI=m CONFIG_ASUS_WIRELESS=m CONFIG_ACPI_WMI=m +CONFIG_WMI_BMOF=m CONFIG_MSI_WMI=m +CONFIG_PEAQ_WMI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m @@ -7206,6 +7281,7 @@ CONFIG_TOSHIBA_HAPS=m CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_VBTN=m CONFIG_INTEL_IPS=m @@ -7232,6 +7308,7 @@ CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_LPC=m +CONFIG_CROS_EC_LPC_MEC=y CONFIG_CROS_EC_PROTO=y CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CLKDEV_LOOKUP=y @@ -7251,10 +7328,7 @@ CONFIG_COMMON_CLK_PALMAS=m CONFIG_COMMON_CLK_PWM=m # CONFIG_COMMON_CLK_PXA is not set # CONFIG_COMMON_CLK_PIC32 is not set - -# -# Hardware Spinlock drivers -# +CONFIG_HWSPINLOCK=m # # Clock Source drivers @@ -7292,6 +7366,9 @@ CONFIG_REMOTEPROC=m # # Rpmsg drivers # +CONFIG_RPMSG=m +CONFIG_RPMSG_CHAR=m +CONFIG_RPMSG_QCOM_GLINK_RPM=m # # SOC (System On Chip) specific Drivers @@ -7333,6 +7410,7 @@ CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_INTEL_INT3496=m +CONFIG_EXTCON_INTEL_CHT_WC=m CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX3355=m CONFIG_EXTCON_MAX77693=m @@ -7426,7 +7504,9 @@ CONFIG_QCOM_SPMI_IADC=m # CONFIG_QCOM_SPMI_VADC is not set CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m +CONFIG_TI_ADC084S021=m CONFIG_TI_ADC12138=m +CONFIG_TI_ADC108S102=m CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m @@ -7597,6 +7677,7 @@ CONFIG_CM36651=m CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_GP2AP020A00F=m CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m CONFIG_ISL29125=m CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_PROX=m @@ -7707,6 +7788,7 @@ CONFIG_TMP007=m CONFIG_TSYS01=m CONFIG_TSYS02D=m CONFIG_NTB=m +CONFIG_NTB_IDT=m CONFIG_NTB_PINGPONG=m CONFIG_NTB_TOOL=m CONFIG_NTB_PERF=m @@ -7748,6 +7830,7 @@ CONFIG_IPACK_BUS=m CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_GEMINI is not set # CONFIG_RESET_IMX7 is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set @@ -7755,7 +7838,7 @@ CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_SOCFPGA is not set # CONFIG_RESET_STM32 is not set # CONFIG_RESET_SUNXI is not set -CONFIG_TI_SYSCON_RESET=m +# CONFIG_RESET_TI_SYSCON is not set # CONFIG_RESET_ZYNQ is not set # CONFIG_RESET_TEGRA_BPMP is not set CONFIG_FMC=m @@ -7768,15 +7851,16 @@ CONFIG_FMC_CHARDEV=m # PHY Subsystem # CONFIG_GENERIC_PHY=y +CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_PXA_28NM_HSIC=m CONFIG_PHY_PXA_28NM_USB2=m -CONFIG_BCM_KONA_USB2_PHY=m +CONFIG_PHY_CPCAP_USB=m +CONFIG_PHY_QCOM_USB_HS=m +CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_SAMSUNG_USB2=m # CONFIG_PHY_EXYNOS4210_USB2 is not set # CONFIG_PHY_EXYNOS4X12_USB2 is not set # CONFIG_PHY_EXYNOS5250_USB2 is not set -CONFIG_PHY_QCOM_USB_HS=m -CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_TUSB1210=m CONFIG_POWERCAP=y CONFIG_INTEL_RAPL=m @@ -7786,7 +7870,6 @@ CONFIG_INTEL_RAPL=m # Performance monitor support # CONFIG_RAS=y -CONFIG_MCE_AMD_INJ=m # CONFIG_RAS_CEC is not set CONFIG_THUNDERBOLT=m @@ -7802,7 +7885,7 @@ CONFIG_ND_BTT=y CONFIG_BTT=y CONFIG_DAX=y CONFIG_DEV_DAX=m -CONFIG_NVMEM=m +CONFIG_NVMEM=y CONFIG_STM=m CONFIG_STM_DUMMY=m CONFIG_STM_SOURCE_CONSOLE=m @@ -7827,6 +7910,9 @@ CONFIG_ALTERA_PR_IP_CORE=m # FSI support # CONFIG_FSI=m +CONFIG_FSI_MASTER_GPIO=m +CONFIG_FSI_MASTER_HUB=m +CONFIG_FSI_SCOM=m # # Firmware Drivers @@ -7856,7 +7942,8 @@ CONFIG_EFI_RUNTIME_MAP=y # CONFIG_EFI_FAKE_MEMMAP is not set CONFIG_EFI_RUNTIME_WRAPPERS=y CONFIG_EFI_BOOTLOADER_CONTROL=m -CONFIG_EFI_CAPSULE_LOADER=m +CONFIG_EFI_CAPSULE_LOADER=y +CONFIG_EFI_CAPSULE_QUIRK_QUARK_CSH=y # CONFIG_EFI_TEST is not set CONFIG_APPLE_PROPERTIES=y CONFIG_UEFI_CPER=y @@ -7949,6 +8036,7 @@ CONFIG_FUSE_FS=y CONFIG_CUSE=m CONFIG_OVERLAY_FS=m # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +# CONFIG_OVERLAY_FS_INDEX is not set # # Caches @@ -8155,6 +8243,7 @@ CONFIG_CIFS_POSIX=y CONFIG_CIFS_ACL=y CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set CONFIG_CIFS_DFS_UPCALL=y CONFIG_CIFS_SMB2=y CONFIG_CIFS_SMB311=y @@ -8328,6 +8417,7 @@ CONFIG_SCHEDSTATS=y # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set @@ -8397,7 +8487,7 @@ CONFIG_HIST_TRIGGERS=y # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_TRACING_EVENTS_GPIO=y # @@ -8428,10 +8518,12 @@ CONFIG_TEST_PRINTF=m # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set CONFIG_MEMTEST=y CONFIG_TEST_STATIC_KEYS=m # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_TEST_KMOD is not set # CONFIG_SAMPLES is not set CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y @@ -8485,14 +8577,17 @@ CONFIG_ENCRYPTED_KEYS=y # CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y +# CONFIG_SECURITY_WRITABLE_HOOKS is not set CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_INFINIBAND is not set CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_PATH=y CONFIG_INTEL_TXT=y CONFIG_LSM_MMAP_MIN_ADDR=65536 CONFIG_HARDENED_USERCOPY=y # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +# CONFIG_FORTIFY_SOURCE is not set # CONFIG_STATIC_USERMODEHELPER is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y @@ -8751,6 +8846,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set +CONFIG_CRC4=m CONFIG_CRC7=m CONFIG_LIBCRC32C=y CONFIG_CRC8=m diff --git a/kernel-x86_64.config b/kernel-x86_64.config index d8fff8d..3b74c22 100644 --- a/kernel-x86_64.config +++ b/kernel-x86_64.config @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 4.12.x-nrj-desktop Kernel Configuration +# Linux/x86 4.13.x-nrj-desktop Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -63,7 +63,9 @@ CONFIG_AUDIT_TREE=y # CONFIG_GENERIC_IRQ_PROBE=y CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y CONFIG_GENERIC_PENDING_IRQ=y +CONFIG_GENERIC_IRQ_MIGRATION=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y CONFIG_IRQ_DOMAIN_HIERARCHY=y @@ -72,6 +74,7 @@ CONFIG_GENERIC_MSI_IRQ_DOMAIN=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set CONFIG_CLOCKSOURCE_WATCHDOG=y CONFIG_CLOCKSOURCE_VALIDATE_LAST_CYCLE=y CONFIG_GENERIC_TIME_VSYSCALL=y @@ -213,11 +216,13 @@ CONFIG_SLUB_DEBUG=y # CONFIG_SLAB is not set CONFIG_SLUB=y # CONFIG_SLOB is not set +CONFIG_SLAB_MERGE_DEFAULT=y CONFIG_SLAB_FREELIST_RANDOM=y CONFIG_SLUB_CPU_PARTIAL=y # CONFIG_SYSTEM_DATA_VERIFICATION is not set CONFIG_PROFILING=y CONFIG_TRACEPOINTS=y +CONFIG_CRASH_CORE=y CONFIG_KEXEC_CORE=y CONFIG_OPROFILE=m # CONFIG_OPROFILE_EVENT_MULTIPLEX is not set @@ -236,6 +241,7 @@ CONFIG_SECCOMP_FILTER=y CONFIG_CC_STACKPROTECTOR_NONE=y # CONFIG_CC_STACKPROTECTOR_REGULAR is not set # CONFIG_CC_STACKPROTECTOR_STRONG is not set +CONFIG_THIN_ARCHIVES=y CONFIG_MODULES_USE_ELF_RELA=y CONFIG_ARCH_MMAP_RND_BITS=28 CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 @@ -245,6 +251,7 @@ CONFIG_COMPAT_OLD_SIGACTION=y CONFIG_VMAP_STACK=y CONFIG_STRICT_KERNEL_RWX=y CONFIG_STRICT_MODULE_RWX=y +# CONFIG_REFCOUNT_FULL is not set # # GCOV-based kernel profiling @@ -493,6 +500,7 @@ CONFIG_GENERIC_EARLY_IOREMAP=y # CONFIG_IDLE_PAGE_TRACKING is not set # CONFIG_ZONE_DEVICE is not set CONFIG_FRAME_VECTOR=y +# CONFIG_PERCPU_STATS is not set # CONFIG_X86_PMEM_LEGACY is not set CONFIG_X86_CHECK_BIOS_CORRUPTION=y # CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK is not set @@ -576,7 +584,9 @@ CONFIG_ACPI_VIDEO=m CONFIG_ACPI_FAN=y CONFIG_ACPI_DOCK=y CONFIG_ACPI_CPU_FREQ_PSS=y +CONFIG_ACPI_PROCESSOR_CSTATE=y CONFIG_ACPI_PROCESSOR_IDLE=y +CONFIG_ACPI_CPPC_LIB=y CONFIG_ACPI_PROCESSOR=y CONFIG_ACPI_IPMI=m CONFIG_ACPI_HOTPLUG_CPU=y @@ -689,6 +699,7 @@ CONFIG_PCI_STUB=m CONFIG_XEN_PCIDEV_FRONTEND=m CONFIG_HT_IRQ=y CONFIG_PCI_ATS=y +CONFIG_PCI_LOCKLESS_CONFIG=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y @@ -792,6 +803,7 @@ CONFIG_PACKET=m CONFIG_PACKET_DIAG=m CONFIG_UNIX=y CONFIG_UNIX_DIAG=m +# CONFIG_TLS is not set CONFIG_XFRM=y CONFIG_XFRM_OFFLOAD=y CONFIG_XFRM_ALGO=m @@ -1863,6 +1875,7 @@ CONFIG_MTD_DATAFLASH=m # CONFIG_MTD_DATAFLASH_WRITE_VERIFY is not set # CONFIG_MTD_DATAFLASH_OTP is not set CONFIG_MTD_M25P80=m +# CONFIG_MTD_MCHP23K256 is not set CONFIG_MTD_SST25L=m CONFIG_MTD_SLRAM=m CONFIG_MTD_PHRAM=m @@ -2117,6 +2130,7 @@ CONFIG_ECHO=m # CONFIG_CXL_BASE is not set # CONFIG_CXL_KERNEL_API is not set # CONFIG_CXL_AFU_DRIVER_OPS is not set +# CONFIG_CXL_LIB is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -2416,6 +2430,7 @@ CONFIG_DM_VERITY=m CONFIG_DM_SWITCH=m CONFIG_DM_LOG_WRITES=m CONFIG_DM_INTEGRITY=m +# CONFIG_DM_ZONED is not set CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m @@ -2496,6 +2511,7 @@ CONFIG_B53_SPI_DRIVER=m CONFIG_B53_MDIO_DRIVER=m CONFIG_B53_MMAP_DRIVER=m CONFIG_B53_SRAB_DRIVER=m +# CONFIG_MICROCHIP_KSZ is not set CONFIG_NET_DSA_MV88E6XXX=m CONFIG_NET_DSA_MV88E6XXX_GLOBAL2=y CONFIG_NET_DSA_QCA8K=m @@ -2644,6 +2660,7 @@ CONFIG_MLX4_EN_DCB=y CONFIG_MLX4_CORE=m # CONFIG_MLX4_DEBUG is not set CONFIG_MLX5_CORE=m +# CONFIG_MLX5_FPGA is not set CONFIG_MLX5_CORE_EN=y CONFIG_MLX5_CORE_EN_DCB=y # CONFIG_MLX5_CORE_IPOIB is not set @@ -2657,6 +2674,7 @@ CONFIG_MLXSW_SWITCHX2=m CONFIG_MLXSW_SPECTRUM=m CONFIG_MLXSW_SPECTRUM_DCB=y CONFIG_MLXSW_MINIMAL=m +CONFIG_MLXFW=m CONFIG_NET_VENDOR_MICREL=y CONFIG_KS8842=m CONFIG_KS8851=m @@ -2675,6 +2693,7 @@ CONFIG_NATSEMI=m CONFIG_NS83820=m CONFIG_NET_VENDOR_NETRONOME=y CONFIG_NFP=m +# CONFIG_NFP_APP_FLOWER is not set # CONFIG_NFP_DEBUG is not set CONFIG_NET_VENDOR_8390=y CONFIG_PCMCIA_AXNET=m @@ -2780,6 +2799,7 @@ CONFIG_LED_TRIGGER_PHY=y # MDIO bus device drivers # CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_CAVIUM=m CONFIG_MDIO_GPIO=m @@ -2797,6 +2817,7 @@ CONFIG_BCM87XX_PHY=m CONFIG_BCM_NET_PHYLIB=m CONFIG_BROADCOM_PHY=m CONFIG_CICADA_PHY=m +CONFIG_CORTINA_PHY=m CONFIG_DAVICOM_PHY=m CONFIG_DP83848_PHY=m CONFIG_DP83867_PHY=m @@ -2806,6 +2827,7 @@ CONFIG_INTEL_XWAY_PHY=m CONFIG_LSI_ET1011C_PHY=m CONFIG_LXT_PHY=m CONFIG_MARVELL_PHY=m +CONFIG_MARVELL_10G_PHY=m CONFIG_MICREL_PHY=m CONFIG_MICROCHIP_PHY=m CONFIG_MICROSEMI_PHY=m @@ -2921,6 +2943,7 @@ CONFIG_WIL6210_ISR_COR=y CONFIG_WIL6210_TRACING=y CONFIG_ATH10K=m CONFIG_ATH10K_PCI=m +CONFIG_ATH10K_SDIO=m # CONFIG_ATH10K_DEBUG is not set # CONFIG_ATH10K_DEBUGFS is not set # CONFIG_ATH10K_TRACING is not set @@ -3122,6 +3145,8 @@ CONFIG_WLAN_VENDOR_ZYDAS=y CONFIG_USB_ZD1201=m CONFIG_ZD1211RW=m # CONFIG_ZD1211RW_DEBUG is not set +CONFIG_WLAN_VENDOR_QUANTENNA=y +# CONFIG_QTNFMAC_PEARL_PCIE is not set CONFIG_PCMCIA_RAYCS=m CONFIG_PCMCIA_WL3501=m CONFIG_MAC80211_HWSIM=m @@ -3298,6 +3323,7 @@ CONFIG_KEYBOARD_ADP5589=m CONFIG_KEYBOARD_ATKBD=y CONFIG_KEYBOARD_QT1070=m CONFIG_KEYBOARD_QT2160=m +CONFIG_KEYBOARD_DLINK_DIR685=m CONFIG_KEYBOARD_LKKBD=m CONFIG_KEYBOARD_GPIO=m CONFIG_KEYBOARD_GPIO_POLLED=m @@ -3472,6 +3498,7 @@ CONFIG_TOUCHSCREEN_RM_TS=m CONFIG_TOUCHSCREEN_SILEAD=m CONFIG_TOUCHSCREEN_SIS_I2C=m CONFIG_TOUCHSCREEN_ST1232=m +CONFIG_TOUCHSCREEN_STMFTS=m CONFIG_TOUCHSCREEN_SUR40=m CONFIG_TOUCHSCREEN_SURFACE3_SPI=m CONFIG_TOUCHSCREEN_SX8654=m @@ -3667,6 +3694,7 @@ CONFIG_HVC_XEN=y CONFIG_HVC_XEN_FRONTEND=y CONFIG_VIRTIO_CONSOLE=y CONFIG_IPMI_HANDLER=m +CONFIG_IPMI_DMI_DECODE=y CONFIG_IPMI_PANIC_EVENT=y CONFIG_IPMI_PANIC_STRING=y CONFIG_IPMI_DEVICE_INTERFACE=m @@ -3780,8 +3808,9 @@ CONFIG_I2C_SCMI=m # I2C system bus drivers (mostly embedded / system-on-chip) # CONFIG_I2C_CBUS_GPIO=m -CONFIG_I2C_DESIGNWARE_CORE=m -CONFIG_I2C_DESIGNWARE_PLATFORM=m +CONFIG_I2C_DESIGNWARE_CORE=y +CONFIG_I2C_DESIGNWARE_PLATFORM=y +# CONFIG_I2C_DESIGNWARE_SLAVE is not set CONFIG_I2C_DESIGNWARE_PCI=m CONFIG_I2C_DESIGNWARE_BAYTRAIL=y # CONFIG_I2C_EMEV2 is not set @@ -3849,6 +3878,7 @@ CONFIG_SPI_ZYNQMP_GQSPI=m CONFIG_SPI_SPIDEV=m # CONFIG_SPI_LOOPBACK_TEST is not set CONFIG_SPI_TLE62X0=m +# CONFIG_SPI_SLAVE is not set CONFIG_SPMI=m CONFIG_HSI=m CONFIG_HSI_BOARDINFO=y @@ -3899,11 +3929,13 @@ CONFIG_PINCONF=y CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_AMD=y +CONFIG_PINCTRL_MCP23S08=m CONFIG_PINCTRL_SX150X=y CONFIG_PINCTRL_BAYTRAIL=y CONFIG_PINCTRL_CHERRYVIEW=y CONFIG_PINCTRL_INTEL=m CONFIG_PINCTRL_BROXTON=m +CONFIG_PINCTRL_CANNONLAKE=m CONFIG_PINCTRL_GEMINILAKE=m CONFIG_PINCTRL_SUNRISEPOINT=m CONFIG_GPIOLIB=y @@ -3988,6 +4020,7 @@ CONFIG_GPIO_RDC321X=m CONFIG_GPIO_MAX7301=m CONFIG_GPIO_MC33880=m CONFIG_GPIO_PISOSR=m +CONFIG_GPIO_XRA1403=m # # SPI or I2C GPIO expanders @@ -4050,6 +4083,7 @@ CONFIG_BATTERY_SBS=m CONFIG_CHARGER_SBS=m CONFIG_BATTERY_BQ27XXX=m CONFIG_BATTERY_BQ27XXX_I2C=m +# CONFIG_BATTERY_BQ27XXX_DT_UPDATES_NVM is not set CONFIG_BATTERY_DA9030=m CONFIG_BATTERY_DA9052=m CONFIG_CHARGER_DA9150=m @@ -4071,6 +4105,7 @@ CONFIG_CHARGER_TWL4030=m CONFIG_CHARGER_LP8727=m CONFIG_CHARGER_LP8788=m CONFIG_CHARGER_GPIO=m +CONFIG_CHARGER_LTC3651=m CONFIG_CHARGER_MAX14577=m CONFIG_CHARGER_MAX77693=m CONFIG_CHARGER_BQ2415X=m @@ -4194,6 +4229,7 @@ CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m +CONFIG_SENSORS_IR35221=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m CONFIG_SENSORS_LTC3815=m @@ -4292,6 +4328,7 @@ CONFIG_GENERIC_ADC_THERMAL=m CONFIG_WATCHDOG=y CONFIG_WATCHDOG_CORE=y # CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y CONFIG_WATCHDOG_SYSFS=y # @@ -4440,6 +4477,7 @@ CONFIG_LPC_ICH=m CONFIG_LPC_SCH=m CONFIG_INTEL_SOC_PMIC=y CONFIG_INTEL_SOC_PMIC_BXTWC=m +CONFIG_INTEL_SOC_PMIC_CHTWC=m CONFIG_MFD_INTEL_LPSS=m CONFIG_MFD_INTEL_LPSS_ACPI=m CONFIG_MFD_INTEL_LPSS_PCI=m @@ -4546,6 +4584,7 @@ CONFIG_VIDEO_V4L2=m CONFIG_VIDEO_TUNER=m CONFIG_V4L2_MEM2MEM_DEV=m CONFIG_V4L2_FLASH_LED_CLASS=m +CONFIG_V4L2_FWNODE=m CONFIG_VIDEOBUF_GEN=m CONFIG_VIDEOBUF_DMA_SG=m CONFIG_VIDEOBUF_VMALLOC=m @@ -4859,6 +4898,7 @@ CONFIG_VIDEO_VIVID_MAX_DEVS=64 CONFIG_VIDEO_VIM2M=m CONFIG_DVB_PLATFORM_DRIVERS=y # CONFIG_CEC_PLATFORM_DRIVERS is not set +# CONFIG_SDR_PLATFORM_DRIVERS is not set # # Supported MMC/SDIO adapters @@ -5258,6 +5298,7 @@ CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_I915_WERROR is not set # CONFIG_DRM_I915_DEBUG is not set # CONFIG_DRM_I915_SW_FENCE_DEBUG_OBJECTS is not set +# CONFIG_DRM_I915_SW_FENCE_CHECK_DAG is not set # CONFIG_DRM_I915_SELFTEST is not set # CONFIG_DRM_I915_LOW_LEVEL_TRACEPOINTS is not set # CONFIG_DRM_I915_DEBUG_VBLANK_EVADE is not set @@ -5275,11 +5316,13 @@ CONFIG_DRM_QXL=m CONFIG_DRM_BOCHS=m CONFIG_DRM_VIRTIO_GPU=m CONFIG_DRM_PANEL=y +CONFIG_DRM_VBOXVIDEO=m # # Display Panels # CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y # # Display Interface Bridges @@ -5481,6 +5524,7 @@ CONFIG_SND_PCM_ELD=y CONFIG_SND_PCM_IEC958=y CONFIG_SND_DMAENGINE_PCM=m CONFIG_SND_HWDEP=m +CONFIG_SND_SEQ_DEVICE=m CONFIG_SND_RAWMIDI=m CONFIG_SND_COMPRESS_OFFLOAD=m CONFIG_SND_JACK=y @@ -5508,6 +5552,9 @@ CONFIG_SND_OPL3_LIB_SEQ=m # CONFIG_SND_OPL4_LIB_SEQ is not set # CONFIG_SND_SBAWE_SEQ is not set CONFIG_SND_EMU10K1_SEQ=m +CONFIG_SND_SEQ_MIDI=m +CONFIG_SND_SEQ_MIDI_EMUL=m +CONFIG_SND_SEQ_VIRMIDI=m CONFIG_SND_MPU401_UART=m CONFIG_SND_OPL3_LIB=m CONFIG_SND_VX_LIB=m @@ -5707,7 +5754,10 @@ CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_DA7213_MACH=m +CONFIG_SND_SOC_INTEL_BYT_CHT_ES8316_MACH=m CONFIG_SND_SOC_INTEL_BYT_CHT_NOCODEC_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH=m +CONFIG_SND_SOC_INTEL_KBL_RT5663_RT5514_MAX98927_MACH=m CONFIG_SND_SOC_INTEL_SKYLAKE=m CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH=m @@ -5759,6 +5809,7 @@ CONFIG_SND_SOC_DIO2125=m CONFIG_SND_SOC_DMIC=m CONFIG_SND_SOC_HDMI_CODEC=m CONFIG_SND_SOC_ES7134=m +CONFIG_SND_SOC_ES8316=m CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_ES8328_I2C=m CONFIG_SND_SOC_ES8328_SPI=m @@ -5839,6 +5890,7 @@ CONFIG_SND_SOC_WM8962=m CONFIG_SND_SOC_WM8974=m CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_WM8985=m +CONFIG_SND_SOC_ZX_AUD96P22=m CONFIG_SND_SOC_NAU8540=m CONFIG_SND_SOC_NAU8810=m CONFIG_SND_SOC_NAU8824=m @@ -5848,6 +5900,7 @@ CONFIG_SND_SIMPLE_CARD_UTILS=m CONFIG_SND_SIMPLE_CARD=m CONFIG_SND_X86=y CONFIG_HDMI_LPE_AUDIO=m +CONFIG_SND_SYNTH_EMUX=m # CONFIG_SOUND_PRIME is not set CONFIG_AC97_BUS=m @@ -5897,6 +5950,7 @@ CONFIG_HID_UCLOGIC=m CONFIG_HID_WALTOP=m CONFIG_HID_GYRATION=m CONFIG_HID_ICADE=m +CONFIG_HID_ITE=m CONFIG_HID_TWINHAN=m CONFIG_HID_KENSINGTON=m CONFIG_HID_LCPOWER=m @@ -5929,6 +5983,7 @@ CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m +CONFIG_HID_RETRODE=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m CONFIG_HID_SAMSUNG=m @@ -6273,6 +6328,7 @@ CONFIG_USB_F_ACM=m CONFIG_USB_F_SS_LB=m CONFIG_USB_U_SERIAL=m CONFIG_USB_U_ETHER=m +CONFIG_USB_U_AUDIO=m CONFIG_USB_F_SERIAL=m CONFIG_USB_F_OBEX=m CONFIG_USB_F_NCM=m @@ -6304,6 +6360,7 @@ CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y CONFIG_USB_CONFIGFS_F_UAC1=y +CONFIG_USB_CONFIGFS_F_UAC1_LEGACY=y CONFIG_USB_CONFIGFS_F_UAC2=y CONFIG_USB_CONFIGFS_F_MIDI=y CONFIG_USB_CONFIGFS_F_HID=y @@ -6313,6 +6370,7 @@ CONFIG_USB_CONFIGFS_F_TCM=y CONFIG_USB_ZERO=m CONFIG_USB_AUDIO=m CONFIG_GADGET_UAC1=y +# CONFIG_GADGET_UAC1_LEGACY is not set CONFIG_USB_ETH=m CONFIG_USB_ETH_RNDIS=y CONFIG_USB_ETH_EEM=y @@ -6341,6 +6399,8 @@ CONFIG_USB_G_WEBCAM=m # USB Power Delivery and Type-C drivers # CONFIG_TYPEC=m +CONFIG_TYPEC_UCSI=m +CONFIG_UCSI_ACPI=m CONFIG_USB_LED_TRIG=y CONFIG_USB_ULPI_BUS=m CONFIG_UWB=m @@ -6500,6 +6560,7 @@ CONFIG_RTC_HCTOSYS_DEVICE="rtc0" CONFIG_RTC_SYSTOHC=y CONFIG_RTC_SYSTOHC_DEVICE="rtc0" # CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y # # RTC interfaces @@ -6578,6 +6639,7 @@ CONFIG_RTC_I2C_AND_SPI=y # SPI and I2C RTC drivers # CONFIG_RTC_DRV_DS3232=m +CONFIG_RTC_DRV_DS3232_HWMON=y CONFIG_RTC_DRV_PCF2127=m CONFIG_RTC_DRV_RV3029C2=m CONFIG_RTC_DRV_RV3029_HWMON=y @@ -6618,6 +6680,7 @@ CONFIG_RTC_DRV_AB3100=m # # on-CPU RTC drivers # +CONFIG_RTC_DRV_FTRTC010=m CONFIG_RTC_DRV_PCAP=m CONFIG_RTC_DRV_MC13XXX=m CONFIG_RTC_DRV_MT6397=m @@ -6953,7 +7016,6 @@ CONFIG_AD5933=m # # Light sensors # -CONFIG_SENSORS_ISL29028=m CONFIG_TSL2x7x=m # @@ -7103,7 +7165,9 @@ CONFIG_ASUS_NB_WMI=m CONFIG_EEEPC_WMI=m CONFIG_ASUS_WIRELESS=m CONFIG_ACPI_WMI=m +CONFIG_WMI_BMOF=m CONFIG_MSI_WMI=m +CONFIG_PEAQ_WMI=m CONFIG_TOPSTAR_LAPTOP=m CONFIG_ACPI_TOSHIBA=m CONFIG_TOSHIBA_BT_RFKILL=m @@ -7111,6 +7175,7 @@ CONFIG_TOSHIBA_HAPS=m CONFIG_TOSHIBA_WMI=m CONFIG_ACPI_CMPC=m CONFIG_INTEL_CHT_INT33FE=m +CONFIG_INTEL_INT0002_VGPIO=m CONFIG_INTEL_HID_EVENT=m CONFIG_INTEL_VBTN=m CONFIG_INTEL_IPS=m @@ -7140,6 +7205,7 @@ CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m CONFIG_CROS_EC_CHARDEV=m CONFIG_CROS_EC_LPC=m +CONFIG_CROS_EC_LPC_MEC=y CONFIG_CROS_EC_PROTO=y CONFIG_CROS_KBD_LED_BACKLIGHT=m CONFIG_CLKDEV_LOOKUP=y @@ -7164,6 +7230,7 @@ CONFIG_COMMON_CLK_PWM=m # # Hardware Spinlock drivers # +CONFIG_HWSPINLOCK=m # # Clock Source drivers @@ -7203,6 +7270,8 @@ CONFIG_REMOTEPROC=m # # Rpmsg drivers # +CONFIG_RPMSG_QCOM_GLINK_RPM=m +CONFIG_RPMSG_CHAR=m # # SOC (System On Chip) specific Drivers @@ -7240,6 +7309,7 @@ CONFIG_EXTCON_ADC_JACK=m CONFIG_EXTCON_AXP288=m CONFIG_EXTCON_GPIO=m CONFIG_EXTCON_INTEL_INT3496=m +CONFIG_EXTCON_INTEL_CHT_WC=m CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX3355=m CONFIG_EXTCON_MAX77693=m @@ -7334,7 +7404,9 @@ CONFIG_QCOM_SPMI_IADC=m # CONFIG_QCOM_SPMI_VADC is not set CONFIG_TI_ADC081C=m CONFIG_TI_ADC0832=m +CONFIG_TI_ADC084S021=m CONFIG_TI_ADC12138=m +CONFIG_TI_ADC108S102=m CONFIG_TI_ADC128S052=m CONFIG_TI_ADC161S626=m CONFIG_TI_ADS1015=m @@ -7505,6 +7577,7 @@ CONFIG_CM36651=m CONFIG_IIO_CROS_EC_LIGHT_PROX=m CONFIG_GP2AP020A00F=m CONFIG_SENSORS_ISL29018=m +CONFIG_SENSORS_ISL29028=m CONFIG_ISL29125=m CONFIG_HID_SENSOR_ALS=m CONFIG_HID_SENSOR_PROX=m @@ -7617,6 +7690,7 @@ CONFIG_TSYS01=m CONFIG_TSYS02D=m CONFIG_NTB=m # CONFIG_NTB_AMD is not set +CONFIG_NTB_IDT=m CONFIG_NTB_INTEL=m CONFIG_NTB_PINGPONG=m CONFIG_NTB_TOOL=m @@ -7657,6 +7731,7 @@ CONFIG_ARM_GIC_MAX_NR=1 CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_ATH79 is not set # CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_GEMINI is not set # CONFIG_RESET_IMX7 is not set # CONFIG_RESET_LPC18XX is not set # CONFIG_RESET_MESON is not set @@ -7664,7 +7739,7 @@ CONFIG_RESET_CONTROLLER=y # CONFIG_RESET_SOCFPGA is not set # CONFIG_RESET_STM32 is not set # CONFIG_RESET_SUNXI is not set -CONFIG_TI_SYSCON_RESET=m +# CONFIG_RESET_TI_SYSCON is not set # CONFIG_RESET_ZYNQ is not set # CONFIG_RESET_TEGRA_BPMP is not set CONFIG_FMC=m @@ -7677,13 +7752,14 @@ CONFIG_FMC_CHARDEV=m # PHY Subsystem # CONFIG_GENERIC_PHY=y +CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_PXA_28NM_HSIC=m CONFIG_PHY_PXA_28NM_USB2=m -CONFIG_BCM_KONA_USB2_PHY=m CONFIG_PHY_SAMSUNG_USB2=m # CONFIG_PHY_EXYNOS4210_USB2 is not set # CONFIG_PHY_EXYNOS4X12_USB2 is not set # CONFIG_PHY_EXYNOS5250_USB2 is not set +CONFIG_PHY_CPCAP_USB=m CONFIG_PHY_QCOM_USB_HS=m CONFIG_PHY_QCOM_USB_HSIC=m CONFIG_PHY_TUSB1210=m @@ -7711,7 +7787,7 @@ CONFIG_ND_BTT=y CONFIG_BTT=y CONFIG_DAX=y CONFIG_DEV_DAX=m -CONFIG_NVMEM=m +CONFIG_NVMEM=y CONFIG_STM=m CONFIG_STM_DUMMY=m CONFIG_STM_SOURCE_CONSOLE=m @@ -7736,6 +7812,9 @@ CONFIG_ALTERA_PR_IP_CORE=m # FSI support # CONFIG_FSI=m +CONFIG_FSI_MASTER_GPIO=m +CONFIG_FSI_MASTER_HUB=m +CONFIG_FSI_SCOM=m # # Firmware Drivers @@ -7859,6 +7938,7 @@ CONFIG_FUSE_FS=y CONFIG_CUSE=m CONFIG_OVERLAY_FS=m # CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +# CONFIG_OVERLAY_FS_INDEX is not set # # Caches @@ -8064,6 +8144,7 @@ CONFIG_CIFS_POSIX=y CONFIG_CIFS_ACL=y CONFIG_CIFS_DEBUG=y # CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set CONFIG_CIFS_DFS_UPCALL=y CONFIG_CIFS_SMB2=y CONFIG_CIFS_SMB311=y @@ -8240,6 +8321,7 @@ CONFIG_SCHEDSTATS=y # CONFIG_LOCK_TORTURE_TEST is not set # CONFIG_WW_MUTEX_SELFTEST is not set CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set # CONFIG_DEBUG_KOBJECT is not set CONFIG_DEBUG_BUGVERBOSE=y # CONFIG_DEBUG_LIST is not set @@ -8309,7 +8391,7 @@ CONFIG_HIST_TRIGGERS=y # CONFIG_TRACEPOINT_BENCHMARK is not set # CONFIG_RING_BUFFER_BENCHMARK is not set # CONFIG_RING_BUFFER_STARTUP_TEST is not set -# CONFIG_TRACE_ENUM_MAP_FILE is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set CONFIG_TRACING_EVENTS_GPIO=y # @@ -8340,10 +8422,12 @@ CONFIG_INTERVAL_TREE_TEST=m # CONFIG_TEST_USER_COPY is not set # CONFIG_TEST_BPF is not set # CONFIG_TEST_FIRMWARE is not set +# CONFIG_TEST_SYSCTL is not set # CONFIG_TEST_UDELAY is not set CONFIG_MEMTEST=y CONFIG_TEST_STATIC_KEYS=m # CONFIG_BUG_ON_DATA_CORRUPTION is not set +# CONFIG_TEST_KMOD is not set # CONFIG_SAMPLES is not set CONFIG_KGDB=y CONFIG_KGDB_SERIAL_CONSOLE=y @@ -8399,14 +8483,17 @@ CONFIG_ENCRYPTED_KEYS=y # CONFIG_KEY_DH_OPERATIONS is not set # CONFIG_SECURITY_DMESG_RESTRICT is not set CONFIG_SECURITY=y +# CONFIG_SECURITY_WRITABLE_HOOKS is not set CONFIG_SECURITYFS=y CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_INFINIBAND is not set CONFIG_SECURITY_NETWORK_XFRM=y CONFIG_SECURITY_PATH=y CONFIG_INTEL_TXT=y CONFIG_LSM_MMAP_MIN_ADDR=65536 CONFIG_HARDENED_USERCOPY=y # CONFIG_HARDENED_USERCOPY_PAGESPAN is not set +# CONFIG_FORTIFY_SOURCE is not set # CONFIG_STATIC_USERMODEHELPER is not set CONFIG_SECURITY_SELINUX=y CONFIG_SECURITY_SELINUX_BOOTPARAM=y @@ -8633,6 +8720,7 @@ CONFIG_CRYPTO_DEV_QAT_DH895xCC=m CONFIG_CRYPTO_DEV_QAT_DH895xCCVF=m # CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set # CONFIG_CRYPTO_DEV_QAT_C62XVF is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set CONFIG_CRYPTO_DEV_CHELSIO=m CONFIG_CRYPTO_DEV_VIRTIO=m CONFIG_ASYMMETRIC_KEY_TYPE=y @@ -8687,6 +8775,7 @@ CONFIG_CRC32_SLICEBY8=y # CONFIG_CRC32_SLICEBY4 is not set # CONFIG_CRC32_SARWATE is not set # CONFIG_CRC32_BIT is not set +CONFIG_CRC4=m CONFIG_CRC7=m CONFIG_LIBCRC32C=y CONFIG_CRC8=m diff --git a/kernel.spec b/kernel.spec index 19cb602..1caf711 100644 --- a/kernel.spec +++ b/kernel.spec @@ -1,7 +1,7 @@ %define kernelversion 4 -%define patchlevel 12 +%define patchlevel 13 # sublevel is now used for -stable patches -%define sublevel 10 +%define sublevel 1 # Release number. Increase this before a rebuild. %define rpmrel 1 diff --git a/linux-4.12.tar.sign b/linux-4.12.tar.sign deleted file mode 100644 index 04d1393..0000000 --- a/linux-4.12.tar.sign +++ /dev/null @@ -1,10 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQEcBAABAgAGBQJZWYAgAAoJEHm+PkMAQRiGMeQH/2qxxgnUkkbgST1WWAlWVENU -nXU9p+1bO4uF5xXvTyATXKcc8jfUfZ60GBUGvYVIpQWuivaRVBFgIZNzl8kn5J6V -uSX7x9AfzVzo6YSTCrXZvsCf1gImkTCVE3pWLPzALjiXC4esx+1p85GjJ3jWym6i -Mx6yErG9L9StDnUVqKLBDHPXM6N04uShzLSaxh93opFrxNx8YhROGln5KjJ6KRKS -hv85x/kmgS7sQTxKK2LH/2NJefqBc3rviFVe/pPEy8GAc1KpsLerDWazlac5/gxt -CkTwzAHtLOpi2QhGD2oKrR0nvUFAlIOtU1Q5HdwstFMOwfStsYfsEPF4bhzU9c4= -=dZzI ------END PGP SIGNATURE----- diff --git a/linux-4.13.tar.sign b/linux-4.13.tar.sign new file mode 100644 index 0000000..d47547e --- /dev/null +++ b/linux-4.13.tar.sign @@ -0,0 +1,10 @@ +-----BEGIN PGP SIGNATURE----- + +iQEcBAABAgAGBQJZrG88AAoJEHm+PkMAQRiGDBoH/1hZ0gKRYn/tv0tJgqJrZqSx +V/gYr4PUaOuvsimHeAF0xaCld6gPdZfCxIMQgIGoI3GHisrIOnZVUsTXeSl8Vdmx +FZK7sM/17wJ1hiuS4CHqtlZLCUeJhoqA2dw5ysCRjym/aXoMrsrWyZawg6cfX9XQ +61BEd6l3v1dwtYYfLV+1SDqroaYhOyYmuEB6ZCI+oAbMliI7urTf+HQ/BNMfAX5p +Yw2YnkgGK1X3Rgjc1Pgk1wPuNe4DojtnLwXWKaDokm/qekS8QTkaBCBlChOKoRsn +4t1G+e06wwijD8pnjR8MjH3ZuvBcTIU0wGWKmm47P0hpMZX6iWE9roA7ClDb2vk= +=WhLr +-----END PGP SIGNATURE----- diff --git a/patch-4.12.10.sign b/patch-4.12.10.sign deleted file mode 100644 index 3936b75..0000000 --- a/patch-4.12.10.sign +++ /dev/null @@ -1,16 +0,0 @@ ------BEGIN PGP SIGNATURE----- - -iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlmmeC8ACgkQONu9yGCS -aT5PbhAArG9AJgB+6vx+1+SMtDc601qnM5gDudvbb87rvqW5QaeqA92o9cuylHXx -bUk5lIWEiAnwMl2bojEA2yRjWxTdUHbcvpQQz0X2qhAecSBwsnBtzxuB3XYF/rXL -cNkNmq3lbrPzpFDBkAEuqoot4mdRDN+ZOyVchpQ3Hg3J3jjKpmtURdjHcw9Yz22e -FXmz4BAs9pHS/ypq8LVjM2fNQsQpOYOG7ShnpkOXPmW6Uu0h10IQoQryRlRXElwm -4A6+yfZuidk2A2Ntt0EV6Ni67yM3/rrZYSCb22O1+/VoVgXmfWsRBKfqaMoF1MWY -7Q0zey+dQWRF3XX6xOZCLjsN04qlfeDW1lst3GetEbLf7XLkGj4aIhOfXwVeA1Pj -i+U6Ke3IseMoz8KRnXDnug+ntc8AM7Mu5JnNMsNg0RVKPuvgjtok9CyvzVwts1vr -Y6F9xcuhc8s8PewhZHOfhtJf9rbXW7RRFDtjD5hwyXdxohmvtN5VMW//hrlPOb5E -PAihYZcvHPmhG7qSmx1MzM+0shKfwJtu41CLhMrxQOylbqevLRfWYEv024T1k2nh -TmCzaHAzX8osAcaS2r+hVVx/lOdI/IJOtt3A1x08NUnKS9Eh/sTftxMNbORX7lUm -Yfln4csX8IL9UbEX+9v0DLF0tE1yCESH4V4VGXqthrAuFKwDZJc= -=LTwm ------END PGP SIGNATURE----- diff --git a/patch-4.13.1.sign b/patch-4.13.1.sign new file mode 100644 index 0000000..60783f7 --- /dev/null +++ b/patch-4.13.1.sign @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEZH8oZUiU471FcZm+ONu9yGCSaT4FAlm00agACgkQONu9yGCS +aT7lqg//Vzy/fC7/5WhSg1dppbzJkwiZ5lhgeYARw2gRAHjb3FMnBELXkDFK721f +lo526z4UXlWUDyUb9NHjbt2BzZ1ys/rdB89rEsKZwdnyZL7x0301+klEV9M/tkeW +0sD7ef2G1UviLIV/sIqKnl1vFF7saUSf6Q72zUzJ0aUt2zSg6lpx2yPTKi2e4S/W +GG0s8lCZPpe2P01djynjGxyoH87uyDEM24uzNDx/SkswkL1ydycUwchrQHPv5hmv +JDupzxez6SMo3F2AFQFy5FhhfopkkKgVlCCNJKLsKgqGwJJsBFDF3wlWgIc55fNJ +BFmMaWEVZ6vXrjw98PJyAfXR3nCuZpTDOVHueOpAXAXO7ib/ysP0zfgCb7MlY5+a +2IiYR1IDZ0c9IvGj9caQ/ony5QOxjlHj5sAEkU39aTITxd0GH6Tq5KOAJxvGP7RY +EzVesQO96T5uEvVkCkAxrJL5r3GOHVoTBeryX3kdbo3WMzOlPOP3wG5UBbi0fcUh +ORhIZIjPr75rwyvxuDWXusRrjSEK8tMvXK3LYQMLpP6BNNG/EteIdRDRJ/JDGTJn +Kkv6V3qPfJmyGfmwaFNanqWDG3HK8PprQ9mPLxiylAznWUFo4gfZyJNk6G6wpx1q +Vfv8alzI+Eb6J2GYz5H2tUuyaMJK0MWsk0cgLa5/E+/zL+bkfEU= +=Iq8o +-----END PGP SIGNATURE----- diff --git a/sanitize-memory.patch b/sanitize-memory.patch index d19ba88..a6f3d09 100644 --- a/sanitize-memory.patch +++ b/sanitize-memory.patch @@ -1,8 +1,8 @@ diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentation/admin-guide/kernel-parameters.txt -index 7737ab5d04b2..f4a031d8cb37 100644 +index f8ce2089146c..f2bc10404fb5 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt -@@ -2826,6 +2826,10 @@ +@@ -2878,6 +2878,10 @@ the specified number of seconds. This is to be used if your oopses keep scrolling off the screen. @@ -14,10 +14,10 @@ index 7737ab5d04b2..f4a031d8cb37 100644 pcd. [PARIDE] diff --git a/fs/buffer.c b/fs/buffer.c -index 161be58c5cb0..9dbaa32ec7d5 100644 +index 5715dac7821f..2bf48d430e4b 100644 --- a/fs/buffer.c +++ b/fs/buffer.c -@@ -3500,7 +3500,7 @@ void __init buffer_init(void) +@@ -3620,7 +3620,7 @@ void __init buffer_init(void) bh_cachep = kmem_cache_create("buffer_head", sizeof(struct buffer_head), 0, (SLAB_RECLAIM_ACCOUNT|SLAB_PANIC| @@ -27,10 +27,10 @@ index 161be58c5cb0..9dbaa32ec7d5 100644 /* diff --git a/fs/dcache.c b/fs/dcache.c -index 5fd25bba1282..b7121d7442f0 100644 +index 3203470c59c2..a6facbd5ab80 100644 --- a/fs/dcache.c +++ b/fs/dcache.c -@@ -3617,7 +3617,8 @@ void __init vfs_caches_init_early(void) +@@ -3644,7 +3644,8 @@ void __init vfs_caches_init_early(void) void __init vfs_caches_init(void) { names_cachep = kmem_cache_create("names_cache", PATH_MAX, 0, @@ -41,7 +41,7 @@ index 5fd25bba1282..b7121d7442f0 100644 dcache_init(); inode_init(); diff --git a/include/linux/slab.h b/include/linux/slab.h -index 04a7f7993e67..fd08756a7869 100644 +index 41473df6dfb0..cd59ae945f19 100644 --- a/include/linux/slab.h +++ b/include/linux/slab.h @@ -23,6 +23,13 @@ @@ -59,10 +59,10 @@ index 04a7f7993e67..fd08756a7869 100644 #define SLAB_CACHE_DMA 0x00004000UL /* Use GFP_DMA memory */ #define SLAB_STORE_USER 0x00010000UL /* DEBUG: Store the last owner for bug hunting */ diff --git a/kernel/fork.c b/kernel/fork.c -index cdf75164aa25..0302999e1270 100644 +index 9ee3c7cc9850..be8222fd2ed9 100644 --- a/kernel/fork.c +++ b/kernel/fork.c -@@ -2212,7 +2212,7 @@ void __init proc_caches_init(void) +@@ -2228,7 +2228,7 @@ void __init proc_caches_init(void) sizeof(struct mm_struct), ARCH_MIN_MMSTRUCT_ALIGN, SLAB_HWCACHE_ALIGN|SLAB_PANIC|SLAB_NOTRACK|SLAB_ACCOUNT, NULL); @@ -72,7 +72,7 @@ index cdf75164aa25..0302999e1270 100644 nsproxy_cache_init(); } diff --git a/mm/rmap.c b/mm/rmap.c -index d405f0e0ee96..fc37f2d91905 100644 +index c570f82e6827..513beb423b95 100644 --- a/mm/rmap.c +++ b/mm/rmap.c @@ -430,10 +430,10 @@ static void anon_vma_ctor(void *data) @@ -89,10 +89,10 @@ index d405f0e0ee96..fc37f2d91905 100644 /* diff --git a/mm/slab.c b/mm/slab.c -index 2a31ee3c5814..f11da46c2722 100644 +index 04dec48c3ed7..7d8855264cee 100644 --- a/mm/slab.c +++ b/mm/slab.c -@@ -3520,6 +3520,17 @@ void ___cache_free(struct kmem_cache *cachep, void *objp, +@@ -3512,6 +3512,17 @@ void ___cache_free(struct kmem_cache *cachep, void *objp, struct array_cache *ac = cpu_cache_get(cachep); check_irq_off(); @@ -111,7 +111,7 @@ index 2a31ee3c5814..f11da46c2722 100644 objp = cache_free_debugcheck(cachep, objp, caller); diff --git a/mm/slab.h b/mm/slab.h -index 9cfcf099709c..130e9e250738 100644 +index 6885e1192ec5..1b12bf41d45f 100644 --- a/mm/slab.h +++ b/mm/slab.h @@ -77,6 +77,15 @@ extern const struct kmalloc_info_struct { @@ -131,22 +131,22 @@ index 9cfcf099709c..130e9e250738 100644 unsigned long align, unsigned long size); diff --git a/mm/slab_common.c b/mm/slab_common.c -index 01a0fe2eb332..794220498bf5 100644 +index 904a83be82de..9128ed200740 100644 --- a/mm/slab_common.c +++ b/mm/slab_common.c -@@ -49,7 +49,11 @@ static DECLARE_WORK(slab_caches_to_rcu_destroy_work, +@@ -48,7 +48,11 @@ static DECLARE_WORK(slab_caches_to_rcu_destroy_work, + /* * Merge control. If this is set then no merging of slab caches will occur. - * (Could be removed. This was introduced to pacify the merge skeptics.) */ +#ifdef CONFIG_PAX_MEMORY_SANITIZE -+static int slab_nomerge = 1; ++static bool slab_nomerge = true; +#else - static int slab_nomerge; + static bool slab_nomerge = !IS_ENABLED(CONFIG_SLAB_MERGE_DEFAULT); +#endif static int __init setup_slab_nomerge(char *str) { -@@ -72,6 +76,20 @@ unsigned int kmem_cache_size(struct kmem_cache *s) +@@ -71,6 +75,20 @@ unsigned int kmem_cache_size(struct kmem_cache *s) } EXPORT_SYMBOL(kmem_cache_size); @@ -167,7 +167,7 @@ index 01a0fe2eb332..794220498bf5 100644 #ifdef CONFIG_DEBUG_VM static int kmem_cache_sanity_check(const char *name, size_t size) { -@@ -264,7 +282,11 @@ static inline void memcg_unlink_cache(struct kmem_cache *s) +@@ -263,7 +281,11 @@ static inline void memcg_unlink_cache(struct kmem_cache *s) */ int slab_unmergeable(struct kmem_cache *s) { @@ -180,7 +180,7 @@ index 01a0fe2eb332..794220498bf5 100644 return 1; if (!is_root_cache(s)) -@@ -287,7 +309,11 @@ struct kmem_cache *find_mergeable(size_t size, size_t align, +@@ -286,7 +308,11 @@ struct kmem_cache *find_mergeable(size_t size, size_t align, { struct kmem_cache *s; @@ -193,7 +193,7 @@ index 01a0fe2eb332..794220498bf5 100644 return NULL; if (ctor) -@@ -454,6 +480,11 @@ kmem_cache_create(const char *name, size_t size, size_t align, +@@ -453,6 +479,11 @@ kmem_cache_create(const char *name, size_t size, size_t align, */ flags &= CACHE_CREATE_MASK; @@ -222,10 +222,10 @@ index 1bae78d71096..a76c903104c9 100644 /* This slob page is about to become partially free. Easy! */ sp->units = units; diff --git a/mm/slub.c b/mm/slub.c -index 8addc535bcdc..8932b7d6d324 100644 +index e8b4e31162ca..4eadfbb4ec40 100644 --- a/mm/slub.c +++ b/mm/slub.c -@@ -2959,6 +2959,23 @@ static __always_inline void slab_free(struct kmem_cache *s, struct page *page, +@@ -2953,6 +2953,23 @@ static __always_inline void slab_free(struct kmem_cache *s, struct page *page, unsigned long addr) { slab_free_freelist_hook(s, head, tail); @@ -249,21 +249,21 @@ index 8addc535bcdc..8932b7d6d324 100644 /* * slab_free_freelist_hook() could have put the items into quarantine. * If so, no need to free them. -@@ -3456,6 +3473,9 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order) +@@ -3483,6 +3500,9 @@ static int calculate_sizes(struct kmem_cache *s, int forced_order) s->inuse = size; if (((flags & (SLAB_TYPESAFE_BY_RCU | SLAB_POISON)) || +#ifdef CONFIG_PAX_MEMORY_SANITIZE -+ (pax_sanitize_slab && !(flags & SLAB_NO_SANITIZE)) || ++ (pax_sanitize_slab && !(flags & SLAB_NO_SANITIZE)) || +#endif s->ctor)) { /* * Relocate free pointer after the object if it is not diff --git a/net/core/skbuff.c b/net/core/skbuff.c -index b1be7c01efe2..167c2c1123f5 100644 +index e07556606284..65666fa3e1c8 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c -@@ -3473,12 +3473,14 @@ void __init skb_init(void) +@@ -3512,12 +3512,14 @@ void __init skb_init(void) skbuff_head_cache = kmem_cache_create("skbuff_head_cache", sizeof(struct sk_buff), 0, @@ -281,7 +281,7 @@ index b1be7c01efe2..167c2c1123f5 100644 } diff --git a/security/Kconfig b/security/Kconfig -index 93027fdf47d1..95f02d5134b4 100644 +index 7d0038156c66..3926ec3bc8b9 100644 --- a/security/Kconfig +++ b/security/Kconfig @@ -6,6 +6,37 @@ menu "Security options"