Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 86794180 authored by Will Deacon's avatar Will Deacon Committed by Alistair Delva
Browse files

UPSTREAM: arm64: mm: Really fix sparse warning in untagged_addr()



(Upstream commit 9c1cac424c93d2b3122014e07a54b003ddedc168).

untagged_addr() can be called with a '__user' pointer parameter and must
therefore use '__force' casts both when passing this parameter through
to sign_extend64() as a 'u64', but also when casting the 's64' return
value back to the '__user' pointer type.

Signed-off-by: default avatarWill Deacon <will@kernel.org>
Signed-off-by: default avatarAndrey Konovalov <andreyknvl@google.com>
Bug: 135692346
Change-Id: I8806aa6911cda3ab0489dff59b75ae214b02d48e
parent fc824688
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -217,7 +217,7 @@ static inline unsigned long kaslr_offset(void)
 * pass on to access_ok(), for instance.
 */
#define untagged_addr(addr)	\
	((__typeof__(addr))sign_extend64((__force u64)(addr), 55))
	((__force __typeof__(addr))sign_extend64((__force u64)(addr), 55))

#ifdef CONFIG_KASAN_SW_TAGS
#define __tag_shifted(tag)	((u64)(tag) << 56)