mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
hv: convert mshv_ioctl_create_partition() to FD_ADD()
Link: https://patch.msgid.link/20251123-work-fd-prepare-v4-39-b6efa1706cfd@kernel.org Signed-off-by: Christian Brauner <brauner@kernel.org>
This commit is contained in:
@@ -1870,8 +1870,6 @@ mshv_ioctl_create_partition(void __user *user_arg, struct device *module_dev)
|
||||
struct hv_partition_creation_properties creation_properties = {};
|
||||
union hv_partition_isolation_properties isolation_properties = {};
|
||||
struct mshv_partition *partition;
|
||||
struct file *file;
|
||||
int fd;
|
||||
long ret;
|
||||
|
||||
if (copy_from_user(&args, user_arg, sizeof(args)))
|
||||
@@ -1938,29 +1936,13 @@ mshv_ioctl_create_partition(void __user *user_arg, struct device *module_dev)
|
||||
goto delete_partition;
|
||||
|
||||
ret = mshv_init_async_handler(partition);
|
||||
if (ret)
|
||||
goto remove_partition;
|
||||
|
||||
fd = get_unused_fd_flags(O_CLOEXEC);
|
||||
if (fd < 0) {
|
||||
ret = fd;
|
||||
goto remove_partition;
|
||||
if (!ret) {
|
||||
ret = FD_ADD(O_CLOEXEC, anon_inode_getfile("mshv_partition",
|
||||
&mshv_partition_fops,
|
||||
partition, O_RDWR));
|
||||
if (ret >= 0)
|
||||
return ret;
|
||||
}
|
||||
|
||||
file = anon_inode_getfile("mshv_partition", &mshv_partition_fops,
|
||||
partition, O_RDWR);
|
||||
if (IS_ERR(file)) {
|
||||
ret = PTR_ERR(file);
|
||||
goto put_fd;
|
||||
}
|
||||
|
||||
fd_install(fd, file);
|
||||
|
||||
return fd;
|
||||
|
||||
put_fd:
|
||||
put_unused_fd(fd);
|
||||
remove_partition:
|
||||
remove_partition(partition);
|
||||
delete_partition:
|
||||
hv_call_delete_partition(partition->pt_id);
|
||||
|
||||
Reference in New Issue
Block a user