All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: arch/arm64/kvm/mmu.c:1570 user_mem_abort() error: uninitialized symbol 'fault_granule'.
Date: Sat, 14 Dec 2024 15:15:54 +0800	[thread overview]
Message-ID: <202412141529.P024Z9Gw-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: Ard Biesheuvel <ardb@kernel.org>
CC: Marc Zyngier <maz@kernel.org>

Hi Ard,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   a446e965a188ee8f745859e63ce046fe98577d45
commit: 11e5ea5242e38d44fcede879473566bb6d68f954 KVM: arm64: Use helpers to classify exception types reported via ESR
date:   1 year ago
:::::: branch date: 6 hours ago
:::::: commit date: 1 year ago
config: arm64-randconfig-r073-20241207 (https://download.01.org/0day-ci/archive/20241214/202412141529.P024Z9Gw-lkp@intel.com/config)
compiler: aarch64-linux-gcc (GCC) 14.2.0

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202412141529.P024Z9Gw-lkp@intel.com/

smatch warnings:
arch/arm64/kvm/mmu.c:1570 user_mem_abort() error: uninitialized symbol 'fault_granule'.

vim +/fault_granule +1570 arch/arm64/kvm/mmu.c

ea7fc1bb1cd1b92 arch/arm64/kvm/mmu.c Steven Price        2021-06-21  1376  
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1377  static int user_mem_abort(struct kvm_vcpu *vcpu, phys_addr_t fault_ipa,
98047888bb9fd57 arch/arm/kvm/mmu.c   Christoffer Dall    2014-08-19  1378  			  struct kvm_memory_slot *memslot, unsigned long hva,
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1379  			  bool fault_is_perm)
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1380  {
ffd1b63a5860968 arch/arm64/kvm/mmu.c Will Deacon         2020-09-30  1381  	int ret = 0;
6396b852e46e562 virt/kvm/arm/mmu.c   Punit Agrawal       2018-12-11  1382  	bool write_fault, writable, force_pte = false;
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1383  	bool exec_fault, mte_allowed;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1384  	bool device = false;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1385  	unsigned long mmu_seq;
ad361f093c1e31d arch/arm/kvm/mmu.c   Christoffer Dall    2012-11-01  1386  	struct kvm *kvm = vcpu->kvm;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1387  	struct kvm_mmu_memory_cache *memcache = &vcpu->arch.mmu_page_cache;
ad361f093c1e31d arch/arm/kvm/mmu.c   Christoffer Dall    2012-11-01  1388  	struct vm_area_struct *vma;
1559b7583ff6ed0 virt/kvm/arm/mmu.c   James Morse         2019-12-17  1389  	short vma_shift;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1390  	gfn_t gfn;
ba049e93aef7e8c arch/arm/kvm/mmu.c   Dan Williams        2016-01-15  1391  	kvm_pfn_t pfn;
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1392  	bool logging_active = memslot_is_logging(memslot);
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1393  	long vma_pagesize, fault_granule;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1394  	enum kvm_pgtable_prot prot = KVM_PGTABLE_PROT_R;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1395  	struct kvm_pgtable *pgt;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1396  
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1397  	if (fault_is_perm)
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1398  		fault_granule = kvm_vcpu_trap_get_perm_fault_granule(vcpu);
a7d079cea2dffb1 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-09  1399  	write_fault = kvm_is_write_fault(vcpu);
c4ad98e4b72cb5b arch/arm64/kvm/mmu.c Marc Zyngier        2020-09-15  1400  	exec_fault = kvm_vcpu_trap_is_exec_fault(vcpu);
d0e22b4ac3ba23c virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1401  	VM_BUG_ON(write_fault && exec_fault);
d0e22b4ac3ba23c virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1402  
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1403  	if (fault_is_perm && !write_fault && !exec_fault) {
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1404  		kvm_err("Unexpected L2 read permission error\n");
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1405  		return -EFAULT;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1406  	}
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1407  
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1408  	/*
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1409  	 * Permission faults just need to update the existing leaf entry,
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1410  	 * and so normally don't require allocations from the memcache. The
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1411  	 * only exception to this is when dirty logging is enabled at runtime
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1412  	 * and a write fault needs to collapse a block entry into a table.
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1413  	 */
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1414  	if (!fault_is_perm || (logging_active && write_fault)) {
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1415  		ret = kvm_mmu_topup_memory_cache(memcache,
fe49fd940e22592 arch/arm64/kvm/mmu.c Marc Zyngier        2023-10-12  1416  						 kvm_mmu_cache_min_pages(vcpu->arch.hw_mmu));
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1417  		if (ret)
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1418  			return ret;
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1419  	}
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1420  
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1421  	/*
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1422  	 * Let's check if we will get back a huge page backed by hugetlbfs, or
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1423  	 * get block mapping for device MMIO region.
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1424  	 */
89154dd5313f774 arch/arm64/kvm/mmu.c Michel Lespinasse   2020-06-08  1425  	mmap_read_lock(current->mm);
09eef83a801512a arch/arm64/kvm/mmu.c Liam Howlett        2021-06-28  1426  	vma = vma_lookup(current->mm, hva);
37b544087ef3f65 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-17  1427  	if (unlikely(!vma)) {
37b544087ef3f65 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-17  1428  		kvm_err("Failed to find VMA for hva 0x%lx\n", hva);
89154dd5313f774 arch/arm64/kvm/mmu.c Michel Lespinasse   2020-06-08  1429  		mmap_read_unlock(current->mm);
37b544087ef3f65 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-17  1430  		return -EFAULT;
37b544087ef3f65 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-17  1431  	}
37b544087ef3f65 arch/arm/kvm/mmu.c   Ard Biesheuvel      2014-09-17  1432  
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1433  	/*
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1434  	 * logging_active is guaranteed to never be true for VM_PFNMAP
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1435  	 * memslots.
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1436  	 */
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1437  	if (logging_active) {
a80868f39855484 virt/kvm/arm/mmu.c   Suzuki K Poulose    2019-03-12  1438  		force_pte = true;
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1439  		vma_shift = PAGE_SHIFT;
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1440  	} else {
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1441  		vma_shift = get_vma_page_shift(vma, hva);
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1442  	}
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1443  
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1444  	switch (vma_shift) {
faf000397e7f103 arch/arm64/kvm/mmu.c Gavin Shan          2020-11-03  1445  #ifndef __PAGETABLE_PMD_FOLDED
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1446  	case PUD_SHIFT:
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1447  		if (fault_supports_stage2_huge_mapping(memslot, hva, PUD_SIZE))
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1448  			break;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1449  		fallthrough;
faf000397e7f103 arch/arm64/kvm/mmu.c Gavin Shan          2020-11-03  1450  #endif
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1451  	case CONT_PMD_SHIFT:
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1452  		vma_shift = PMD_SHIFT;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1453  		fallthrough;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1454  	case PMD_SHIFT:
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1455  		if (fault_supports_stage2_huge_mapping(memslot, hva, PMD_SIZE))
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1456  			break;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1457  		fallthrough;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1458  	case CONT_PTE_SHIFT:
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1459  		vma_shift = PAGE_SHIFT;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1460  		force_pte = true;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1461  		fallthrough;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1462  	case PAGE_SHIFT:
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1463  		break;
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1464  	default:
2f40c46021bbb3e arch/arm64/kvm/mmu.c Gavin Shan          2020-10-26  1465  		WARN_ONCE(1, "Unknown vma_shift %d", vma_shift);
a80868f39855484 virt/kvm/arm/mmu.c   Suzuki K Poulose    2019-03-12  1466  	}
a80868f39855484 virt/kvm/arm/mmu.c   Suzuki K Poulose    2019-03-12  1467  
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1468  	vma_pagesize = 1UL << vma_shift;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1469  	if (vma_pagesize == PMD_SIZE || vma_pagesize == PUD_SIZE)
523b3999e5f620c arch/arm64/kvm/mmu.c Alexandru Elisei    2020-09-10  1470  		fault_ipa &= ~(vma_pagesize - 1);
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1471  
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1472  	gfn = fault_ipa >> PAGE_SHIFT;
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1473  	mte_allowed = kvm_vma_mte_allowed(vma);
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1474  
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1475  	/* Don't use the VMA after the unlock -- it may have vanished */
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1476  	vma = NULL;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1477  
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1478  	/*
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1479  	 * Read mmu_invalidate_seq so that KVM can detect if the results of
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1480  	 * vma_lookup() or __gfn_to_pfn_memslot() become stale prior to
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1481  	 * acquiring kvm->mmu_lock.
10ba2d17d297292 arch/arm64/kvm/mmu.c Gavin Shan          2021-03-16  1482  	 *
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1483  	 * Rely on mmap_read_unlock() for an implicit smp_rmb(), which pairs
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1484  	 * with the smp_wmb() in kvm_mmu_invalidate_end().
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1485  	 */
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1486  	mmu_seq = vcpu->kvm->mmu_invalidate_seq;
13ec9308a85702a arch/arm64/kvm/mmu.c David Matlack       2023-03-13  1487  	mmap_read_unlock(current->mm);
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1488  
c8b88b332bedf47 arch/arm64/kvm/mmu.c Peter Xu            2022-10-11  1489  	pfn = __gfn_to_pfn_memslot(memslot, gfn, false, false, NULL,
10ba2d17d297292 arch/arm64/kvm/mmu.c Gavin Shan          2021-03-16  1490  				   write_fault, &writable, NULL);
196f878a7ac2e72 virt/kvm/arm/mmu.c   James Morse         2017-06-20  1491  	if (pfn == KVM_PFN_ERR_HWPOISON) {
1559b7583ff6ed0 virt/kvm/arm/mmu.c   James Morse         2019-12-17  1492  		kvm_send_hwpoison_signal(hva, vma_shift);
196f878a7ac2e72 virt/kvm/arm/mmu.c   James Morse         2017-06-20  1493  		return 0;
196f878a7ac2e72 virt/kvm/arm/mmu.c   James Morse         2017-06-20  1494  	}
9ac715954682b23 arch/arm/kvm/mmu.c   Christoffer Dall    2016-08-17  1495  	if (is_error_noslot_pfn(pfn))
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1496  		return -EFAULT;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1497  
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1498  	if (kvm_is_device_pfn(pfn)) {
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1499  		/*
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1500  		 * If the page was identified as device early by looking at
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1501  		 * the VMA flags, vma_pagesize is already representing the
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1502  		 * largest quantity we can map.  If instead it was mapped
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1503  		 * via gfn_to_pfn_prot(), vma_pagesize is set to PAGE_SIZE
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1504  		 * and must not be upgraded.
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1505  		 *
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1506  		 * In both cases, we don't let transparent_hugepage_adjust()
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1507  		 * change things at the last minute.
2aa53d68cee6603 arch/arm64/kvm/mmu.c Keqian Zhu          2021-05-07  1508  		 */
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1509  		device = true;
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1510  	} else if (logging_active && !write_fault) {
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1511  		/*
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1512  		 * Only actually map the page as writable if this was a write
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1513  		 * fault.
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1514  		 */
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1515  		writable = false;
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1516  	}
b88657674d39fc2 arch/arm/kvm/mmu.c   Kim Phillips        2014-06-26  1517  
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1518  	if (exec_fault && device)
6d674e28f642e3f virt/kvm/arm/mmu.c   Marc Zyngier        2019-12-11  1519  		return -ENOEXEC;
6d674e28f642e3f virt/kvm/arm/mmu.c   Marc Zyngier        2019-12-11  1520  
f783ef1c0e82e4f arch/arm64/kvm/mmu.c Jing Zhang          2022-01-18  1521  	read_lock(&kvm->mmu_lock);
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1522  	pgt = vcpu->arch.hw_mmu->pgt;
20ec3ebd707c77f arch/arm64/kvm/mmu.c Chao Peng           2022-08-16  1523  	if (mmu_invalidate_retry(kvm, mmu_seq))
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1524  		goto out_unlock;
15a49a44fc36209 arch/arm/kvm/mmu.c   Mario Smarduch      2015-01-15  1525  
3f58bf63455588a virt/kvm/arm/mmu.c   Punit Agrawal       2018-12-11  1526  	/*
0529c9021252a58 arch/arm64/kvm/mmu.c Suzuki K Poulose    2020-05-07  1527  	 * If we are not forced to use page mapping, check if we are
0529c9021252a58 arch/arm64/kvm/mmu.c Suzuki K Poulose    2020-05-07  1528  	 * backed by a THP and thus use block mapping if possible.
3f58bf63455588a virt/kvm/arm/mmu.c   Punit Agrawal       2018-12-11  1529  	 */
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1530  	if (vma_pagesize == PAGE_SIZE && !(force_pte || device)) {
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1531  		if (fault_is_perm && fault_granule > PAGE_SIZE)
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1532  			vma_pagesize = fault_granule;
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1533  		else
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1534  			vma_pagesize = transparent_hugepage_adjust(kvm, memslot,
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1535  								   hva, &pfn,
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1536  								   &fault_ipa);
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1537  
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1538  		if (vma_pagesize < 0) {
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1539  			ret = vma_pagesize;
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1540  			goto out_unlock;
e86fc1a3a3e9b48 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1541  		}
f2cc327303b13a7 arch/arm64/kvm/mmu.c Marc Zyngier        2021-07-26  1542  	}
a9c0e12ebee56ef virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1543  
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28  1544  	if (!fault_is_perm && !device && kvm_has_mte(kvm)) {
d89585fbb308690 arch/arm64/kvm/mmu.c Peter Collingbourne 2022-11-03  1545  		/* Check the VMM hasn't introduced a new disallowed VMA */
8c2e8ac8ad4be68 arch/arm64/kvm/mmu.c Marc Zyngier        2023-03-16  1546  		if (mte_allowed) {
2dbf12ae132cc78 arch/arm64/kvm/mmu.c Catalin Marinas     2022-11-03  1547  			sanitise_mte_tags(kvm, pfn, vma_pagesize);
2dbf12ae132cc78 arch/arm64/kvm/mmu.c Catalin Marinas     2022-11-03  1548  		} else {
9f03db6673598f6 arch/arm64/kvm/mmu.c Marc Zyngier        2021-06-22  1549  			ret = -EFAULT;
ea7fc1bb1cd1b92 arch/arm64/kvm/mmu.c Steven Price        2021-06-21  1550  			goto out_unlock;
ea7fc1bb1cd1b92 arch/arm64/kvm/mmu.c Steven Price        2021-06-21  1551  		}
2dbf12ae132cc78 arch/arm64/kvm/mmu.c Catalin Marinas     2022-11-03  1552  	}
3f58bf63455588a virt/kvm/arm/mmu.c   Punit Agrawal       2018-12-11  1553  
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1554  	if (writable)
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1555  		prot |= KVM_PGTABLE_PROT_W;
a9c0e12ebee56ef virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1556  
25aa28691bb960a arch/arm64/kvm/mmu.c Yanan Wang          2021-06-17  1557  	if (exec_fault)
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1558  		prot |= KVM_PGTABLE_PROT_X;
a9c0e12ebee56ef virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1559  
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1560  	if (device)
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1561  		prot |= KVM_PGTABLE_PROT_DEVICE;
d8569fba13850bb arch/arm64/kvm/mmu.c Mark Rutland        2023-10-16  1562  	else if (cpus_have_final_cap(ARM64_HAS_CACHE_DIC))
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1563  		prot |= KVM_PGTABLE_PROT_X;
a15f693935a9f1f virt/kvm/arm/mmu.c   Marc Zyngier        2017-10-23  1564  
7d894834a305568 arch/arm64/kvm/mmu.c Yanan Wang          2020-12-02  1565  	/*
7d894834a305568 arch/arm64/kvm/mmu.c Yanan Wang          2020-12-02  1566  	 * Under the premise of getting a FSC_PERM fault, we just need to relax
7d894834a305568 arch/arm64/kvm/mmu.c Yanan Wang          2020-12-02  1567  	 * permissions only if vma_pagesize equals fault_granule. Otherwise,
7d894834a305568 arch/arm64/kvm/mmu.c Yanan Wang          2020-12-02  1568  	 * kvm_pgtable_stage2_map() should be called to change block size.
7d894834a305568 arch/arm64/kvm/mmu.c Yanan Wang          2020-12-02  1569  	 */
11e5ea5242e38d4 arch/arm64/kvm/mmu.c Ard Biesheuvel      2023-11-28 @1570  	if (fault_is_perm && vma_pagesize == fault_granule)
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1571  		ret = kvm_pgtable_stage2_relax_perms(pgt, fault_ipa, prot);
1577cb5823cefdf arch/arm64/kvm/mmu.c Oliver Upton        2022-11-07  1572  	else
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1573  		ret = kvm_pgtable_stage2_map(pgt, fault_ipa, vma_pagesize,
6f745f1bb5bf291 arch/arm64/kvm/mmu.c Will Deacon         2020-09-11  1574  					     __pfn_to_phys(pfn), prot,
ddcadb297ce5cc1 arch/arm64/kvm/mmu.c Oliver Upton        2022-12-02  1575  					     memcache,
ddcadb297ce5cc1 arch/arm64/kvm/mmu.c Oliver Upton        2022-12-02  1576  					     KVM_PGTABLE_WALK_HANDLE_FAULT |
ddcadb297ce5cc1 arch/arm64/kvm/mmu.c Oliver Upton        2022-12-02  1577  					     KVM_PGTABLE_WALK_SHARED);
ad361f093c1e31d arch/arm/kvm/mmu.c   Christoffer Dall    2012-11-01  1578  
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1579  	/* Mark the page dirty only if the fault is handled successfully */
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1580  	if (writable && !ret) {
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1581  		kvm_set_pfn_dirty(pfn);
10ba2d17d297292 arch/arm64/kvm/mmu.c Gavin Shan          2021-03-16  1582  		mark_page_dirty_in_slot(kvm, memslot, gfn);
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1583  	}
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1584  
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1585  out_unlock:
f783ef1c0e82e4f arch/arm64/kvm/mmu.c Jing Zhang          2022-01-18  1586  	read_unlock(&kvm->mmu_lock);
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1587  	kvm_release_pfn_clean(pfn);
509552e65ae8287 arch/arm64/kvm/mmu.c Yanan Wang          2021-01-14  1588  	return ret != -EAGAIN ? ret : 0;
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1589  }
94f8e6418d3915d arch/arm/kvm/mmu.c   Christoffer Dall    2013-01-20  1590  

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

             reply	other threads:[~2024-12-14  7:16 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-14  7:15 kernel test robot [this message]
  -- strict thread matches above, loose matches on Subject: below --
2024-12-16  4:46 arch/arm64/kvm/mmu.c:1570 user_mem_abort() error: uninitialized symbol 'fault_granule' kernel test robot
2024-12-11 16:56 kernel test robot
2024-12-09  4:47 kernel test robot
2024-10-18 22:52 kernel test robot
2024-10-18  0:18 kernel test robot
2024-10-17  4:22 kernel test robot
2024-10-16  0:55 kernel test robot
2024-10-15  4:23 kernel test robot

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=202412141529.P024Z9Gw-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /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.