lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20190415022412.GA29714@bombadil.infradead.org> Date: Sun, 14 Apr 2019 19:24:12 -0700 From: Matthew Wilcox <willy@...radead.org> To: Kees Cook <keescook@...omium.org> Cc: Eric Biggers <ebiggers@...nel.org>, Rik van Riel <riel@...riel.com>, linux-crypto <linux-crypto@...r.kernel.org>, Herbert Xu <herbert@...dor.apana.org.au>, Dmitry Vyukov <dvyukov@...gle.com>, Geert Uytterhoeven <geert@...ux-m68k.org>, linux-security-module <linux-security-module@...r.kernel.org>, Linux ARM <linux-arm-kernel@...ts.infradead.org>, Linux Kernel Mailing List <linux-kernel@...r.kernel.org>, Laura Abbott <labbott@...hat.com>, linux-mm@...ck.org Subject: Re: [PATCH] crypto: testmgr - allocate buffers with __GFP_COMP On Thu, Apr 11, 2019 at 01:32:32PM -0700, Kees Cook wrote: > > @@ -156,7 +156,8 @@ static int __testmgr_alloc_buf(char *buf[XBUFSIZE], int order) > > int i; > > > > for (i = 0; i < XBUFSIZE; i++) { > > - buf[i] = (char *)__get_free_pages(GFP_KERNEL, order); > > + buf[i] = (char *)__get_free_pages(GFP_KERNEL | __GFP_COMP, > > + order); > > Is there a reason __GFP_COMP isn't automatically included in all page > allocations? (Or rather, it seems like the exception is when things > should NOT be considered part of the same allocation, so something > like __GFP_SINGLE should exist?.) The question is not whether or not things should be considered part of the same allocation. The question is whether the allocation is of a compound page or of N consecutive pages. Now you're asking what the difference is, and it's whether you need to be able to be able to call compound_head(), compound_order(), PageTail() or use a compound_dtor. If you don't, then you can save some time at allocation & free by not specifying __GFP_COMP. I'll agree this is not documented well, and maybe most multi-page allocations do want __GFP_COMP and we should invert that bit, but __GFP_SINGLE doesn't seem like the right antonym to __GFP_COMP to me.
Powered by blists - more mailing lists