]> git.baikalelectronics.ru Git - kernel.git/commit
arm64: fix types in copy_highpage()
authorTong Tiangen <tongtiangen@huawei.com>
Wed, 20 Apr 2022 03:04:13 +0000 (03:04 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Jun 2022 08:22:54 +0000 (10:22 +0200)
commited3a92593ccf410283cc5c46f6b93904ba6c1803
tree929ce8c8062df065aff1dd83b47658dec1ac18bd
parent37b0861cfbf826cb7900799bca5bce4d3c8869ac
arm64: fix types in copy_highpage()

[ Upstream commit b8524aae1d8a5ab25ebc1e4cc7b61ffbe52fefff ]

In copy_highpage() the `kto` and `kfrom` local variables are pointers to
struct page, but these are used to hold arbitrary pointers to kernel memory
. Each call to page_address() returns a void pointer to memory associated
with the relevant page, and copy_page() expects void pointers to this
memory.

This inconsistency was introduced in commit d44be8626c89 ("arm64: mte:
Tags-aware copy_{user_,}highpage() implementations") and while this
doesn't appear to be harmful in practice it is clearly wrong.

Correct this by making `kto` and `kfrom` void pointers.

Fixes: d44be8626c89 ("arm64: mte: Tags-aware copy_{user_,}highpage() implementations")
Signed-off-by: Tong Tiangen <tongtiangen@huawei.com>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Reviewed-by: Kefeng Wang <wangkefeng.wang@huawei.com>
Link: https://lore.kernel.org/r/20220420030418.3189040-3-tongtiangen@huawei.com
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/arm64/mm/copypage.c