[PATCH] KVM: x86: Fix errors in vmcs12.c

shijie001@208suo.com posted 1 patch 2 years, 7 months ago
arch/x86/kvm/vmx/vmcs12.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] KVM: x86: Fix errors in vmcs12.c
Posted by shijie001@208suo.com 2 years, 7 months ago
The following checkpatch errors are removed:
ERROR: space prohibited before open square bracket '['
ERROR: Macros with complex values should be enclosed in parentheses

Signed-off-by: Jie Shi <shijie001@208suo.com>
---
  arch/x86/kvm/vmx/vmcs12.c | 4 ++--
  1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/x86/kvm/vmx/vmcs12.c b/arch/x86/kvm/vmx/vmcs12.c
index 106a72c923ca..da239ca58f90 100644
--- a/arch/x86/kvm/vmx/vmcs12.c
+++ b/arch/x86/kvm/vmx/vmcs12.c
@@ -4,10 +4,10 @@
  #include "vmcs12.h"

  #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
-#define FIELD(number, name)    [ROL16(number, 6)] = VMCS12_OFFSET(name)
+#define FIELD(number, name)[ROL16(number, 6)] = VMCS12_OFFSET(name)
  #define FIELD64(number, name)                        \
      FIELD(number, name),                        \
-    [ROL16(number##_HIGH, 6)] = VMCS12_OFFSET(name) + sizeof(u32)
+    [ROL16(number##_HIGH, 6)] = (VMCS12_OFFSET(name) + sizeof(u32))

  const unsigned short vmcs12_field_offsets[] = {
      FIELD(VIRTUAL_PROCESSOR_ID, virtual_processor_id),
Re: [PATCH] KVM: x86: Fix errors in vmcs12.c
Posted by Christophe JAILLET 2 years, 7 months ago
Le 12/07/2023 à 10:40, shijie001@208suo.com a écrit :
> The following checkpatch errors are removed:
> ERROR: space prohibited before open square bracket '['
> ERROR: Macros with complex values should be enclosed in parentheses
> 
> Signed-off-by: Jie Shi <shijie001@208suo.com>
> ---
>   arch/x86/kvm/vmx/vmcs12.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/arch/x86/kvm/vmx/vmcs12.c b/arch/x86/kvm/vmx/vmcs12.c
> index 106a72c923ca..da239ca58f90 100644
> --- a/arch/x86/kvm/vmx/vmcs12.c
> +++ b/arch/x86/kvm/vmx/vmcs12.c
> @@ -4,10 +4,10 @@
>   #include "vmcs12.h"
> 
>   #define VMCS12_OFFSET(x) offsetof(struct vmcs12, x)
> -#define FIELD(number, name)    [ROL16(number, 6)] = VMCS12_OFFSET(name)
> +#define FIELD(number, name)[ROL16(number, 6)] = VMCS12_OFFSET(name)

Hi,

Written this way, this is really counter-intuitive.
I think that the checkpatch warning should be ignored in this case.

>   #define FIELD64(number, name)                        \
>       FIELD(number, name),                        \
> -    [ROL16(number##_HIGH, 6)] = VMCS12_OFFSET(name) + sizeof(u32)
> +    [ROL16(number##_HIGH, 6)] = (VMCS12_OFFSET(name) + sizeof(u32))

This does not silence the checkpatch warning.
I think that the checkpatch warning should also be ignored in this case.

> 
>   const unsigned short vmcs12_field_offsets[] = {
>       FIELD(VIRTUAL_PROCESSOR_ID, virtual_processor_id),
> 

checkpatch output should always be taken with a grain of salt.
It just runs some heuristics on what looks improvable, but it is not THE 
law.

It is just a tool that can help in many cases, but not all.

Here, I think that the code is better as-is.


CJ