ANDROID: KVM: arm64: Fix CPU type when reading trace_pdesc

Prevent negative value reading from the trace descriptor. While at it,
remove that variable shadowing for more clarity.

Bug: 442540376
Bug: 357781595
Change-Id: I102df353b2b57cc44ebb93e97f8c1e4f589a5e84
Signed-off-by: Vincent Donnefort <vdonnefort@google.com>
(cherry picked from commit d41d0584fc6f600dbd5f601aba869cc98a486a80)
Signed-off-by: Lee Jones <joneslee@google.com>
This commit is contained in:
Vincent Donnefort
2025-09-04 08:57:25 +01:00
committed by Lee Jones
parent efe70d86de
commit 374ba0ca6d
+3 -3
View File
@@ -543,7 +543,7 @@ int __pkvm_load_tracing(unsigned long desc_hva, size_t desc_size)
struct hyp_trace_desc *desc = (struct hyp_trace_desc *)kern_hyp_va(desc_hva);
struct trace_page_desc *trace_pdesc = &desc->page_desc;
struct rb_page_desc *pdesc;
int ret, cpu;
int ret, pdesc_cpu;
if (!desc_size || !PAGE_ALIGNED(desc_hva) || !PAGE_ALIGNED(desc_size))
return -EINVAL;
@@ -555,9 +555,9 @@ int __pkvm_load_tracing(unsigned long desc_hva, size_t desc_size)
hyp_spin_lock(&trace_rb_lock);
for_each_rb_page_desc(pdesc, cpu, trace_pdesc) {
for_each_rb_page_desc(pdesc, pdesc_cpu, trace_pdesc) {
struct hyp_rb_per_cpu *cpu_buffer;
int cpu;
unsigned int cpu;
ret = -EINVAL;
if (!rb_cpu_fits_desc(pdesc, desc_hva + desc_size))