switch simple cases of fget_light to fdget
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@ -415,16 +415,15 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
|
||||
struct nlattr *na;
|
||||
size_t size;
|
||||
u32 fd;
|
||||
struct file *file;
|
||||
int fput_needed;
|
||||
struct fd f;
|
||||
|
||||
na = info->attrs[CGROUPSTATS_CMD_ATTR_FD];
|
||||
if (!na)
|
||||
return -EINVAL;
|
||||
|
||||
fd = nla_get_u32(info->attrs[CGROUPSTATS_CMD_ATTR_FD]);
|
||||
file = fget_light(fd, &fput_needed);
|
||||
if (!file)
|
||||
f = fdget(fd);
|
||||
if (!f.file)
|
||||
return 0;
|
||||
|
||||
size = nla_total_size(sizeof(struct cgroupstats));
|
||||
@ -444,7 +443,7 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
|
||||
stats = nla_data(na);
|
||||
memset(stats, 0, sizeof(*stats));
|
||||
|
||||
rc = cgroupstats_build(stats, file->f_dentry);
|
||||
rc = cgroupstats_build(stats, f.file->f_dentry);
|
||||
if (rc < 0) {
|
||||
nlmsg_free(rep_skb);
|
||||
goto err;
|
||||
@ -453,7 +452,7 @@ static int cgroupstats_user_cmd(struct sk_buff *skb, struct genl_info *info)
|
||||
rc = send_reply(rep_skb, info);
|
||||
|
||||
err:
|
||||
fput_light(file, fput_needed);
|
||||
fdput(f);
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user