Messages in this thread | | | Date | Thu, 12 May 2022 19:56:13 +0100 | From | Matthew Wilcox <> | Subject | Re: [RFC][PATCH] lkdtm/usercopy: Add tests for other memory types |
| |
On Thu, May 12, 2022 at 11:36:13AM -0700, Kees Cook wrote: > +static void lkdtm_USERCOPY_FOLIO(void) > +{ > + struct folio *folio; > + void *addr; > + > + /* > + * FIXME: Folio checking currently misses 0-order allocations, so > + * allocate and bump forward to the last page. > + */ > + folio = folio_alloc(GFP_KERNEL | __GFP_ZERO, 1); > + if (!folio) { > + pr_err("folio_alloc() failed!?\n"); > + return; > + } > + addr = page_address(&folio->page);
Ideally, code shouldn't be using &folio->page. If it is, we have a gap in the folio API. Fortunately, we have folio_address().
> + if (addr) { > + do_usercopy_page_span("folio", addr + PAGE_SIZE); > + } > + folio_put(folio); > +}
Other than that, this looks sane to me.
| |