Thread (41 messages) flat view 41 messages, 3 authors, 2026-08-25

Re: [PATCH v4 04/17] KVM: arm64: Add a heap allocator for the pKVM hyp

From: Fuad Tabba <fuad.tabba@linux.dev>
Date: 2026-08-18 14:23:39
Also in: kvmarm

Hi Vincent,

On Fri, 31 Jul 2026 at 15:36, 'Vincent Donnefort' via kernel-team
[off-list ref] 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@linux.dev>

Cheers,
/fuad
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help