userns: Convert usb functionfs to use kuid/kgid where appropriate
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Acked-by: Felipe Balbi <balbi@ti.com> Acked-by: Serge Hallyn <serge.hallyn@canonical.com> Signed-off-by: Eric W. Biederman <ebiederm@xmission.com>
This commit is contained in:
		
					parent
					
						
							
								32d639c66e
							
						
					
				
			
			
				commit
				
					
						b9b73f7c4d
					
				
			
		
					 2 changed files with 16 additions and 8 deletions
				
			
		|  | @ -220,8 +220,8 @@ struct ffs_data { | |||
| 	/* File permissions, written once when fs is mounted */ | ||||
| 	struct ffs_file_perms { | ||||
| 		umode_t				mode; | ||||
| 		uid_t				uid; | ||||
| 		gid_t				gid; | ||||
| 		kuid_t				uid; | ||||
| 		kgid_t				gid; | ||||
| 	}				file_perms; | ||||
| 
 | ||||
| 	/*
 | ||||
|  | @ -1143,10 +1143,19 @@ static int ffs_fs_parse_opts(struct ffs_sb_fill_data *data, char *opts) | |||
| 			break; | ||||
| 
 | ||||
| 		case 3: | ||||
| 			if (!memcmp(opts, "uid", 3)) | ||||
| 				data->perms.uid = value; | ||||
| 			if (!memcmp(opts, "uid", 3)) { | ||||
| 				data->perms.uid = make_kuid(current_user_ns(), value); | ||||
| 				if (!uid_valid(data->perms.uid)) { | ||||
| 					pr_err("%s: unmapped value: %lu\n", opts, value); | ||||
| 					return -EINVAL; | ||||
| 				} | ||||
| 			} | ||||
| 			else if (!memcmp(opts, "gid", 3)) | ||||
| 				data->perms.gid = value; | ||||
| 				data->perms.gid = make_kgid(current_user_ns(), value); | ||||
| 				if (!gid_valid(data->perms.gid)) { | ||||
| 					pr_err("%s: unmapped value: %lu\n", opts, value); | ||||
| 					return -EINVAL; | ||||
| 				} | ||||
| 			else | ||||
| 				goto invalid; | ||||
| 			break; | ||||
|  | @ -1175,8 +1184,8 @@ ffs_fs_mount(struct file_system_type *t, int flags, | |||
| 	struct ffs_sb_fill_data data = { | ||||
| 		.perms = { | ||||
| 			.mode = S_IFREG | 0600, | ||||
| 			.uid = 0, | ||||
| 			.gid = 0 | ||||
| 			.uid = GLOBAL_ROOT_UID, | ||||
| 			.gid = GLOBAL_ROOT_GID, | ||||
| 		}, | ||||
| 		.root_mode = S_IFDIR | 0500, | ||||
| 	}; | ||||
|  |  | |||
|  | @ -932,7 +932,6 @@ config UIDGID_CONVERTED | |||
| 	depends on NET_9P = n | ||||
| 
 | ||||
| 	# Filesystems | ||||
| 	depends on USB_FUNCTIONFS = n | ||||
| 	depends on DEVTMPFS = n | ||||
| 	depends on XENFS = n | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Eric W. Biederman
				Eric W. Biederman