Re: arch/x86/kvm/svm/sev.c:1605:30: warning: parameter 'role' set but not used

From: Peter Gonda
Date: Mon Jun 13 2022 - 14:40:10 EST


On Mon, Jun 13, 2022 at 5:03 AM kernel test robot <lkp@xxxxxxxxx> wrote:
>
> Hi Peter,
>
> FYI, the error/warning still remains.
>
> tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
> head: b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3
> commit: 0c2c7c069285374fc8feacddc0498f8ab7627117 KVM: SEV: Mark nested locking of vcpu->lock
> date: 5 weeks ago
> config: x86_64-buildonly-randconfig-r005-20220613 (https://download.01.org/0day-ci/archive/20220613/202206131853.x4KJwC5Q-lkp@xxxxxxxxx/config)
> compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project d378268ead93c85803c270277f0243737b536ae7)
> 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://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=0c2c7c069285374fc8feacddc0498f8ab7627117
> git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
> git fetch --no-tags linus master
> git checkout 0c2c7c069285374fc8feacddc0498f8ab7627117
> # save the config file
> mkdir build_dir && cp config build_dir/.config
> COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/ drivers/media/platform/qcom/camss/
>
> If you fix the issue, kindly add following tag where applicable
> Reported-by: kernel test robot <lkp@xxxxxxxxx>
>
> All warnings (new ones prefixed by >>):
>
> >> arch/x86/kvm/svm/sev.c:1605:30: warning: parameter 'role' set but not used [-Wunused-but-set-parameter]
> enum sev_migration_role role)
> ^
> 1 warning generated.
>
>
> vim +/role +1605 arch/x86/kvm/svm/sev.c
>
> 1603
> 1604 static int sev_lock_vcpus_for_migration(struct kvm *kvm,
> > 1605 enum sev_migration_role role)
> 1606 {
> 1607 struct kvm_vcpu *vcpu;
> 1608 unsigned long i, j;
> 1609 bool first = true;
> 1610
> 1611 kvm_for_each_vcpu(i, vcpu, kvm) {
> 1612 if (mutex_lock_killable_nested(&vcpu->mutex, role))
> 1613 goto out_unlock;
> 1614
>

I am confused about this warning. |role| is used on this line above.
Is this because CONFIG_DEBUG_LOCK_ALLOC the subclass argument is
dropped in the macro?