|
Message-ID: <20190626144943.GY17798@dhcp22.suse.cz> Date: Wed, 26 Jun 2019 16:49:43 +0200 From: Michal Hocko <mhocko@...nel.org> To: Alexander Potapenko <glider@...gle.com> Cc: Andrew Morton <akpm@...ux-foundation.org>, Christoph Lameter <cl@...ux.com>, Kees Cook <keescook@...omium.org>, Masahiro Yamada <yamada.masahiro@...ionext.com>, James Morris <jmorris@...ei.org>, "Serge E. Hallyn" <serge@...lyn.com>, Nick Desaulniers <ndesaulniers@...gle.com>, Kostya Serebryany <kcc@...gle.com>, Dmitry Vyukov <dvyukov@...gle.com>, Sandeep Patil <sspatil@...roid.com>, Laura Abbott <labbott@...hat.com>, Randy Dunlap <rdunlap@...radead.org>, Jann Horn <jannh@...gle.com>, Mark Rutland <mark.rutland@....com>, Marco Elver <elver@...gle.com>, Qian Cai <cai@....pw>, linux-mm@...ck.org, linux-security-module@...r.kernel.org, kernel-hardening@...ts.openwall.com Subject: Re: [PATCH v8 1/2] mm: security: introduce init_on_alloc=1 and init_on_free=1 boot options On Wed 26-06-19 14:19:42, Alexander Potapenko wrote: [...] > diff --git a/mm/dmapool.c b/mm/dmapool.c > index 8c94c89a6f7e..fe5d33060415 100644 > --- a/mm/dmapool.c > +++ b/mm/dmapool.c [...] > @@ -428,6 +428,8 @@ void dma_pool_free(struct dma_pool *pool, void *vaddr, dma_addr_t dma) > } > > offset = vaddr - page->vaddr; > + if (want_init_on_free()) > + memset(vaddr, 0, pool->size); any reason why this is not in DMAPOOL_DEBUG else branch? Why would you want to both zero on free and poison on free? > #ifdef DMAPOOL_DEBUG > if ((dma - page->dma) != offset) { > spin_unlock_irqrestore(&pool->lock, flags); [...] > @@ -1142,6 +1200,8 @@ static __always_inline bool free_pages_prepare(struct page *page, > } > arch_free_page(page, order); > kernel_poison_pages(page, 1 << order, 0); > + if (want_init_on_free()) > + kernel_init_free_pages(page, 1 << order); same here. If you don't want to make this exclusive then you have to zero before poisoning otherwise you are going to blow up on the poison check, right? > if (debug_pagealloc_enabled()) > kernel_map_pages(page, 1 << order, 0); > -- Michal Hocko SUSE Labs
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.