From: Greg Kroah-Hartman Date: Wed, 27 Nov 2019 07:59:16 +0000 (+0100) Subject: 4.19-stable patches X-Git-Tag: v4.4.204~55 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b9c1221392439557f1b2686e8cb6239cdd243d59;p=thirdparty%2Fkernel%2Fstable-queue.git 4.19-stable patches added patches: arm-8904-1-skip-nomap-memblocks-while-finding-the-lowmem-highmem-boundary.patch ocfs2-remove-ocfs2_is_o2cb_active.patch --- diff --git a/queue-4.19/arm-8904-1-skip-nomap-memblocks-while-finding-the-lowmem-highmem-boundary.patch b/queue-4.19/arm-8904-1-skip-nomap-memblocks-while-finding-the-lowmem-highmem-boundary.patch new file mode 100644 index 00000000000..ab6e02de695 --- /dev/null +++ b/queue-4.19/arm-8904-1-skip-nomap-memblocks-while-finding-the-lowmem-highmem-boundary.patch @@ -0,0 +1,36 @@ +From 1d31999cf04c21709f72ceb17e65b54a401330da Mon Sep 17 00:00:00 2001 +From: Chester Lin +Date: Fri, 30 Aug 2019 14:30:07 +0100 +Subject: ARM: 8904/1: skip nomap memblocks while finding the lowmem/highmem boundary + +From: Chester Lin + +commit 1d31999cf04c21709f72ceb17e65b54a401330da upstream. + +adjust_lowmem_bounds() checks every memblocks in order to find the boundary +between lowmem and highmem. However some memblocks could be marked as NOMAP +so they are not used by kernel, which should be skipped while calculating +the boundary. + +Signed-off-by: Chester Lin +Reviewed-by: Mike Rapoport +Signed-off-by: Russell King +Signed-off-by: Lee Jones +Signed-off-by: Greg Kroah-Hartman + +--- + arch/arm/mm/mmu.c | 3 +++ + 1 file changed, 3 insertions(+) + +--- a/arch/arm/mm/mmu.c ++++ b/arch/arm/mm/mmu.c +@@ -1195,6 +1195,9 @@ void __init adjust_lowmem_bounds(void) + phys_addr_t block_start = reg->base; + phys_addr_t block_end = reg->base + reg->size; + ++ if (memblock_is_nomap(reg)) ++ continue; ++ + if (reg->base < vmalloc_limit) { + if (block_end > lowmem_limit) + /* diff --git a/queue-4.19/ocfs2-remove-ocfs2_is_o2cb_active.patch b/queue-4.19/ocfs2-remove-ocfs2_is_o2cb_active.patch new file mode 100644 index 00000000000..1d8d5d4335c --- /dev/null +++ b/queue-4.19/ocfs2-remove-ocfs2_is_o2cb_active.patch @@ -0,0 +1,74 @@ +From a634644751c46238df58bbfe992e30c1668388db Mon Sep 17 00:00:00 2001 +From: Gang He +Date: Fri, 2 Nov 2018 15:48:03 -0700 +Subject: ocfs2: remove ocfs2_is_o2cb_active() + +From: Gang He + +commit a634644751c46238df58bbfe992e30c1668388db upstream. + +Remove ocfs2_is_o2cb_active(). We have similar functions to identify +which cluster stack is being used via osb->osb_cluster_stack. + +Secondly, the current implementation of ocfs2_is_o2cb_active() is not +totally safe. Based on the design of stackglue, we need to get +ocfs2_stack_lock before using ocfs2_stack related data structures, and +that active_stack pointer can be NULL in the case of mount failure. + +Link: http://lkml.kernel.org/r/1495441079-11708-1-git-send-email-ghe@suse.com +Signed-off-by: Gang He +Reviewed-by: Joseph Qi +Reviewed-by: Eric Ren +Acked-by: Changwei Ge +Cc: Mark Fasheh +Cc: Joel Becker +Cc: Junxiao Bi +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Lee Jones +Signed-off-by: Greg Kroah-Hartman + +--- + fs/ocfs2/dlmglue.c | 2 +- + fs/ocfs2/stackglue.c | 6 ------ + fs/ocfs2/stackglue.h | 3 --- + 3 files changed, 1 insertion(+), 10 deletions(-) + +--- a/fs/ocfs2/dlmglue.c ++++ b/fs/ocfs2/dlmglue.c +@@ -3603,7 +3603,7 @@ static int ocfs2_downconvert_lock(struct + * we can recover correctly from node failure. Otherwise, we may get + * invalid LVB in LKB, but without DLM_SBF_VALNOTVALID being set. + */ +- if (!ocfs2_is_o2cb_active() && ++ if (ocfs2_userspace_stack(osb) && + lockres->l_ops->flags & LOCK_TYPE_USES_LVB) + lvb = 1; + +--- a/fs/ocfs2/stackglue.c ++++ b/fs/ocfs2/stackglue.c +@@ -48,12 +48,6 @@ static char ocfs2_hb_ctl_path[OCFS2_MAX_ + */ + static struct ocfs2_stack_plugin *active_stack; + +-inline int ocfs2_is_o2cb_active(void) +-{ +- return !strcmp(active_stack->sp_name, OCFS2_STACK_PLUGIN_O2CB); +-} +-EXPORT_SYMBOL_GPL(ocfs2_is_o2cb_active); +- + static struct ocfs2_stack_plugin *ocfs2_stack_lookup(const char *name) + { + struct ocfs2_stack_plugin *p; +--- a/fs/ocfs2/stackglue.h ++++ b/fs/ocfs2/stackglue.h +@@ -298,9 +298,6 @@ void ocfs2_stack_glue_set_max_proto_vers + int ocfs2_stack_glue_register(struct ocfs2_stack_plugin *plugin); + void ocfs2_stack_glue_unregister(struct ocfs2_stack_plugin *plugin); + +-/* In ocfs2_downconvert_lock(), we need to know which stack we are using */ +-int ocfs2_is_o2cb_active(void); +- + extern struct kset *ocfs2_kset; + + #endif /* STACKGLUE_H */ diff --git a/queue-4.19/series b/queue-4.19/series index 1d2918b64bd..4fe9a8676c1 100644 --- a/queue-4.19/series +++ b/queue-4.19/series @@ -261,3 +261,5 @@ md-raid10-prevent-access-of-uninitialized-resync_pages-offset.patch mm-memory_hotplug-don-t-access-uninitialized-memmaps-in-shrink_zone_span.patch net-phy-dp83867-fix-speed-10-in-sgmii-mode.patch net-phy-dp83867-increase-sgmii-autoneg-timer-duration.patch +ocfs2-remove-ocfs2_is_o2cb_active.patch +arm-8904-1-skip-nomap-memblocks-while-finding-the-lowmem-highmem-boundary.patch