forked from mirrors/linux
		
	 36ce9d76b0
			
		
	
	
		36ce9d76b0
		
	
	
	
	
		
			
			As the ramfs-based tmpfs uses ramfs_init_fs_context() for the
init_fs_context method, which allocates fc->s_fs_info, use ramfs_kill_sb()
to free it and avoid a memory leak.
Link: https://lkml.kernel.org/r/20230607161523.2876433-1-roberto.sassu@huaweicloud.com
Fixes: c3b1b1cbf0 ("ramfs: add support for "mode=" mount option")
Signed-off-by: Roberto Sassu <roberto.sassu@huawei.com>
Cc: Hugh Dickins <hughd@google.com>
Cc: David Howells <dhowells@redhat.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
		
	
			
		
			
				
	
	
		
			26 lines
		
	
	
	
		
			746 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			26 lines
		
	
	
	
		
			746 B
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| #ifndef _LINUX_RAMFS_H
 | |
| #define _LINUX_RAMFS_H
 | |
| 
 | |
| #include <linux/fs_parser.h> // bleh...
 | |
| 
 | |
| struct inode *ramfs_get_inode(struct super_block *sb, const struct inode *dir,
 | |
| 	 umode_t mode, dev_t dev);
 | |
| extern int ramfs_init_fs_context(struct fs_context *fc);
 | |
| extern void ramfs_kill_sb(struct super_block *sb);
 | |
| 
 | |
| #ifdef CONFIG_MMU
 | |
| static inline int
 | |
| ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize)
 | |
| {
 | |
| 	return 0;
 | |
| }
 | |
| #else
 | |
| extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize);
 | |
| #endif
 | |
| 
 | |
| extern const struct fs_parameter_spec ramfs_fs_parameters[];
 | |
| extern const struct file_operations ramfs_file_operations;
 | |
| extern const struct vm_operations_struct generic_file_vm_ops;
 | |
| 
 | |
| #endif
 |