]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
arm64/pageattr: Propagate return value from __change_memory_common
authorDev Jain <dev.jain@arm.com>
Wed, 12 Nov 2025 06:27:15 +0000 (11:57 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Dec 2025 13:03:27 +0000 (14:03 +0100)
commit3e2fc1e57a5361633a4bf4222640c6bfe41ff8ea
tree3f729dec3233eacd5d2b67d066e8b56e94cff099
parent81841da1f30f66a850cc8796d99ba330aad9d696
arm64/pageattr: Propagate return value from __change_memory_common

[ Upstream commit e5efd56fa157d2e7d789949d1d64eccbac18a897 ]

The rodata=on security measure requires that any code path which does
vmalloc -> set_memory_ro/set_memory_rox must protect the linear map alias
too. Therefore, if such a call fails, we must abort set_memory_* and caller
must take appropriate action; currently we are suppressing the error, and
there is a real chance of such an error arising post commit a166563e7ec3
("arm64: mm: support large block mapping when rodata=full"). Therefore,
propagate any error to the caller.

Fixes: a166563e7ec3 ("arm64: mm: support large block mapping when rodata=full")
Signed-off-by: Dev Jain <dev.jain@arm.com>
Reviewed-by: Ryan Roberts <ryan.roberts@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/mm/pageattr.c