ntsync: Return the fd from NTSYNC_IOC_CREATE_SEM.
Simplify the user API a bit by returning the fd as return value from the ioctl instead of through the argument pointer. Signed-off-by: Elizabeth Figura <zfigura@codeweavers.com> Link: https://lore.kernel.org/r/20241213193511.457338-2-zfigura@codeweavers.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
def35da760
commit
d75abf2f9f
@@ -165,7 +165,6 @@ static int ntsync_obj_get_fd(struct ntsync_obj *obj)
|
||||
|
||||
static int ntsync_create_sem(struct ntsync_device *dev, void __user *argp)
|
||||
{
|
||||
struct ntsync_sem_args __user *user_args = argp;
|
||||
struct ntsync_sem_args args;
|
||||
struct ntsync_obj *sem;
|
||||
int fd;
|
||||
@@ -182,12 +181,10 @@ static int ntsync_create_sem(struct ntsync_device *dev, void __user *argp)
|
||||
sem->u.sem.count = args.count;
|
||||
sem->u.sem.max = args.max;
|
||||
fd = ntsync_obj_get_fd(sem);
|
||||
if (fd < 0) {
|
||||
if (fd < 0)
|
||||
kfree(sem);
|
||||
return fd;
|
||||
}
|
||||
|
||||
return put_user(fd, &user_args->sem);
|
||||
return fd;
|
||||
}
|
||||
|
||||
static int ntsync_char_open(struct inode *inode, struct file *file)
|
||||
|
||||
@@ -11,12 +11,11 @@
|
||||
#include <linux/types.h>
|
||||
|
||||
struct ntsync_sem_args {
|
||||
__u32 sem;
|
||||
__u32 count;
|
||||
__u32 max;
|
||||
};
|
||||
|
||||
#define NTSYNC_IOC_CREATE_SEM _IOWR('N', 0x80, struct ntsync_sem_args)
|
||||
#define NTSYNC_IOC_CREATE_SEM _IOW ('N', 0x80, struct ntsync_sem_args)
|
||||
|
||||
#define NTSYNC_IOC_SEM_POST _IOWR('N', 0x81, __u32)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user