On Mon, Aug 28, 2023 at 11:23:55PM +0000, Michael Kelley (LINUX) wrote: > > I guess in this case it is better to use slow_virt_to_phys(), but have a > > comment somewhere why it is self. Maybe also add comment inside > > slow_virt_to_phys() to indicate that we don't check present bit for a > > reason. > > > > OK, works for me. I'll turn my original RFC patch into a small patch > set that's pretty much as the RFC version is coded, along with the > appropriate comments in slow_virt_to_phys(). Additional patches > in the set will remove code that becomes unnecessary or that can > be simplified. Oh, I just realized that it conflicts with another patchset that I am currently working on. This patchset adds kexec support for TDX. One thing I do in this patchset is revert all shared pages to private during kexec, so that the next kernel can use them[1]. I determine the shared status by checking the shared bit in the kernel page tables. If I understand correctly, your change will work with my patch because my patch is buggy and does not check the preset bit (irony detected). Ugh. This gets messy. [1] https://github.com/intel/tdx/commit/4b63531fc315551c3c42023ea655206c77eef5a1 -- Kiryl Shutsemau / Kirill A. Shutemov