All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] mm/page_alloc: avoid potential NULL pointer dereference
@ 2019-04-23 12:08 Andrey Ryabinin
  2019-04-23 12:08 ` [PATCH 2/2] mm/page_alloc: fix never set ALLOC_NOFRAGMENT flag Andrey Ryabinin
  2019-04-23 14:35 ` [PATCH 1/2] mm/page_alloc: avoid potential NULL pointer dereference Mel Gorman
  0 siblings, 2 replies; 9+ messages in thread
From: Andrey Ryabinin @ 2019-04-23 12:08 UTC (permalink / raw)
  To: Andrew Morton; +Cc: Mel Gorman, linux-mm, linux-kernel, Andrey Ryabinin

ac.preferred_zoneref->zone passed to alloc_flags_nofragment() can be NULL.
'zone' pointer unconditionally derefernced in alloc_flags_nofragment().
Bail out on NULL zone to avoid potential crash.
Currently we don't see any crashes only because alloc_flags_nofragment()
has another bug which allows compiler to optimize away all accesses to
'zone'.

Fixes: 6bb154504f8b ("mm, page_alloc: spread allocations across zones before introducing fragmentation")
Signed-off-by: Andrey Ryabinin <aryabinin@virtuozzo.com>
---
 mm/page_alloc.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/mm/page_alloc.c b/mm/page_alloc.c
index 933bd42899e8..2b2c7065102f 100644
--- a/mm/page_alloc.c
+++ b/mm/page_alloc.c
@@ -3461,6 +3461,9 @@ alloc_flags_nofragment(struct zone *zone, gfp_t gfp_mask)
 		alloc_flags |= ALLOC_KSWAPD;
 
 #ifdef CONFIG_ZONE_DMA32
+	if (!zone)
+		return alloc_flags;
+
 	if (zone_idx(zone) != ZONE_NORMAL)
 		goto out;
 
-- 
2.21.0


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-04-25 21:09 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-23 12:08 [PATCH 1/2] mm/page_alloc: avoid potential NULL pointer dereference Andrey Ryabinin
2019-04-23 12:08 ` [PATCH 2/2] mm/page_alloc: fix never set ALLOC_NOFRAGMENT flag Andrey Ryabinin
2019-04-23 14:35   ` Mel Gorman
2019-04-23 19:01   ` Andrew Morton
2019-04-24  9:04     ` Mel Gorman
2019-04-24 22:46       ` Andrew Morton
2019-04-24 23:40         ` Mel Gorman
2019-04-25 21:09           ` Andrew Morton
2019-04-23 14:35 ` [PATCH 1/2] mm/page_alloc: avoid potential NULL pointer dereference Mel Gorman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.