2020-12-30 09:19:10

by Zheng Yongjun

[permalink] [raw]
Subject: [PATCH v3 net-next] net: kcm: Replace fput with sockfd_put

The function sockfd_lookup uses fget on the value that is stored in
the file field of the returned structure, so fput should ultimately be
applied to this value. This can be done directly, but it seems better
to use the specific macro sockfd_put, which does the same thing.

Perform a source code refactoring by using the following semantic patch.

// <smpl>
@@
expression s;
@@

s = sockfd_lookup(...)
...
+ sockfd_put(s);
- fput(s->file);
// </smpl>

Signed-off-by: Zheng Yongjun <[email protected]>
---
net/kcm/kcmsock.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c
index 56dad9565bc9..a9eb616f5521 100644
--- a/net/kcm/kcmsock.c
+++ b/net/kcm/kcmsock.c
@@ -1496,7 +1496,7 @@ static int kcm_attach_ioctl(struct socket *sock, struct kcm_attach *info)

return 0;
out:
- fput(csock->file);
+ sockfd_put(csock);
return err;
}

@@ -1644,7 +1644,7 @@ static int kcm_unattach_ioctl(struct socket *sock, struct kcm_unattach *info)
spin_unlock_bh(&mux->lock);

out:
- fput(csock->file);
+ sockfd_put(csock);
return err;
}

--
2.22.0


2021-01-06 00:49:39

by David Miller

[permalink] [raw]
Subject: Re: [PATCH v3 net-next] net: kcm: Replace fput with sockfd_put

From: Zheng Yongjun <[email protected]>
Date: Wed, 30 Dec 2020 17:18:09 +0800

> The function sockfd_lookup uses fget on the value that is stored in
> the file field of the returned structure, so fput should ultimately be
> applied to this value. This can be done directly, but it seems better
> to use the specific macro sockfd_put, which does the same thing.
>
> Perform a source code refactoring by using the following semantic patch.
>
> // <smpl>
> @@
> expression s;
> @@
>
> s = sockfd_lookup(...)
> ...
> + sockfd_put(s);
> - fput(s->file);
> // </smpl>
>
> Signed-off-by: Zheng Yongjun <[email protected]>

Applied.