[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 03/30] target/ppc: init 'sregs' in kvmppc_put_books_sregs()
From: |
Daniel Henrique Barboza |
Subject: |
[PULL 03/30] target/ppc: init 'sregs' in kvmppc_put_books_sregs() |
Date: |
Thu, 5 May 2022 15:49:11 -0300 |
Init 'sregs' to avoid Valgrind complaints about uninitialized bytes
from kvmppc_put_books_sregs():
==54059== Thread 3:
==54059== Syscall param ioctl(generic) points to uninitialised byte(s)
==54059== at 0x55864E4: ioctl (in /usr/lib64/libc.so.6)
==54059== by 0xD1FA23: kvm_vcpu_ioctl (kvm-all.c:3053)
==54059== by 0xAFB18B: kvmppc_put_books_sregs (kvm.c:891)
==54059== by 0xAFB47B: kvm_arch_put_registers (kvm.c:949)
==54059== by 0xD1EDA7: do_kvm_cpu_synchronize_post_init (kvm-all.c:2766)
==54059== by 0x481AF3: process_queued_cpu_work (cpus-common.c:343)
==54059== by 0x4EF247: qemu_wait_io_event_common (cpus.c:412)
==54059== by 0x4EF343: qemu_wait_io_event (cpus.c:436)
==54059== by 0xD21E83: kvm_vcpu_thread_fn (kvm-accel-ops.c:54)
==54059== by 0xFFEBF3: qemu_thread_start (qemu-thread-posix.c:556)
==54059== by 0x54E6DC3: start_thread (in /usr/lib64/libc.so.6)
==54059== by 0x5596C9F: clone (in /usr/lib64/libc.so.6)
==54059== Address 0x799d1cc is on thread 3's stack
==54059== in frame #2, created by kvmppc_put_books_sregs (kvm.c:851)
==54059== Uninitialised value was created by a stack allocation
==54059== at 0xAFAEB0: kvmppc_put_books_sregs (kvm.c:851)
This happens because Valgrind does not consider the 'sregs'
initialization done by kvm_vcpu_ioctl() at the end of the function.
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20220331001717.616938-4-danielhb413@gmail.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
---
target/ppc/kvm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/target/ppc/kvm.c b/target/ppc/kvm.c
index 69094ddb7a..c4180b7270 100644
--- a/target/ppc/kvm.c
+++ b/target/ppc/kvm.c
@@ -850,7 +850,7 @@ static int kvm_put_vpa(CPUState *cs)
int kvmppc_put_books_sregs(PowerPCCPU *cpu)
{
CPUPPCState *env = &cpu->env;
- struct kvm_sregs sregs;
+ struct kvm_sregs sregs = { };
int i;
sregs.pvr = env->spr[SPR_PVR];
--
2.32.0
- [PULL 00/30] ppc queue, Daniel Henrique Barboza, 2022/05/05
- [PULL 01/30] target/ppc: initialize 'val' union in kvm_get_one_spr(), Daniel Henrique Barboza, 2022/05/05
- [PULL 02/30] target/ppc: init 'lpcr' in kvmppc_enable_cap_large_decr(), Daniel Henrique Barboza, 2022/05/05
- [PULL 04/30] target/ppc: init 'rmmu_info' in kvm_get_radix_page_info(), Daniel Henrique Barboza, 2022/05/05
- [PULL 03/30] target/ppc: init 'sregs' in kvmppc_put_books_sregs(),
Daniel Henrique Barboza <=
- [PULL 05/30] target/ppc: Fix BookE debug interrupt generation, Daniel Henrique Barboza, 2022/05/05
- [PULL 06/30] vhost-user: Use correct macro name TARGET_PPC64, Daniel Henrique Barboza, 2022/05/05
- [PULL 08/30] ppc/xive: Update the state of the External interrupt signal, Daniel Henrique Barboza, 2022/05/05
- [PULL 10/30] target/ppc: Remove unused msr_* macros, Daniel Henrique Barboza, 2022/05/05
- [PULL 07/30] ppc/xive: Always recompute the PIPR when pushing an OS context, Daniel Henrique Barboza, 2022/05/05
- [PULL 09/30] target/ppc: Remove fpscr_* macros from cpu.h, Daniel Henrique Barboza, 2022/05/05
- [PULL 14/30] target/ppc: Remove msr_ile macro, Daniel Henrique Barboza, 2022/05/05
- [PULL 15/30] target/ppc: Remove msr_ee macro, Daniel Henrique Barboza, 2022/05/05
- [PULL 18/30] target/ppc: Remove msr_me macro, Daniel Henrique Barboza, 2022/05/05
- [PULL 16/30] target/ppc: Remove msr_ce macro, Daniel Henrique Barboza, 2022/05/05