[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202602061429.4FB68A777@keescook>
Date: Fri, 6 Feb 2026 14:29:40 -0800
From: Kees Cook <kees@...nel.org>
To: Marc Zyngier <maz@...nel.org>
Cc: Oliver Upton <oupton@...nel.org>, Joey Gouly <joey.gouly@....com>,
Suzuki K Poulose <suzuki.poulose@....com>,
Zenghui Yu <yuzenghui@...wei.com>,
Catalin Marinas <catalin.marinas@....com>,
Will Deacon <will@...nel.org>,
Alexander Potapenko <glider@...gle.com>,
linux-arm-kernel@...ts.infradead.org, kvmarm@...ts.linux.dev,
Timothy Hayes <timothy.hayes@....com>,
Sascha Bischoff <Sascha.Bischoff@....com>,
Keir Fraser <keirf@...gle.com>, linux-kernel@...r.kernel.org,
linux-hardening@...r.kernel.org
Subject: Re: [PATCH] KVM: arm64: vgic: Handle const qualifier from clusters
allocation type
Oops, bad Subject... sending v2
On Fri, Feb 06, 2026 at 02:26:53PM -0800, Kees Cook wrote:
> In preparation for making the kmalloc family of allocators type aware,
> we need to make sure that the returned type from the allocation matches
> the type of the variable being assigned. (Before, the allocator would
> always return "void *", which can be implicitly cast to any pointer type.)
>
> The assigned type is "struct gic_kvm_info", but the returned type,
> while matching, is const qualified. To get them exactly matching, just
> use the dereferenced pointer for the sizeof().
>
> Signed-off-by: Kees Cook <kees@...nel.org>
> ---
> Cc: Marc Zyngier <maz@...nel.org>
> Cc: Oliver Upton <oupton@...nel.org>
> Cc: Joey Gouly <joey.gouly@....com>
> Cc: Suzuki K Poulose <suzuki.poulose@....com>
> Cc: Zenghui Yu <yuzenghui@...wei.com>
> Cc: Catalin Marinas <catalin.marinas@....com>
> Cc: Will Deacon <will@...nel.org>
> Cc: Alexander Potapenko <glider@...gle.com>
> Cc: <linux-arm-kernel@...ts.infradead.org>
> Cc: <kvmarm@...ts.linux.dev>
> ---
> arch/arm64/kvm/vgic/vgic-init.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c
> index 86c149537493..a53f93546aa0 100644
> --- a/arch/arm64/kvm/vgic/vgic-init.c
> +++ b/arch/arm64/kvm/vgic/vgic-init.c
> @@ -654,7 +654,7 @@ static struct gic_kvm_info *gic_kvm_info;
> void __init vgic_set_kvm_info(const struct gic_kvm_info *info)
> {
> BUG_ON(gic_kvm_info != NULL);
> - gic_kvm_info = kmalloc(sizeof(*info), GFP_KERNEL);
> + gic_kvm_info = kmalloc(sizeof(*gic_kvm_info), GFP_KERNEL);
> if (gic_kvm_info)
> *gic_kvm_info = *info;
> }
> --
> 2.34.1
>
--
Kees Cook
Powered by blists - more mailing lists