forked from mirrors/linux
		
	 f002882ca3
			
		
	
	
		f002882ca3
		
	
	
	
	
		
			
			folio_is_secretmem() is currently only used during GUP-fast. Nowadays, folio_fast_pin_allowed() performs similar checks during GUP-fast and contains a lot of careful handling -- READ_ONCE() -- , sanity checks -- lockdep_assert_irqs_disabled() -- and helpful comments on how this handling is safe and correct. So let's merge folio_is_secretmem() into folio_fast_pin_allowed(). Rename folio_fast_pin_allowed() to gup_fast_folio_allowed(), to better match the new semantics. Link: https://lkml.kernel.org/r/20240326143210.291116-4-david@redhat.com Signed-off-by: David Hildenbrand <david@redhat.com> Reviewed-by: Mike Rapoport (IBM) <rppt@kernel.org> Cc: David Hildenbrand <david@redhat.com> Cc: Lorenzo Stoakes <lstoakes@gmail.com> Cc: Miklos Szeredi <mszeredi@redhat.com> Cc: xingwei lee <xrivendell7@gmail.com> Cc: yue sun <samsun1006219@gmail.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
		
			
				
	
	
		
			36 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			36 lines
		
	
	
	
		
			706 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
 | |
| #ifndef _LINUX_SECRETMEM_H
 | |
| #define _LINUX_SECRETMEM_H
 | |
| 
 | |
| #ifdef CONFIG_SECRETMEM
 | |
| 
 | |
| extern const struct address_space_operations secretmem_aops;
 | |
| 
 | |
| static inline bool secretmem_mapping(struct address_space *mapping)
 | |
| {
 | |
| 	return mapping->a_ops == &secretmem_aops;
 | |
| }
 | |
| 
 | |
| bool vma_is_secretmem(struct vm_area_struct *vma);
 | |
| bool secretmem_active(void);
 | |
| 
 | |
| #else
 | |
| 
 | |
| static inline bool vma_is_secretmem(struct vm_area_struct *vma)
 | |
| {
 | |
| 	return false;
 | |
| }
 | |
| 
 | |
| static inline bool secretmem_mapping(struct address_space *mapping)
 | |
| {
 | |
| 	return false;
 | |
| }
 | |
| 
 | |
| static inline bool secretmem_active(void)
 | |
| {
 | |
| 	return false;
 | |
| }
 | |
| 
 | |
| #endif /* CONFIG_SECRETMEM */
 | |
| 
 | |
| #endif /* _LINUX_SECRETMEM_H */
 |