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 2001From: 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>