[PATCH v2] arm64: extable: fix load_unaligned_zeropad() reg indices

Catalin Marinas catalin.marinas at arm.com
Wed Jan 26 10:57:21 PST 2022


On Tue, 25 Jan 2022 10:22:17 -0800, Evgenii Stepanov wrote:
> In ex_handler_load_unaligned_zeropad() we erroneously extract the data and
> addr register indices from ex->type rather than ex->data. As ex->type will
> contain EX_TYPE_LOAD_UNALIGNED_ZEROPAD (i.e. 4):
>  * We'll always treat X0 as the address register, since EX_DATA_REG_ADDR is
>    extracted from bits [9:5]. Thus, we may attempt to dereference an
>    arbitrary address as X0 may hold an arbitrary value.
>  * We'll always treat X4 as the data register, since EX_DATA_REG_DATA is
>    extracted from bits [4:0]. Thus we will corrupt X4 and cause arbitrary
>    behaviour within load_unaligned_zeropad() and its caller.
> 
> [...]

Applied to arm64 (for-next/fixes), thanks!

[1/1] arm64: extable: fix load_unaligned_zeropad() reg indices
      https://git.kernel.org/arm64/c/afa1bf69aac3

-- 
Catalin




More information about the linux-arm-kernel mailing list