All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Paolo Bonzini <pbonzini@redhat.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
	kvm@vger.kernel.org, Robert Hu <robert.hu@intel.com>,
	Farrah Chen <farrah.chen@intel.com>,
	Danmei Wei <danmei.wei@intel.com>
Subject: [kvm:queue 210/210] arch/x86/kvm/cpuid.c:739:2: warning: unannotated fall-through between switch labels
Date: Thu, 10 Mar 2022 17:05:41 +0800	[thread overview]
Message-ID: <202203101604.2rV6WBqW-lkp@intel.com> (raw)

tree:   https://git.kernel.org/pub/scm/virt/kvm/kvm.git queue
head:   ce41d078aaa9cf15cbbb4a42878cc6160d76525e
commit: ce41d078aaa9cf15cbbb4a42878cc6160d76525e [210/210] KVM: x86: synthesize CPUID leaf 0x80000021h if useful
config: x86_64-randconfig-a014 (https://download.01.org/0day-ci/archive/20220310/202203101604.2rV6WBqW-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 276ca87382b8f16a65bddac700202924228982f6)
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/virt/kvm/kvm.git/commit/?id=ce41d078aaa9cf15cbbb4a42878cc6160d76525e
        git remote add kvm https://git.kernel.org/pub/scm/virt/kvm/kvm.git
        git fetch --no-tags kvm queue
        git checkout ce41d078aaa9cf15cbbb4a42878cc6160d76525e
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash arch/x86/kvm/

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

All warnings (new ones prefixed by >>):

>> arch/x86/kvm/cpuid.c:739:2: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
           default:
           ^
   arch/x86/kvm/cpuid.c:739:2: note: insert 'break;' to avoid fall-through
           default:
           ^
           break; 
   1 warning generated.


vim +739 arch/x86/kvm/cpuid.c

e53c95e8d41ef9 Sean Christopherson 2020-03-02  707  
e53c95e8d41ef9 Sean Christopherson 2020-03-02  708  static struct kvm_cpuid_entry2 *do_host_cpuid(struct kvm_cpuid_array *array,
aa10a7dc8858f6 Sean Christopherson 2020-03-02  709  					      u32 function, u32 index)
00b27a3efb1160 Avi Kivity          2011-11-23  710  {
e53c95e8d41ef9 Sean Christopherson 2020-03-02  711  	struct kvm_cpuid_entry2 *entry;
e53c95e8d41ef9 Sean Christopherson 2020-03-02  712  
e53c95e8d41ef9 Sean Christopherson 2020-03-02  713  	if (array->nent >= array->maxnent)
aa10a7dc8858f6 Sean Christopherson 2020-03-02  714  		return NULL;
e53c95e8d41ef9 Sean Christopherson 2020-03-02  715  
e53c95e8d41ef9 Sean Christopherson 2020-03-02  716  	entry = &array->entries[array->nent++];
aa10a7dc8858f6 Sean Christopherson 2020-03-02  717  
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  718  	memset(entry, 0, sizeof(*entry));
00b27a3efb1160 Avi Kivity          2011-11-23  719  	entry->function = function;
00b27a3efb1160 Avi Kivity          2011-11-23  720  	entry->index = index;
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  721  	switch (function & 0xC0000000) {
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  722  	case 0x40000000:
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  723  		/* Hypervisor leaves are always synthesized by __do_cpuid_func.  */
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  724  		return entry;
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  725  
ce41d078aaa9cf Paolo Bonzini       2021-10-21  726  	case 0x80000000:
ce41d078aaa9cf Paolo Bonzini       2021-10-21  727  		/*
ce41d078aaa9cf Paolo Bonzini       2021-10-21  728  		 * 0x80000021 is sometimes synthesized by __do_cpuid_func, which
ce41d078aaa9cf Paolo Bonzini       2021-10-21  729  		 * would result in out-of-bounds calls to do_host_cpuid.
ce41d078aaa9cf Paolo Bonzini       2021-10-21  730  		 */
ce41d078aaa9cf Paolo Bonzini       2021-10-21  731  		{
ce41d078aaa9cf Paolo Bonzini       2021-10-21  732  			static int max_cpuid_80000000;
ce41d078aaa9cf Paolo Bonzini       2021-10-21  733  			if (!READ_ONCE(max_cpuid_80000000))
ce41d078aaa9cf Paolo Bonzini       2021-10-21  734  				WRITE_ONCE(max_cpuid_80000000, cpuid_eax(0x80000000));
ce41d078aaa9cf Paolo Bonzini       2021-10-21  735  			if (function > READ_ONCE(max_cpuid_80000000))
ce41d078aaa9cf Paolo Bonzini       2021-10-21  736  				return entry;
ce41d078aaa9cf Paolo Bonzini       2021-10-21  737  		}
ce41d078aaa9cf Paolo Bonzini       2021-10-21  738  
2746a6b72ab9a9 Paolo Bonzini       2021-10-28 @739  	default:
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  740  		break;
2746a6b72ab9a9 Paolo Bonzini       2021-10-28  741  	}
ab8bcf64971180 Paolo Bonzini       2019-06-24  742  
00b27a3efb1160 Avi Kivity          2011-11-23  743  	cpuid_count(entry->function, entry->index,
00b27a3efb1160 Avi Kivity          2011-11-23  744  		    &entry->eax, &entry->ebx, &entry->ecx, &entry->edx);
d9aadaf689928b Paolo Bonzini       2019-07-04  745  
d9aadaf689928b Paolo Bonzini       2019-07-04  746  	switch (function) {
d9aadaf689928b Paolo Bonzini       2019-07-04  747  	case 4:
d9aadaf689928b Paolo Bonzini       2019-07-04  748  	case 7:
d9aadaf689928b Paolo Bonzini       2019-07-04  749  	case 0xb:
d9aadaf689928b Paolo Bonzini       2019-07-04  750  	case 0xd:
a06dcd625d6181 Jim Mattson         2019-09-12  751  	case 0xf:
a06dcd625d6181 Jim Mattson         2019-09-12  752  	case 0x10:
a06dcd625d6181 Jim Mattson         2019-09-12  753  	case 0x12:
d9aadaf689928b Paolo Bonzini       2019-07-04  754  	case 0x14:
a06dcd625d6181 Jim Mattson         2019-09-12  755  	case 0x17:
a06dcd625d6181 Jim Mattson         2019-09-12  756  	case 0x18:
690a757d610e50 Jing Liu            2022-01-05  757  	case 0x1d:
690a757d610e50 Jing Liu            2022-01-05  758  	case 0x1e:
a06dcd625d6181 Jim Mattson         2019-09-12  759  	case 0x1f:
d9aadaf689928b Paolo Bonzini       2019-07-04  760  	case 0x8000001d:
d9aadaf689928b Paolo Bonzini       2019-07-04  761  		entry->flags |= KVM_CPUID_FLAG_SIGNIFCANT_INDEX;
d9aadaf689928b Paolo Bonzini       2019-07-04  762  		break;
d9aadaf689928b Paolo Bonzini       2019-07-04  763  	}
aa10a7dc8858f6 Sean Christopherson 2020-03-02  764  
aa10a7dc8858f6 Sean Christopherson 2020-03-02  765  	return entry;
00b27a3efb1160 Avi Kivity          2011-11-23  766  }
00b27a3efb1160 Avi Kivity          2011-11-23  767  

:::::: The code at line 739 was first introduced by commit
:::::: 2746a6b72ab9a92bd188c4ac3e4122ee1c18f754 KVM: x86: skip host CPUID call for hypervisor leaves

:::::: TO: Paolo Bonzini <pbonzini@redhat.com>
:::::: CC: Paolo Bonzini <pbonzini@redhat.com>

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

             reply	other threads:[~2022-03-10  9:05 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-03-10  9:05 kernel test robot [this message]
2022-03-10 17:46 ` [kvm:queue 210/210] arch/x86/kvm/cpuid.c:739:2: warning: unannotated fall-through between switch labels Nathan Chancellor
2022-03-10 17:46   ` Nathan Chancellor

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202203101604.2rV6WBqW-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=danmei.wei@intel.com \
    --cc=farrah.chen@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kvm@vger.kernel.org \
    --cc=llvm@lists.linux.dev \
    --cc=pbonzini@redhat.com \
    --cc=robert.hu@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.