Skip to contentSkip to conversation

FAILED: patch "[PATCH] mm/memory-failure.c: don't access uninitialized memmaps in" failed to apply to 4.14-stable tree

PATCH [email protected] 3 participants 4 messages Oct 27, 2019 – Oct 28, 2019

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer
#0 lore raw

The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 96c804a6ae8c59a9092b3d5dd581198472063184 Mon Sep 17 00:00:00 2001
From: David Hildenbrand <[email protected]>
Date: Fri, 18 Oct 2019 20:19:23 -0700
Subject: [PATCH] mm/memory-failure.c: don't access uninitialized memmaps in
memory_failure()

We should check for pfn_to_online_page() to not access uninitialized memmaps. Reshuffle the code so we don't have to duplicate the error message.

Fixes f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to zones until online") [visible after d0dc12e86b319]
Cc Michal Hocko <[email protected]>
Cc <[email protected]> [4.13+]
mm/memory-failure.c +8 -6
index 0ae72b6acee7..3151c87dff73 100644
@@ -1257,17 +1257,19 @@ int memory_failure(unsigned long pfn, int flags)
 	if (!sysctl_memory_failure_recovery)
 		panic("Memory failure on page %lx", pfn);
 
-	if (!pfn_valid(pfn)) {
+	p = pfn_to_online_page(pfn);
+	if (!p) {
+		if (pfn_valid(pfn)) {
+			pgmap = get_dev_pagemap(pfn, NULL);
+			if (pgmap)
+				return memory_failure_dev_pagemap(pfn, flags,
+								  pgmap);
+		}
 		pr_err("Memory failure: %#lx: memory outside kernel control\n",
 			pfn);
 		return -ENXIO;
 	}
 
-	pgmap = get_dev_pagemap(pfn, NULL);
-	if (pgmap)
-		return memory_failure_dev_pagemap(pfn, flags, pgmap);
-
-	p = pfn_to_page(pfn);
 	if (PageHuge(p))
 		return memory_failure_hugetlb(pfn, flags);
 	if (TestSetPageHWPoison(p)) {
maintainer
#1 lore raw
Quoted 22 lines · On Sun, Oct 27, 2019 at 02:41:31PM +0100, [email protected] wrote:

The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 96c804a6ae8c59a9092b3d5dd581198472063184 Mon Sep 17 00:00:00 2001
From: David Hildenbrand <[email protected]>
Date: Fri, 18 Oct 2019 20:19:23 -0700
Subject: [PATCH] mm/memory-failure.c: don't access uninitialized memmaps in memory_failure()

We should check for pfn_to_online_page() to not access uninitialized memmaps. Reshuffle the code so we don't have to duplicate the error message.

Quoted 8 lines
Fixes f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to zones until online") [visible after d0dc12e86b319]
Cc Michal Hocko <[email protected]>
Cc <[email protected]> [4.13+]

I took in 83b57531c58f4 ("mm/memory_failure: Remove unused trapno from memory_failure") for 4.14 to address this.

Signature · 2 lines
Thanks,
Sasha
#2 lore raw
Quoted 32 lines · Sasha Levin
Quoted 22 lines · On Sun, Oct 27, 2019 at 02:41:31PM +0100, [email protected] wrote:

The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 96c804a6ae8c59a9092b3d5dd581198472063184 Mon Sep 17 00:00:00 2001
From: David Hildenbrand <[email protected]>
Date: Fri, 18 Oct 2019 20:19:23 -0700
Subject: [PATCH] mm/memory-failure.c: don't access uninitialized memmaps in memory_failure()

We should check for pfn_to_online_page() to not access uninitialized memmaps. Reshuffle the code so we don't have to duplicate the error message.

Quoted 8 lines
Fixes f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to zones until online") [visible after d0dc12e86b319]
Cc Michal Hocko <[email protected]>
Cc <[email protected]> [4.13+]
Quoted 3 lines

I took in 83b57531c58f4 ("mm/memory_failure: Remove unused trapno from memory_failure") for 4.14 to address this.

I guess that shouldn't be sufficient as we are missing the whole devmap stuff? (at least not sufficient to cleanly cherry pick this patch)

The backport should be very simple, though. Did you already perform the backport or shall I send one?

Signature · 3 lines
Thanks,

David / dhildenb
maintainer
#3 lore raw
Quoted 33 lines · David Hildenbrand
Quoted 32 lines · Sasha Levin
Quoted 30 lines · On Sun, Oct 27, 2019 at 02:41:31PM +0100, [email protected] wrote:

The patch below does not apply to the 4.14-stable tree.
If someone wants it applied there, or to any other stable or longterm tree, then please email the backport, including the original git commit id to <[email protected]>.

thanks,

greg k-h

------------------ original commit in Linus's tree ------------------

From 96c804a6ae8c59a9092b3d5dd581198472063184 Mon Sep 17 00:00:00 2001
From: David Hildenbrand <[email protected]>
Date: Fri, 18 Oct 2019 20:19:23 -0700
Subject: [PATCH] mm/memory-failure.c: don't access uninitialized memmaps in memory_failure()

We should check for pfn_to_online_page() to not access uninitialized memmaps. Reshuffle the code so we don't have to duplicate the error message.

Fixes f1dd2cd13c4b ("mm, memory_hotplug: do not associate hotadded memory to zones until online") [visible after d0dc12e86b319]
Cc Michal Hocko <[email protected]>
Cc <[email protected]> [4.13+]
Quoted 7 lines
Quoted 3 lines

I took in 83b57531c58f4 ("mm/memory_failure: Remove unused trapno from memory_failure") for 4.14 to address this.

I guess that shouldn't be sufficient as we are missing the whole devmap stuff? (at least not sufficient to cleanly cherry pick this patch)

The backport should be very simple, though. Did you already perform the backport or shall I send one?

I did it, thank you :)

Signature · 2 lines
Thanks,
Sasha