Hi Peter, On 1/4/2022 3:19 PM, Peter Xu wrote: > Hi, Nikunj, > > On Tue, Jan 04, 2022 at 02:58:14PM +0530, Nikunj A Dadhania wrote: >> With TDP MMU being the default now, access to mmu_rmaps_stat debugfs >> file causes following oops: >> >> BUG: kernel NULL pointer dereference, address: 0000000000000000 >> PGD 0 P4D 0 >> Oops: 0000 [#1] PREEMPT SMP NOPTI >> CPU: 7 PID: 3185 Comm: cat Not tainted 5.16.0-rc4+ #204 >> RIP: 0010:pte_list_count+0x6/0x40 >> Call Trace: >> <TASK> >> ? kvm_mmu_rmaps_stat_show+0x15e/0x320 >> seq_read_iter+0x126/0x4b0 >> ? aa_file_perm+0x124/0x490 >> seq_read+0xf5/0x140 >> full_proxy_read+0x5c/0x80 >> vfs_read+0x9f/0x1a0 >> ksys_read+0x67/0xe0 >> __x64_sys_read+0x19/0x20 >> do_syscall_64+0x3b/0xc0 >> entry_SYSCALL_64_after_hwframe+0x44/0xae >> RIP: 0033:0x7fca6fc13912 >> >> Create mmu_rmaps_stat debugfs file only when rmaps are created. >> >> Reported-by: Vasant Hegde <vasant.hegde@xxxxxxx> >> Tested-by: Vasant Hegde <vasant.hegde@xxxxxxx> >> Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxx> > > Shall we put the check into kvm_mmu_rmaps_stat_show()? As iiuc the rmap can be > allocated dynamically (shadow_root_allocated changing from 0->1). Yes, that will cover the above case. And mmu_rmaps_stat file will be empty in case when rmaps are not allocated. Regards Nikunj