[<prev] [next>] [day] [month] [year] [list]
Message-ID: <23f9d38f-2eb4-03d6-3a8a-aebfc5af5af0@intel.com>
Date: Mon, 9 Aug 2021 18:49:17 +0800
From: kernel test robot <rong.a.chen@...el.com>
To: Paolo Bonzini <pbonzini@...hat.com>
Cc: clang-built-linux <clang-built-linux@...glegroups.com>,
"kbuild-all@...ts.01.org" <kbuild-all@...ts.01.org>,
LKML <linux-kernel@...r.kernel.org>
Subject: arch/x86/kvm/mmu/mmu.c:3336:3: warning: Value stored to 'r' is never
read [clang-analyzer-deadcode.DeadStores]
tree:
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 85a90500f9a1717c4e142ce92e6c1cb1a339ec78
commit: 4a38162ee9f10f5f67c36f4f5aa4f6be2657efd5 KVM: MMU: load PDPTRs
outside mmu_lock
date: 4 months ago
:::::: branch date: 22 hours ago
:::::: commit date: 4 months ago
config: x86_64-randconfig-c001-20210806 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project
42b9c2a17a0b63cccf3ac197a82f91b28e53e643)
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
# install x86_64 cross compiling tool for clang build
# apt-get install binutils-x86-64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=4a38162ee9f10f5f67c36f4f5aa4f6be2657efd5
git remote add linus
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 4a38162ee9f10f5f67c36f4f5aa4f6be2657efd5
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross
ARCH=x86_64 clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>
clang-analyzer warnings: (new ones prefixed by >>)
arch/x86/kvm/mmu/mmu.c:2963:2: note: Taking false branch
if (unlikely(error_code & PFERR_RSVD_MASK))
^
arch/x86/kvm/mmu/mmu.c:2967:16: note: Assuming the condition is false
if (unlikely(((error_code & (PFERR_FETCH_MASK |
PFERR_PRESENT_MASK))
^
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
arch/x86/kvm/mmu/mmu.c:2967:2: note: Taking false branch
if (unlikely(((error_code & (PFERR_FETCH_MASK |
PFERR_PRESENT_MASK))
^
arch/x86/kvm/mmu/mmu.c:2985:9: note: Assuming
'shadow_acc_track_mask' is equal to 0
return shadow_acc_track_mask != 0 ||
^~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2985:9: note: Left side of '||' is false
arch/x86/kvm/mmu/mmu.c:2986:10: note: Assuming the condition is true
((error_code & (PFERR_WRITE_MASK | PFERR_PRESENT_MASK))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2985:2: note: Returning the value 1, which
participates in a condition later
return shadow_acc_track_mask != 0 ||
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:3053:7: note: Returning from
'page_fault_can_be_fast'
if (!page_fault_can_be_fast(error_code))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:3053:2: note: Taking false branch
if (!page_fault_can_be_fast(error_code))
^
arch/x86/kvm/mmu/mmu.c:3061:3: note: Calling 'shadow_walk_init'
for_each_shadow_entry_lockless(vcpu, cr2_or_gpa,
iterator, spte)
^
arch/x86/kvm/mmu/mmu.c:166:7: note: expanded from macro
'for_each_shadow_entry_lockless'
for (shadow_walk_init(&(_walker), _vcpu, _addr);
\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2111:2: note: Calling
'shadow_walk_init_using_root'
shadow_walk_init_using_root(iterator, vcpu,
vcpu->arch.mmu->root_hpa,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2087:6: note: Assuming field 'level' is not
equal to PT64_ROOT_4LEVEL
if (iterator->level == PT64_ROOT_4LEVEL &&
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2087:42: note: Left side of '&&' is false
if (iterator->level == PT64_ROOT_4LEVEL &&
^
arch/x86/kvm/mmu/mmu.c:2092:6: note: Assuming field 'level' is not
equal to PT32E_ROOT_LEVEL
if (iterator->level == PT32E_ROOT_LEVEL) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2092:2: note: Taking false branch
if (iterator->level == PT32E_ROOT_LEVEL) {
^
arch/x86/kvm/mmu/mmu.c:2106:1: note: Returning without writing to
'iterator->sptep'
}
^
arch/x86/kvm/mmu/mmu.c:2111:2: note: Returning from
'shadow_walk_init_using_root'
shadow_walk_init_using_root(iterator, vcpu,
vcpu->arch.mmu->root_hpa,
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2113:1: note: Returning without writing to
'iterator->sptep'
}
^
arch/x86/kvm/mmu/mmu.c:3061:3: note: Returning from 'shadow_walk_init'
for_each_shadow_entry_lockless(vcpu, cr2_or_gpa,
iterator, spte)
^
arch/x86/kvm/mmu/mmu.c:166:7: note: expanded from macro
'for_each_shadow_entry_lockless'
for (shadow_walk_init(&(_walker), _vcpu, _addr);
\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:3061:3: note: Calling 'shadow_walk_okay'
for_each_shadow_entry_lockless(vcpu, cr2_or_gpa,
iterator, spte)
^
arch/x86/kvm/mmu/mmu.c:167:7: note: expanded from macro
'for_each_shadow_entry_lockless'
shadow_walk_okay(&(_walker)) &&
\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2117:6: note: Assuming field 'level' is <
PG_LEVEL_4K
if (iterator->level < PG_LEVEL_4K)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:2117:2: note: Taking true branch
if (iterator->level < PG_LEVEL_4K)
^
arch/x86/kvm/mmu/mmu.c:2118:3: note: Returning without writing to
'iterator->sptep'
return false;
^
arch/x86/kvm/mmu/mmu.c:3061:3: note: Returning from 'shadow_walk_okay'
for_each_shadow_entry_lockless(vcpu, cr2_or_gpa,
iterator, spte)
^
arch/x86/kvm/mmu/mmu.c:167:7: note: expanded from macro
'for_each_shadow_entry_lockless'
shadow_walk_okay(&(_walker)) &&
\
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/x86/kvm/mmu/mmu.c:3061:3: note: Left side of '&&' is false
for_each_shadow_entry_lockless(vcpu, cr2_or_gpa,
iterator, spte)
^
arch/x86/kvm/mmu/mmu.c:167:36: note: expanded from macro
'for_each_shadow_entry_lockless'
shadow_walk_okay(&(_walker)) &&
\
^
arch/x86/kvm/mmu/mmu.c:3065:3: note: Taking true branch
if (!is_shadow_present_pte(spte))
^
arch/x86/kvm/mmu/mmu.c:3066:4: note: Execution continues on line 3140
break;
^
arch/x86/kvm/mmu/mmu.c:3140:2: note: 4th function call argument is
an uninitialized value
trace_fast_page_fault(vcpu, cr2_or_gpa, error_code,
iterator.sptep,
^
~~~~~~~~~~~~~~
>> arch/x86/kvm/mmu/mmu.c:3336:3: warning: Value stored to 'r' is never read [clang-analyzer-deadcode.DeadStores]
r = -EIO;
^ ~~~~
arch/x86/kvm/mmu/mmu.c:3336:3: note: Value stored to 'r' is never read
r = -EIO;
^ ~~~~
arch/x86/kvm/mmu/mmu.c:3350:4: warning: Value stored to 'r' is never
read [clang-analyzer-deadcode.DeadStores]
r = -EIO;
^ ~~~~
arch/x86/kvm/mmu/mmu.c:3350:4: note: Value stored to 'r' is never read
r = -EIO;
^ ~~~~
Suppressed 5 warnings (5 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
2 warnings generated.
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
5 warnings generated.
Suppressed 5 warnings (2 in non-user code, 3 with check filters).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (2 in non-user code, 2 with check filters).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
kernel/exit.c:1571:3: warning: Value stored to 'signo' is never read
[clang-analyzer-deadcode.DeadStores]
signo = SIGCHLD;
^
kernel/exit.c:1571:3: note: Value stored to 'signo' is never read
kernel/exit.c:1706:3: warning: Value stored to 'signo' is never read
[clang-analyzer-deadcode.DeadStores]
signo = SIGCHLD;
^
kernel/exit.c:1706:3: note: Value stored to 'signo' is never read
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
Suppressed 4 warnings (4 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
3 warnings generated.
kernel/resource.c:83:2: warning: The expression is an uninitialized
value. The computed value will also be garbage
[clang-analyzer-core.uninitialized.Assign]
(*pos)++;
^
kernel/resource.c:1666:2: note: 'l' declared without an initial value
loff_t l;
^~~~~~~~
kernel/resource.c:1669:2: note: Loop condition is true. Entering
loop body
for (p = p->child; p ; p = r_next(NULL, p, &l)) {
^
kernel/resource.c:1674:7: note: Assuming the condition is true
if (p->start >= addr + size)
^~~~~~~~~~~~~~~~~~~~~~~
kernel/resource.c:1674:3: note: Taking true branch
if (p->start >= addr + size)
^
kernel/resource.c:1675:4: note: Execution continues on line 1669
continue;
^
kernel/resource.c:1669:29: note: Calling 'r_next'
for (p = p->child; p ; p = r_next(NULL, p, &l)) {
^~~~~~~~~~~~~~~~~~~
kernel/resource.c:83:2: note: The expression is an uninitialized
value. The computed value will also be garbage
(*pos)++;
^~~~~~
Suppressed 2 warnings (2 in non-user code).
Use -header-filter=.* to display errors from all non-system headers.
Use -system-headers to display errors from system headers as well.
4 warnings generated.
kernel/sysctl.c:1484:10: warning: The left operand of '==' is a
garbage value [clang-analyzer-core.UndefinedBinaryOperatorResult]
if (c == '-') {
~ ^
kernel/sysctl.c:1431:63: note: 'c' declared without an initial value
char tr_a[] = { '-', ',', '\n' }, tr_b[] = { ',', '\n', 0 }, c;
^
kernel/sysctl.c:1433:6: note: Assuming 'bitmap' is non-null
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^~~~~~~
kernel/sysctl.c:1433:6: note: Left side of '||' is false
kernel/sysctl.c:1433:17: note: Assuming 'bitmap_len' is not equal to 0
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^~~~~~~~~~~
kernel/sysctl.c:1433:6: note: Left side of '||' is false
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^
kernel/sysctl.c:1433:32: note: Assuming 'left' is not equal to 0
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^~~~~
kernel/sysctl.c:1433:6: note: Left side of '||' is false
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^
kernel/sysctl.c:1433:42: note: Assuming the condition is false
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^~~~~
kernel/sysctl.c:1433:48: note: Left side of '&&' is false
if (!bitmap || !bitmap_len || !left || (*ppos && !write)) {
^
kernel/sysctl.c:1438:6: note: Assuming 'write' is not equal to 0
if (write) {
^~~~~
kernel/sysctl.c:1438:2: note: Taking true branch
if (write) {
^
kernel/sysctl.c:1442:7: note: Assuming the condition is false
if (left > PAGE_SIZE - 1) {
vim +/r +3336 arch/x86/kvm/mmu/mmu.c
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3288 651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel
2010-09-10 3289 static int mmu_alloc_shadow_roots(struct kvm_vcpu *vcpu)
17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity 2007-01-05
3290 {
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3291 struct kvm_mmu *mmu = vcpu->arch.mmu;
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3292 u64 pdptrs[4], pm_mask;
be01e8e2c632c4 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-03-20
3293 gfn_t root_gfn, root_pgd;
8123f265248c85 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-04-27
3294 hpa_t root;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3295 unsigned i;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3296 int r;
3bb65a22a45020 drivers/kvm/mmu.c Avi Kivity 2007-01-05
3297 b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson
2021-03-04 3298 root_pgd = mmu->get_guest_pgd(vcpu);
be01e8e2c632c4 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-03-20
3299 root_gfn = root_pgd >> PAGE_SHIFT;
17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity 2007-01-05
3300 651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel
2010-09-10 3301 if (mmu_check_root(vcpu, root_gfn))
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3302 return 1;
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3303 4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini
2021-04-08 3304 /*
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3305 * On SVM, reading PDPTRs might access guest memory, which might
fault
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3306 * and thus might sleep. Grab the PDPTRs before acquiring mmu_lock.
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3307 */
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3308 if (mmu->root_level == PT32E_ROOT_LEVEL) {
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3309 for (i = 0; i < 4; ++i) {
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3310 pdptrs[i] = mmu->get_pdptr(vcpu, i);
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3311 if (!(pdptrs[i] & PT_PRESENT_MASK))
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3312 continue;
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3313 6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson
2021-03-04 3314 if (mmu_check_root(vcpu, pdptrs[i] >> PAGE_SHIFT))
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3315 return 1;
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3316 }
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3317 }
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3318 4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini
2021-04-08 3319 write_lock(&vcpu->kvm->mmu_lock);
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3320 r = make_mmu_pages_available(vcpu);
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3321 if (r < 0)
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3322 goto out_unlock;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3323 651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel
2010-09-10 3324 /*
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3325 * Do we shadow a long mode page table? If so we need to
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3326 * write-protect the guests page table root.
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3327 */
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3328 if (mmu->root_level >= PT64_ROOT_4LEVEL) {
8123f265248c85 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-04-27
3329 root = mmu_alloc_root(vcpu, root_gfn, 0,
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3330 mmu->shadow_root_level, false);
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3331 mmu->root_hpa = root;
be01e8e2c632c4 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-03-20
3332 goto set_root_pgd;
17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity 2007-01-05
3333 }
f87f928882d080 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-02
3334 4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini
2021-04-08 3335 if (WARN_ON_ONCE(!mmu->pae_root)) {
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
@3336 r = -EIO;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3337 goto out_unlock;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3338 }
73ad160693dc3b arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3339 651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel
2010-09-10 3340 /*
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3341 * We shadow a 32 bit page table. This may be a legacy 2-level
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3342 * or a PAE 3-level page table. In either case we need to be
aware that
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3343 * the shadow page table may be a PAE or a long mode page table.
651dd37a9ce6fd arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3344 */
17e368d94af77c arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3345 pm_mask = PT_PRESENT_MASK | shadow_me_mask;
748e52b9b73680 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3346 if (mmu->shadow_root_level == PT64_ROOT_4LEVEL) {
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3347 pm_mask |= PT_ACCESSED_MASK | PT_WRITABLE_MASK | PT_USER_MASK;
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3348 4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini
2021-04-08 3349 if (WARN_ON_ONCE(!mmu->lm_root)) {
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3350 r = -EIO;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3351 goto out_unlock;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3352 }
73ad160693dc3b arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3353 748e52b9b73680 arch/x86/kvm/mmu/mmu.c Sean Christopherson
2021-03-04 3354 mmu->lm_root[0] = __pa(mmu->pae_root) | pm_mask;
04d45551a1eefb arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3355 }
04d45551a1eefb arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3356 17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity
2007-01-05 3357 for (i = 0; i < 4; ++i) {
c834e5e44fc15a arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-09
3358 WARN_ON_ONCE(IS_VALID_PAE_ROOT(mmu->pae_root[i]));
6e6ec58485746e arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3359 b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson
2021-03-04 3360 if (mmu->root_level == PT32E_ROOT_LEVEL) {
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3361 if (!(pdptrs[i] & PT_PRESENT_MASK)) {
c834e5e44fc15a arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-09
3362 mmu->pae_root[i] = INVALID_PAE_ROOT;
417726a3fbecb2 drivers/kvm/mmu.c Avi Kivity 2007-04-12
3363 continue;
417726a3fbecb2 drivers/kvm/mmu.c Avi Kivity 2007-04-12
3364 }
6e0918aec49a5f arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3365 root_gfn = pdptrs[i] >> PAGE_SHIFT;
5a7388c2d2faa2 arch/x86/kvm/mmu.c Eric Northup 2010-04-26
3366 }
8facbbff071ff2 arch/x86/kvm/mmu.c Avi Kivity 2010-05-04
3367 8123f265248c85 arch/x86/kvm/mmu/mmu.c Sean Christopherson
2020-04-27 3368 root = mmu_alloc_root(vcpu, root_gfn, i << 30,
8123f265248c85 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2020-04-27
3369 PT32_ROOT_LEVEL, false);
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3370 mmu->pae_root[i] = root | pm_mask;
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3371 }
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3372 ba0a194ffbfb41 arch/x86/kvm/mmu/mmu.c Sean Christopherson
2021-03-04 3373 if (mmu->shadow_root_level == PT64_ROOT_4LEVEL)
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3374 mmu->root_hpa = __pa(mmu->lm_root);
ba0a194ffbfb41 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3375 else
ba0a194ffbfb41 arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3376 mmu->root_hpa = __pa(mmu->pae_root);
81407ca553c0c8 arch/x86/kvm/mmu.c Joerg Roedel 2010-09-10
3377 be01e8e2c632c4 arch/x86/kvm/mmu/mmu.c Sean Christopherson
2020-03-20 3378 set_root_pgd:
b37233c911cbec arch/x86/kvm/mmu/mmu.c Sean Christopherson 2021-03-04
3379 mmu->root_pgd = root_pgd;
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3380 out_unlock:
4a38162ee9f10f arch/x86/kvm/mmu/mmu.c Paolo Bonzini 2021-04-08
3381 write_unlock(&vcpu->kvm->mmu_lock);
ad7dc69aeb2313 arch/x86/kvm/mmu.c Vitaly Kuznetsov 2019-02-22
3382 8986ecc0ef58c9 arch/x86/kvm/mmu.c Marcelo Tosatti
2009-05-12 3383 return 0;
17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity 2007-01-05
3384 }
17ac10ad2bb7d8 drivers/kvm/mmu.c Avi Kivity 2007-01-05 3385
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
Download attachment ".config.gz" of type "application/gzip" (27865 bytes)
View attachment "Attached Message Part" of type "text/plain" (151 bytes)
Powered by blists - more mailing lists