On Sat, Dec 30, 2023 at 10:19:35AM -0600, Michael Roth wrote: > +void snp_dump_hva_rmpentry(unsigned long hva) > +{ > + unsigned int level; > + pgd_t *pgd; > + pte_t *pte; > + > + pgd = __va(read_cr3_pa()); > + pgd += pgd_index(hva); > + pte = lookup_address_in_pgd(pgd, hva, &level); > + > + if (!pte) { > + pr_info("Can't dump RMP entry for HVA %lx: no PTE/PFN found\n", hva); > + return; > + } > + > + dump_rmpentry(pte_pfn(*pte)); > +} > +EXPORT_SYMBOL_GPL(snp_dump_hva_rmpentry); show_fault_oops() - the only caller of this - is builtin code and thus doesn't need symbol exports. Symbol exports are only for module code. --- diff --git a/arch/x86/virt/svm/sev.c b/arch/x86/virt/svm/sev.c index a8cf33b7da71..31154f087fb0 100644 --- a/arch/x86/virt/svm/sev.c +++ b/arch/x86/virt/svm/sev.c @@ -339,4 +339,3 @@ void snp_dump_hva_rmpentry(unsigned long hva) dump_rmpentry(pte_pfn(*pte)); } -EXPORT_SYMBOL_GPL(snp_dump_hva_rmpentry); -- Regards/Gruss, Boris. https://people.kernel.org/tglx/notes-about-netiquette