Messages in this thread | | | Date | Thu, 26 Aug 2021 12:46:34 +1000 | From | Nicholas Piggin <> | Subject | Re: [PATCH 2/2] mm: don't allow executable ioremap mappings |
| |
Excerpts from Christoph Hellwig's message of August 24, 2021 7:12 pm: > There is no need to execute from iomem (and most platforms it is > impossible anyway), so add the pgprot_nx() call similar to vmap. > > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > mm/vmalloc.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/vmalloc.c b/mm/vmalloc.c > index e44983fb2d15..3055f04b486b 100644 > --- a/mm/vmalloc.c > +++ b/mm/vmalloc.c > @@ -316,7 +316,7 @@ int ioremap_page_range(unsigned long addr, unsigned long end, > { > int err; > > - err = vmap_range_noflush(addr, end, phys_addr, prot, > + err = vmap_range_noflush(addr, end, phys_addr, pgprot_nx(prot), > ioremap_max_page_shift);
I can't see why this is a problem. powerpcs can but it seems like a bad idea anyway.
Any point to a WARN_ON or return -EINVAL? Hmm, maybe that doesn't work for archs that don't support NX. We could add a check for ones that do support it though... But that's for another patch.
Thanks, Nick
| |