diff --git a/patches/kernel/0015-module-retpoline-Warn-about-missing-retpoline-in-mod.patch b/patches/kernel/0015-module-retpoline-Warn-about-missing-retpoline-in-mod.patch index 27fffe4..ace11c2 100644 --- a/patches/kernel/0015-module-retpoline-Warn-about-missing-retpoline-in-mod.patch +++ b/patches/kernel/0015-module-retpoline-Warn-about-missing-retpoline-in-mod.patch @@ -34,32 +34,12 @@ Conflicts: context changes Signed-off-by: Fabian Grünbichler --- - include/linux/module.h | 9 +++++++++ arch/x86/kernel/cpu/bugs.c | 19 +++++++++++++++++-- + include/linux/module.h | 9 +++++++++ kernel/module.c | 11 +++++++++++ scripts/mod/modpost.c | 9 +++++++++ 4 files changed, 46 insertions(+), 2 deletions(-) -diff --git a/include/linux/module.h b/include/linux/module.h -index e7bdd549e527..c4fdf7661f82 100644 ---- a/include/linux/module.h -+++ b/include/linux/module.h -@@ -794,6 +794,15 @@ static inline void module_bug_finalize(const Elf_Ehdr *hdr, - static inline void module_bug_cleanup(struct module *mod) {} - #endif /* CONFIG_GENERIC_BUG */ - -+#ifdef RETPOLINE -+extern bool retpoline_module_ok(bool has_retpoline); -+#else -+static inline bool retpoline_module_ok(bool has_retpoline) -+{ -+ return true; -+} -+#endif -+ - #ifdef CONFIG_MODULE_SIG - static inline bool module_sig_ok(struct module *module) - { diff --git a/arch/x86/kernel/cpu/bugs.c b/arch/x86/kernel/cpu/bugs.c index d5bafcdb4891..e623bd731a74 100644 --- a/arch/x86/kernel/cpu/bugs.c @@ -103,6 +83,26 @@ index d5bafcdb4891..e623bd731a74 100644 + spectre_v2_bad_module ? " - vulnerable module loaded" : ""); } #endif +diff --git a/include/linux/module.h b/include/linux/module.h +index e7bdd549e527..c4fdf7661f82 100644 +--- a/include/linux/module.h ++++ b/include/linux/module.h +@@ -794,6 +794,15 @@ static inline void module_bug_finalize(const Elf_Ehdr *hdr, + static inline void module_bug_cleanup(struct module *mod) {} + #endif /* CONFIG_GENERIC_BUG */ + ++#ifdef RETPOLINE ++extern bool retpoline_module_ok(bool has_retpoline); ++#else ++static inline bool retpoline_module_ok(bool has_retpoline) ++{ ++ return true; ++} ++#endif ++ + #ifdef CONFIG_MODULE_SIG + static inline bool module_sig_ok(struct module *module) + { diff --git a/kernel/module.c b/kernel/module.c index e5b878b26906..de7db074f793 100644 --- a/kernel/module.c diff --git a/patches/kernel/0021-ocfs2-try-to-reuse-extent-block-in-dealloc-without-m.patch b/patches/kernel/0021-ocfs2-try-to-reuse-extent-block-in-dealloc-without-m.patch index 15e3488..ea69794 100644 --- a/patches/kernel/0021-ocfs2-try-to-reuse-extent-block-in-dealloc-without-m.patch +++ b/patches/kernel/0021-ocfs2-try-to-reuse-extent-block-in-dealloc-without-m.patch @@ -66,23 +66,11 @@ Signed-off-by: Linus Torvalds (cherry picked from commit 71a36944042b7d9dd71f6a5d1c5ea1c2353b5d42) Signed-off-by: Fabian Grünbichler --- - fs/ocfs2/alloc.h | 1 + fs/ocfs2/alloc.c | 206 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- + fs/ocfs2/alloc.h | 1 + fs/ocfs2/aops.c | 6 ++ 3 files changed, 203 insertions(+), 10 deletions(-) -diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h -index 4a5152ec88a3..571692171dd1 100644 ---- a/fs/ocfs2/alloc.h -+++ b/fs/ocfs2/alloc.h -@@ -61,6 +61,7 @@ struct ocfs2_extent_tree { - ocfs2_journal_access_func et_root_journal_access; - void *et_object; - unsigned int et_max_leaf_clusters; -+ struct ocfs2_cached_dealloc_ctxt *et_dealloc; - }; - - /* diff --git a/fs/ocfs2/alloc.c b/fs/ocfs2/alloc.c index 386aecce881d..9b5e7d8ba710 100644 --- a/fs/ocfs2/alloc.c @@ -348,6 +336,18 @@ index 386aecce881d..9b5e7d8ba710 100644 int ocfs2_cache_block_dealloc(struct ocfs2_cached_dealloc_ctxt *ctxt, int type, int slot, u64 suballoc, u64 blkno, unsigned int bit) +diff --git a/fs/ocfs2/alloc.h b/fs/ocfs2/alloc.h +index 4a5152ec88a3..571692171dd1 100644 +--- a/fs/ocfs2/alloc.h ++++ b/fs/ocfs2/alloc.h +@@ -61,6 +61,7 @@ struct ocfs2_extent_tree { + ocfs2_journal_access_func et_root_journal_access; + void *et_object; + unsigned int et_max_leaf_clusters; ++ struct ocfs2_cached_dealloc_ctxt *et_dealloc; + }; + + /* diff --git a/fs/ocfs2/aops.c b/fs/ocfs2/aops.c index 77ec9b495027..2ff02dda97d8 100644 --- a/fs/ocfs2/aops.c diff --git a/patches/kernel/0025-net-fix-deadlock-while-clearing-neighbor-proxy-table.patch b/patches/kernel/0025-net-fix-deadlock-while-clearing-neighbor-proxy-table.patch index a7e0ff2..9f3820d 100644 --- a/patches/kernel/0025-net-fix-deadlock-while-clearing-neighbor-proxy-table.patch +++ b/patches/kernel/0025-net-fix-deadlock-while-clearing-neighbor-proxy-table.patch @@ -1,7 +1,7 @@ From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Mon, 9 Apr 2018 14:56:29 +0200 -Subject: [PATCH linux] net: fix deadlock while clearing neighbor proxy table +Subject: [PATCH] net: fix deadlock while clearing neighbor proxy table When coming from ndisc_netdev_event() in net/ipv6/ndisc.c, neigh_ifdown() is called with &nd_tbl, locking this while @@ -25,10 +25,10 @@ Signed-off-by: Wolfgang Bumiller 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/net/core/neighbour.c b/net/core/neighbour.c -index 7b7a14abba28..e22d2aefbd78 100644 +index d0713627deb6..3b495739bf65 100644 --- a/net/core/neighbour.c +++ b/net/core/neighbour.c -@@ -55,7 +55,8 @@ static void neigh_timer_handler(struct timer_list *t); +@@ -55,7 +55,8 @@ static void neigh_timer_handler(unsigned long arg); static void __neigh_notify(struct neighbour *n, int type, int flags, u32 pid); static void neigh_update_notify(struct neighbour *neigh, u32 nlmsg_pid); @@ -91,5 +91,5 @@ index 7b7a14abba28..e22d2aefbd78 100644 } -- -2.11.0 +2.14.2