Searched hist:"963 eb457478ff11862dc7c329ebfa11650024dfe" (Results 1 – 1 of 1) sorted by relevance
| /optee_os/core/kernel/ |
| H A D | user_access.c | 963eb457478ff11862dc7c329ebfa11650024dfe 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>
|