Re: [PATCH] powerpc/rtas: Prevent Spectre v1 gadget construction in sys_rtas()

From: Greg KH
Date: Fri Dec 13 2024 - 06:14:20 EST


On Fri, Dec 13, 2024 at 11:44:22AM +0800, haixiao.yan.cn@xxxxxxxxxxxxxxxxx wrote:
> From: Nathan Lynch <nathanl@xxxxxxxxxxxxx>
>
> [ Upstream commit 0974d03eb479384466d828d65637814bee6b26d7 ]
>
> Smatch warns:
>
> arch/powerpc/kernel/rtas.c:1932 __do_sys_rtas() warn: potential
> spectre issue 'args.args' [r] (local cap)
>
> The 'nargs' and 'nret' locals come directly from a user-supplied
> buffer and are used as indexes into a small stack-based array and as
> inputs to copy_to_user() after they are subject to bounds checks.
>
> Use array_index_nospec() after the bounds checks to clamp these values
> for speculative execution.
>
> Signed-off-by: Nathan Lynch <nathanl@xxxxxxxxxxxxx>
> Reported-by: Breno Leitao <leitao@xxxxxxxxxx>
> Reviewed-by: Breno Leitao <leitao@xxxxxxxxxx>
> Signed-off-by: Michael Ellerman <mpe@xxxxxxxxxxxxxx>
> Link: https://msgid.link/20240530-sys_rtas-nargs-nret-v1-1-129acddd4d89@xxxxxxxxxxxxx
> Signed-off-by: Haixiao Yan <haixiao.yan.cn@xxxxxxxxxxxxx>
> ---
> This commit is backporting 0974d03eb479 to the branch linux-5.15.y to
> solve the CVE-2024-46774.

Now deleted, please see:
https://lore.kernel.org/r/2024121322-conjuror-gap-b542@gregkh
for what you all need to do, TOGETHER, to get this fixed and so that I
can accept patches from your company in the future.

thanks,

greg k-h