mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-02 12:10:23 -04:00
powerpc: Fail ioremap() instead of silently ignoring flags when PAGE_USER is set
Calling ioremap() with _PAGE_USER (or _PAGE_PRIVILEDGE unset) is wrong. Loudly fail the call to ioremap() instead of blindly clearing the flags. Signed-off-by: Christophe Leroy <christophe.leroy@csgroup.eu> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au> Link: https://msgid.link/b6dd5485ad00d2aafd2bb9b7c2c4eac3ebf2cdaf.1695659959.git.christophe.leroy@csgroup.eu
This commit is contained in:
committed by
Michael Ellerman
parent
d3c0dfcfc9
commit
c7263f1563
@@ -51,7 +51,8 @@ void __iomem *ioremap_prot(phys_addr_t addr, size_t size, unsigned long flags)
|
||||
pte = pte_mkdirty(pte);
|
||||
|
||||
/* we don't want to let _PAGE_USER leak out */
|
||||
pte = pte_mkprivileged(pte);
|
||||
if (WARN_ON(pte_user(pte)))
|
||||
return NULL;
|
||||
|
||||
if (iowa_is_active())
|
||||
return iowa_ioremap(addr, size, pte_pgprot(pte), caller);
|
||||
|
||||
Reference in New Issue
Block a user