[PATCH v4 04/17] KVM: arm64: Add a heap allocator for the pKVM hyp
Fuad Tabba
fuad.tabba at linux.dev
Tue Aug 18 07:22:55 PDT 2026
Hi Vincent,
On Fri, 31 Jul 2026 at 15:36, 'Vincent Donnefort' via kernel-team
<kernel-team at android.com> wrote:
...
> +static int hyp_allocator_destroy_chunk(struct hyp_allocator *allocator,
> + struct chunk_hdr *prev,
> + struct chunk_hdr *chunk)
> +{
> + struct chunk_hdr *next;
> +
> + next = prev ? chunk_get_next(chunk) : NULL;
> + if (!hyp_allocator_can_destroy_chunk(allocator, prev, next, chunk))
> + return -EINVAL;
> +
> + /* Last chunk in the allocator */
> + if (!prev) {
> + allocator->first_unmapped = chunk_unmapped(chunk);
> + allocator->head = allocator->tail = NULL;
> + return 0;
> + }
hyp_allocator_destroy_chunk() has only two callers, both in
hyp_allocator_free(), and both pass a non-NULL prev. So this !prev
branch cannot be reached, and nor can the matching "if (!prev) return
true;" in hyp_allocator_can_destroy_chunk() or the false arm of "next
= prev ? chunk_get_next(chunk) : NULL".
The empty-allocator reset it looks like it is handling already happens
in hyp_allocator_reclaim_chunk(), in the addr == allocator->start
case. Could these be dropped?
With that:
Reviewed-by: Fuad Tabba <fuad.tabba at linux.dev>
Cheers,
/fuad
More information about the linux-arm-kernel
mailing list