From: Michal Hocko <mhocko@kernel.org>
To: Andrew Morton <akpm@linux-foundation.org>
Cc: JianKang Chen <chenjiankang1@huawei.com>,
mgorman@techsingularity.net, hannes@cmpxchg.org,
linux-mm@kvack.org, linux-kernel@vger.kernel.org,
xieyisheng1@huawei.com, guohanjun@huawei.com,
wangkefeng.wang@huawei.com
Subject: Re: [PATCH resend] mm/page_alloc: fix comment is __get_free_pages
Date: Fri, 1 Dec 2017 12:18:45 +0100 [thread overview]
Message-ID: <20171201111845.iyoua7hhjodpuvoy@dhcp22.suse.cz> (raw)
In-Reply-To: <20171201072414.3kc3pbvdbqbxhnfx@dhcp22.suse.cz>
On Fri 01-12-17 08:24:14, Michal Hocko wrote:
> On Thu 30-11-17 13:17:06, Andrew Morton wrote:
> > On Thu, 30 Nov 2017 07:53:35 +0100 Michal Hocko <mhocko@kernel.org> wrote:
> >
> > > > 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?
> >
> > doh.
> >
> > > > 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.
> >
> > OK. But silently accepting __GFP_HIGHMEM is a bit weird - callers
> > shouldn't be doing that in the first place.
>
> Yes, they shouldn't be.
>
> > I wonder what happens if we just remove the WARN_ON and pass any
> > __GFP_HIGHMEM straight through. The caller gets a weird address from
> > page_to_virt(highmem page) and usually goes splat? Good enough
> > treatment for something which never happens anyway?
>
> page_address will return NULL so they will blow up and leak the freshly
> allocated memory.
let me be more specific. They will blow up and leak if the returned
address is not checked. If it is then we just leak. None of that sounds
good to me.
--
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>
next prev parent reply other threads:[~2017-12-01 11:18 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-11-27 11:09 JianKang Chen
2017-11-27 11:33 ` Michal Hocko
2017-11-29 16:04 ` Michal Hocko
2017-11-29 21:41 ` Andrew Morton
2017-11-30 6:53 ` Michal Hocko
2017-11-30 21:17 ` Andrew Morton
2017-12-01 7:24 ` Michal Hocko
2017-12-01 11:18 ` Michal Hocko [this message]
2017-12-14 14:06 ` Michal Hocko
2017-12-14 20:33 ` Andrew Morton
2017-12-15 9:36 ` Michal Hocko
2017-12-15 20:57 ` Andrew Morton
2017-12-16 11:52 ` Michal Hocko
2018-04-06 10:02 ` Michal Hocko
2018-04-06 19:58 ` Andrew Morton
-- strict thread matches above, loose matches on Subject: below --
2017-11-25 7:20 JianKang Chen
2017-11-27 6:22 ` Anshuman Khandual
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20171201111845.iyoua7hhjodpuvoy@dhcp22.suse.cz \
--to=mhocko@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=chenjiankang1@huawei.com \
--cc=guohanjun@huawei.com \
--cc=hannes@cmpxchg.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=mgorman@techsingularity.net \
--cc=wangkefeng.wang@huawei.com \
--cc=xieyisheng1@huawei.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox