On 27 June 2013 15:33, Paolo Bonzini <pbonzini@xxxxxxxxxx> wrote: > Il 26/06/2013 20:36, Mathias Krause ha scritto: >> Use a const pointer type instead of casting away the const qualifier >> from const arrays. Keep the pointer array on the stack, nonetheless. >> Making it static just increases the object size. >> >> Signed-off-by: Mathias Krause <minipli@xxxxxxxxxxxxxx> >> --- >> arch/x86/kvm/vmx.c | 15 +++++++-------- >> 1 file changed, 7 insertions(+), 8 deletions(-) >> >> diff --git a/arch/x86/kvm/vmx.c b/arch/x86/kvm/vmx.c >> index 260a919..7393164 100644 >> --- a/arch/x86/kvm/vmx.c >> +++ b/arch/x86/kvm/vmx.c >> @@ -5956,8 +5956,8 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx) >> unsigned long field; >> u64 field_value; >> struct vmcs *shadow_vmcs = vmx->nested.current_shadow_vmcs; >> - unsigned long *fields = (unsigned long *)shadow_read_write_fields; >> - int num_fields = max_shadow_read_write_fields; >> + const unsigned long *fields = shadow_read_write_fields; >> + const int num_fields = max_shadow_read_write_fields; >> >> vmcs_load(shadow_vmcs); >> >> @@ -5986,12 +5986,11 @@ static void copy_shadow_to_vmcs12(struct vcpu_vmx *vmx) >> >> static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx) >> { >> - unsigned long *fields[] = { >> - (unsigned long *)shadow_read_write_fields, >> - (unsigned long *)shadow_read_only_fields >> + const unsigned long *fields[] = { >> + shadow_read_write_fields, >> + shadow_read_only_fields >> }; >> - int num_lists = ARRAY_SIZE(fields); >> - int max_fields[] = { >> + const int max_fields[] = { >> max_shadow_read_write_fields, >> max_shadow_read_only_fields >> }; >> @@ -6002,7 +6001,7 @@ static void copy_vmcs12_to_shadow(struct vcpu_vmx *vmx) >> >> vmcs_load(shadow_vmcs); >> >> - for (q = 0; q < num_lists; q++) { >> + for (q = 0; q < ARRAY_SIZE(fields); q++) { >> for (i = 0; i < max_fields[q]; i++) { >> field = fields[q][i]; >> vmcs12_read_any(&vmx->vcpu, field, &field_value); >> > > The "const int" is not particularly useful, but doesn't hurt either. It's more of a hint for the compiler to take the values verbatim instead of allocating stack space for them. But it'll probably already do it even without that "hint". > > Reviewed-by: Paolo Bonzini <pbonzini@xxxxxxxxxx> Mathias -- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html