mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-01 14:44:12 +00:00
arm64: fix types in copy_highpage()
[ Upstream commit921d161f15
] 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 commit2563776b41
("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:2563776b41
("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>
This commit is contained in:
parent
381a1e2748
commit
75868ee93b
1 changed files with 2 additions and 2 deletions
|
@ -16,8 +16,8 @@
|
|||
|
||||
void copy_highpage(struct page *to, struct page *from)
|
||||
{
|
||||
struct page *kto = page_address(to);
|
||||
struct page *kfrom = page_address(from);
|
||||
void *kto = page_address(to);
|
||||
void *kfrom = page_address(from);
|
||||
|
||||
copy_page(kto, kfrom);
|
||||
|
||||
|
|
Loading…
Reference in a new issue