forked from mirrors/linux
		
	 f0953a1bba
			
		
	
	
		f0953a1bba
		
	
	
	
	
		
			
			Fix ~94 single-word typos in locking code comments, plus a few very obvious grammar mistakes. Link: https://lkml.kernel.org/r/20210322212624.GA1963421@gmail.com Link: https://lore.kernel.org/r/20210322205203.GB1959563@gmail.com Signed-off-by: Ingo Molnar <mingo@kernel.org> Reviewed-by: Matthew Wilcox (Oracle) <willy@infradead.org> Reviewed-by: Randy Dunlap <rdunlap@infradead.org> Cc: Bhaskar Chowdhury <unixbhaskar@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
		
			
				
	
	
		
			51 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
	
		
			1.3 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _LINUX_PGALLOC_TRACK_H
 | |
| #define _LINUX_PGALLOC_TRACK_H
 | |
| 
 | |
| #if defined(CONFIG_MMU)
 | |
| static inline p4d_t *p4d_alloc_track(struct mm_struct *mm, pgd_t *pgd,
 | |
| 				     unsigned long address,
 | |
| 				     pgtbl_mod_mask *mod_mask)
 | |
| {
 | |
| 	if (unlikely(pgd_none(*pgd))) {
 | |
| 		if (__p4d_alloc(mm, pgd, address))
 | |
| 			return NULL;
 | |
| 		*mod_mask |= PGTBL_PGD_MODIFIED;
 | |
| 	}
 | |
| 
 | |
| 	return p4d_offset(pgd, address);
 | |
| }
 | |
| 
 | |
| static inline pud_t *pud_alloc_track(struct mm_struct *mm, p4d_t *p4d,
 | |
| 				     unsigned long address,
 | |
| 				     pgtbl_mod_mask *mod_mask)
 | |
| {
 | |
| 	if (unlikely(p4d_none(*p4d))) {
 | |
| 		if (__pud_alloc(mm, p4d, address))
 | |
| 			return NULL;
 | |
| 		*mod_mask |= PGTBL_P4D_MODIFIED;
 | |
| 	}
 | |
| 
 | |
| 	return pud_offset(p4d, address);
 | |
| }
 | |
| 
 | |
| static inline pmd_t *pmd_alloc_track(struct mm_struct *mm, pud_t *pud,
 | |
| 				     unsigned long address,
 | |
| 				     pgtbl_mod_mask *mod_mask)
 | |
| {
 | |
| 	if (unlikely(pud_none(*pud))) {
 | |
| 		if (__pmd_alloc(mm, pud, address))
 | |
| 			return NULL;
 | |
| 		*mod_mask |= PGTBL_PUD_MODIFIED;
 | |
| 	}
 | |
| 
 | |
| 	return pmd_offset(pud, address);
 | |
| }
 | |
| #endif /* CONFIG_MMU */
 | |
| 
 | |
| #define pte_alloc_kernel_track(pmd, address, mask)			\
 | |
| 	((unlikely(pmd_none(*(pmd))) &&					\
 | |
| 	  (__pte_alloc_kernel(pmd) || ({*(mask)|=PGTBL_PMD_MODIFIED;0;})))?\
 | |
| 		NULL: pte_offset_kernel(pmd, address))
 | |
| 
 | |
| #endif /* _LINUX_PGALLOC_TRACK_H */
 |