~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/arch/arm64/ptdump.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/arch/arm64/ptdump.rst (Version linux-6.12-rc7) and /Documentation/arch/mips/ptdump.rst (Version linux-5.14.21)


  1 ======================                            
  2 Kernel page table dump                            
  3 ======================                            
  4                                                   
  5 ptdump is a debugfs interface that provides a     
  6 kernel page tables. It offers a comprehensive     
  7 virtual memory layout as well as the attribute    
  8 various regions in a human-readable format. It    
  9 kernel page tables to verify permissions and m    
 10 page table entries and permissions helps ident    
 11 vulnerabilities such as mappings with overly p    
 12 improper memory protections.                      
 13                                                   
 14 Memory hotplug allows dynamic expansion or con    
 15 memory without requiring a system reboot. To m    
 16 and integrity of the memory management data st    
 17 of the ``mem_hotplug_lock`` semaphore in write    
 18 read mode, ``mem_hotplug_lock`` supports an ef    
 19 ``get_online_mems()`` and ``put_online_mems()`    
 20 offlining of memory being accessed by the ptdu    
 21                                                   
 22 In order to dump the kernel page tables, enabl    
 23 configurations and mount debugfs::                
 24                                                   
 25  CONFIG_GENERIC_PTDUMP=y                          
 26  CONFIG_PTDUMP_CORE=y                             
 27  CONFIG_PTDUMP_DEBUGFS=y                          
 28                                                   
 29  mount -t debugfs nodev /sys/kernel/debug         
 30  cat /sys/kernel/debug/kernel_page_tables         
 31                                                   
 32 On analysing the output of ``cat /sys/kernel/d    
 33 one can derive information about the virtual a    
 34 followed by size of the memory region covered     
 35 hierarchical structure of the page tables and     
 36 associated with each page. The page attributes    
 37 access permissions, execution capability, type    
 38 level PTE or block level PGD, PMD and PUD, and    
 39 within the kernel memory. Assessing these attr    
 40 understanding the memory layout, access patter    
 41 characteristics of the kernel pages.              
 42                                                   
 43 Kernel virtual memory layout example::            
 44                                                   
 45  start address        end address         size    
 46  +--------------------------------------------    
 47  | ---[ Linear Mapping start ]----------------    
 48  | ..................                             
 49  | 0xfff0000000000000-0xfff0000000210000  2112    
 50  | 0xfff0000000210000-0xfff0000001c00000 26560    
 51  | ..................                             
 52  | ---[ Linear Mapping end ]------------------    
 53  +--------------------------------------------    
 54  | ---[ Modules start ]-----------------------    
 55  | ..................                             
 56  | 0xffff800000000000-0xffff800008000000   128    
 57  | ..................                             
 58  | ---[ Modules end ]-------------------------    
 59  +--------------------------------------------    
 60  | ---[ vmalloc() area ]----------------------    
 61  | ..................                             
 62  | 0xffff800008010000-0xffff800008200000  1984    
 63  | 0xffff800008200000-0xffff800008e00000    12    
 64  | ..................                             
 65  | ---[ vmalloc() end ]-----------------------    
 66  +--------------------------------------------    
 67  | ---[ Fixmap start ]------------------------    
 68  | ..................                             
 69  | 0xfffffbfffdb80000-0xfffffbfffdb90000    64    
 70  | 0xfffffbfffdb90000-0xfffffbfffdba0000    64    
 71  | ..................                             
 72  | ---[ Fixmap end ]--------------------------    
 73  +--------------------------------------------    
 74  | ---[ PCI I/O start ]-----------------------    
 75  | ..................                             
 76  | 0xfffffbfffe800000-0xfffffbffff800000    16    
 77  | ..................                             
 78  | ---[ PCI I/O end ]-------------------------    
 79  +--------------------------------------------    
 80  | ---[ vmemmap start ]-----------------------    
 81  | ..................                             
 82  | 0xfffffc0002000000-0xfffffc0002200000     2    
 83  | 0xfffffc0002200000-0xfffffc0020000000   478    
 84  | ..................                             
 85  | ---[ vmemmap end ]-------------------------    
 86  +--------------------------------------------    
 87                                                   
 88 ``cat /sys/kernel/debug/kernel_page_tables`` o    
 89                                                   
 90  0xfff0000001c00000-0xfff0000080000000     202    
 91  0xfff0000080000000-0xfff0000800000000       3    
 92  0xfff0000800000000-0xfff0000800700000            
 93  0xfff0000800700000-0xfff0000800710000       6    
 94  0xfff0000800710000-0xfff0000880000000  208992    
 95  0xfff0000880000000-0xfff0040000000000     406    
 96  0xfff0040000000000-0xffff800000000000     396    
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php