Thread (15 messages) 15 messages, 3 authors, 2018-04-06

Re: [PATCH resend] mm/page_alloc: fix comment is __get_free_pages

From: Michal Hocko <mhocko@kernel.org>
Date: 2017-11-30 06:53:39
Also in: lkml

On Wed 29-11-17 13:41:59, Andrew Morton wrote:
On Wed, 29 Nov 2017 17:04:46 +0100 Michal Hocko [off-list ref] wrote:
quoted
On Mon 27-11-17 12:33:41, Michal Hocko wrote:
quoted
On Mon 27-11-17 19:09:24, JianKang Chen wrote:
quoted
From: Jiankang Chen <redacted>

__get_free_pages will return an virtual address, 
but it is not just 32-bit address, for example a 64-bit system. 
And this comment really confuse new bigenner of mm.
s@bigenner@beginner@

Anyway, do we really need a bug on for this? Has this actually caught
any wrong usage? VM_BUG_ON tends to be enabled these days AFAIK and
panicking the kernel seems like an over-reaction. If there is a real
risk then why don't we simply mask __GFP_HIGHMEM off when calling
alloc_pages?
I meant this
---
quoted
From 000bb422fe07adbfa8cd8ed953b18f48647a45d6 Mon Sep 17 00:00:00 2001
From: Michal Hocko <mhocko@suse.com>
Date: Wed, 29 Nov 2017 17:02:33 +0100
Subject: [PATCH] mm: drop VM_BUG_ON from __get_free_pages

There is no real reason to blow up just because the caller doesn't know
that __get_free_pages cannot return highmem pages. Simply fix that up
silently. Even if we have some confused users such a fixup will not be
harmful.
mm...  So we have a caller which hopes to be getting highmem pages but
isn't.  Caller then proceeds to pointlessly kmap the page and wonders
why it isn't getting as much memory as it would like on 32-bit systems,
etc.
How he can kmap the page when he gets a _virtual_ address?
I do think we should help ferret out such bogosity.  A WARN_ON_ONCE
would suffice.
This function has always been about lowmem pages. I seriously doubt we
have anybody confused and asking for a highmem page in the kernel. I
haven't checked that but it would already blow up as VM_BUG_ON tends to
be enabled on many setups.

-- 
Michal Hocko
SUSE Labs

--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org.  For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help