| From foo@baz Mon 17 Aug 2020 11:30:21 AM CEST |
| From: Miaohe Lin <linmiaohe@huawei.com> |
| Date: Thu, 6 Aug 2020 19:53:16 +0800 |
| Subject: net: Set fput_needed iff FDPUT_FPUT is set |
| |
| From: Miaohe Lin <linmiaohe@huawei.com> |
| |
| [ Upstream commit ce787a5a074a86f76f5d3fd804fa78e01bfb9e89 ] |
| |
| We should fput() file iff FDPUT_FPUT is set. So we should set fput_needed |
| accordingly. |
| |
| Fixes: 00e188ef6a7e ("sockfd_lookup_light(): switch to fdget^W^Waway from fget_light") |
| Signed-off-by: Miaohe Lin <linmiaohe@huawei.com> |
| Signed-off-by: David S. Miller <davem@davemloft.net> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/socket.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| --- a/net/socket.c |
| +++ b/net/socket.c |
| @@ -500,7 +500,7 @@ static struct socket *sockfd_lookup_ligh |
| if (f.file) { |
| sock = sock_from_file(f.file, err); |
| if (likely(sock)) { |
| - *fput_needed = f.flags; |
| + *fput_needed = f.flags & FDPUT_FPUT; |
| return sock; |
| } |
| fdput(f); |