Home
last modified time | relevance | path

Searched hist:"963 eb457478ff11862dc7c329ebfa11650024dfe" (Results 1 – 1 of 1) sorted by relevance

/optee_os/core/kernel/
H A Duser_access.c963eb457478ff11862dc7c329ebfa11650024dfe Wed Jan 10 14:19:39 UTC 2024 Clement Faure <clement.faure@nxp.com> core: fix unintended sign extension

Suspicious implicit sign extension: memtag_get_tag(kaddr) with type
uint8_t (8 bits, unsigned) is promoted in
memtag_get_tag(kaddr) << uref_tag_shift to type int (32 bits, signed),
then sign-extended to type unsigned long (64 bits, unsigned).

If memtag_get_tag(kaddr) << uref_tag_shift is greater than 0x7FFFFFFF,
the upper bits of the result will all be 1.

Cast memtag_get_tag(kaddr) to vaddr_t to avoid implicit sign extension.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Etienne Carriere <etienne.carriere@foss.st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>