[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [xen master] tools/libxg: Fix uninitialised variable in write_x86_cpu_policy_records()
commit 60773532231d3b6ecdc98913832ca78c3d9a4371 Author: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> AuthorDate: Thu Feb 11 14:25:57 2021 +0000 Commit: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> CommitDate: Wed Feb 17 12:37:08 2021 +0000 tools/libxg: Fix uninitialised variable in write_x86_cpu_policy_records() Various version of gcc, when compiling with -Og, complain: xg_sr_common_x86.c: In function 'write_x86_cpu_policy_records': xg_sr_common_x86.c:92:12: error: 'rc' may be used uninitialized in this function [-Werror=maybe-uninitialized] 92 | return rc; | ^~ The complaint is legitimate, and can occur with unexpected behaviour of two related hypercalls in combination with a libc which permits zero-length malloc()s. Have an explicit rc = 0 on the success path, and make the MSRs record error handling consistent with the CPUID record before it. Fixes: f6b2b8ec53d ("libxc/save: Write X86_{CPUID,MSR}_DATA records") Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> Release-Acked-by: Ian Jackson <iwj@xxxxxxxxxxxxxx> --- tools/libs/guest/xg_sr_common_x86.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/tools/libs/guest/xg_sr_common_x86.c b/tools/libs/guest/xg_sr_common_x86.c index 6f12483907..3168c5485f 100644 --- a/tools/libs/guest/xg_sr_common_x86.c +++ b/tools/libs/guest/xg_sr_common_x86.c @@ -83,7 +83,13 @@ int write_x86_cpu_policy_records(struct xc_sr_context *ctx) msrs.length = nr_msrs * sizeof(xen_msr_entry_t); if ( msrs.length ) + { rc = write_record(ctx, &msrs); + if ( rc ) + goto out; + } + + rc = 0; out: free(cpuid.data); -- generated by git-patchbot for /home/xen/git/xen.git#master
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |