Re: [PATCH v4 14/15] KVM: arm64: Trap access to pVM restricted features

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Fuad,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on c500bee1c5b2f1d59b1081ac879d73268ab0ff17]

url:    https://github.com/0day-ci/linux/commits/Fuad-Tabba/KVM-arm64-Fixed-features-for-protected-VMs/20210817-161500
base:   c500bee1c5b2f1d59b1081ac879d73268ab0ff17
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/0day-ci/linux/commit/c05d33084d216fbdd94a7165aa6e93fd7517e0d8
        git remote add linux-review https://github.com/0day-ci/linux
        git fetch --no-tags linux-review Fuad-Tabba/KVM-arm64-Fixed-features-for-protected-VMs/20210817-161500
        git checkout c05d33084d216fbdd94a7165aa6e93fd7517e0d8
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=arm64 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>

All warnings (new ones prefixed by >>):

   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/kvm_host.h:6,
                    from arch/arm64/include/asm/kvm_emulate.h:14,
                    from arch/arm64/kvm/hyp/include/hyp/adjust_pc.h:13,
                    from arch/arm64/kvm/hyp/include/hyp/switch.h:10,
                    from arch/arm64/kvm/hyp/nvhe/switch.c:7:
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:163:43: note: in expansion of macro 'NULL'
     163 |         [ESR_ELx_EC_WFx]                = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[1]')
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:163:43: note: in expansion of macro 'NULL'
     163 |         [ESR_ELx_EC_WFx]                = NULL,
         |                                           ^~~~
>> arch/arm64/kvm/hyp/nvhe/switch.c:164:43: warning: initialized field overwritten [-Woverride-init]
     164 |         [ESR_ELx_EC_CP15_32]            = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:164:43: note: (near initialization for 'hyp_exit_handlers[3]')
   arch/arm64/kvm/hyp/nvhe/switch.c:165:43: warning: initialized field overwritten [-Woverride-init]
     165 |         [ESR_ELx_EC_CP15_64]            = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:165:43: note: (near initialization for 'hyp_exit_handlers[4]')
   arch/arm64/kvm/hyp/nvhe/switch.c:166:43: warning: initialized field overwritten [-Woverride-init]
     166 |         [ESR_ELx_EC_CP14_MR]            = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:166:43: note: (near initialization for 'hyp_exit_handlers[5]')
   arch/arm64/kvm/hyp/nvhe/switch.c:167:43: warning: initialized field overwritten [-Woverride-init]
     167 |         [ESR_ELx_EC_CP14_LS]            = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:167:43: note: (near initialization for 'hyp_exit_handlers[6]')
   arch/arm64/kvm/hyp/nvhe/switch.c:168:43: warning: initialized field overwritten [-Woverride-init]
     168 |         [ESR_ELx_EC_CP14_64]            = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:168:43: note: (near initialization for 'hyp_exit_handlers[12]')
   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/kvm_host.h:6,
                    from arch/arm64/include/asm/kvm_emulate.h:14,
                    from arch/arm64/kvm/hyp/include/hyp/adjust_pc.h:13,
                    from arch/arm64/kvm/hyp/include/hyp/switch.h:10,
                    from arch/arm64/kvm/hyp/nvhe/switch.c:7:
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:169:43: note: in expansion of macro 'NULL'
     169 |         [ESR_ELx_EC_HVC32]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[18]')
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:169:43: note: in expansion of macro 'NULL'
     169 |         [ESR_ELx_EC_HVC32]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:170:43: note: in expansion of macro 'NULL'
     170 |         [ESR_ELx_EC_SMC32]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[19]')
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:170:43: note: in expansion of macro 'NULL'
     170 |         [ESR_ELx_EC_SMC32]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:171:43: note: in expansion of macro 'NULL'
     171 |         [ESR_ELx_EC_HVC64]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[22]')
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:171:43: note: in expansion of macro 'NULL'
     171 |         [ESR_ELx_EC_HVC64]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:172:43: note: in expansion of macro 'NULL'
     172 |         [ESR_ELx_EC_SMC64]              = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[23]')
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:172:43: note: in expansion of macro 'NULL'
     172 |         [ESR_ELx_EC_SMC64]              = NULL,
         |                                           ^~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:173:43: warning: initialized field overwritten [-Woverride-init]
     173 |         [ESR_ELx_EC_SYS64]              = kvm_handle_pvm_sys64,
         |                                           ^~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:173:43: note: (near initialization for 'hyp_exit_handlers[24]')
   arch/arm64/kvm/hyp/nvhe/switch.c:174:43: warning: initialized field overwritten [-Woverride-init]
     174 |         [ESR_ELx_EC_SVE]                = kvm_handle_pvm_restricted,
         |                                           ^~~~~~~~~~~~~~~~~~~~~~~~~
   arch/arm64/kvm/hyp/nvhe/switch.c:174:43: note: (near initialization for 'hyp_exit_handlers[25]')
   In file included from include/uapi/linux/posix_types.h:5,
                    from include/uapi/linux/types.h:14,
                    from include/linux/types.h:6,
                    from include/linux/kvm_host.h:6,
                    from arch/arm64/include/asm/kvm_emulate.h:14,
                    from arch/arm64/kvm/hyp/include/hyp/adjust_pc.h:13,
                    from arch/arm64/kvm/hyp/include/hyp/switch.h:10,
                    from arch/arm64/kvm/hyp/nvhe/switch.c:7:
   include/linux/stddef.h:8:14: warning: initialized field overwritten [-Woverride-init]
       8 | #define NULL ((void *)0)
         |              ^
   arch/arm64/kvm/hyp/nvhe/switch.c:175:43: note: in expansion of macro 'NULL'
     175 |         [ESR_ELx_EC_IABT_LOW]           = NULL,
         |                                           ^~~~
   include/linux/stddef.h:8:14: note: (near initialization for 'hyp_exit_handlers[32]')
       8 | #define NULL ((void *)0)
         |              ^


vim +164 arch/arm64/kvm/hyp/nvhe/switch.c

   160	
   161	static exit_handle_fn hyp_exit_handlers[] = {
   162		[0 ... ESR_ELx_EC_MAX]		= kvm_handle_pvm_restricted,
 > 163		[ESR_ELx_EC_WFx]		= NULL,
 > 164		[ESR_ELx_EC_CP15_32]		= kvm_handle_pvm_restricted,
   165		[ESR_ELx_EC_CP15_64]		= kvm_handle_pvm_restricted,
   166		[ESR_ELx_EC_CP14_MR]		= kvm_handle_pvm_restricted,
   167		[ESR_ELx_EC_CP14_LS]		= kvm_handle_pvm_restricted,
   168		[ESR_ELx_EC_CP14_64]		= kvm_handle_pvm_restricted,
   169		[ESR_ELx_EC_HVC32]		= NULL,
   170		[ESR_ELx_EC_SMC32]		= NULL,
   171		[ESR_ELx_EC_HVC64]		= NULL,
   172		[ESR_ELx_EC_SMC64]		= NULL,
   173		[ESR_ELx_EC_SYS64]		= kvm_handle_pvm_sys64,
   174		[ESR_ELx_EC_SVE]		= kvm_handle_pvm_restricted,
   175		[ESR_ELx_EC_IABT_LOW]		= NULL,
   176		[ESR_ELx_EC_DABT_LOW]		= NULL,
   177		[ESR_ELx_EC_SOFTSTP_LOW]	= kvm_handle_pvm_restricted,
   178		[ESR_ELx_EC_WATCHPT_LOW]	= kvm_handle_pvm_restricted,
   179		[ESR_ELx_EC_BREAKPT_LOW]	= kvm_handle_pvm_restricted,
   180		[ESR_ELx_EC_BKPT32]		= kvm_handle_pvm_restricted,
   181		[ESR_ELx_EC_BRK64]		= kvm_handle_pvm_restricted,
   182		[ESR_ELx_EC_FP_ASIMD]		= kvm_handle_pvm_restricted,
   183		[ESR_ELx_EC_PAC]		= NULL,
   184	};
   185	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kvmarm mailing list
kvmarm@xxxxxxxxxxxxxxxxxxxxx
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

[Index of Archives]     [Linux KVM]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux