net: Set fput_needed iff FDPUT_FPUT is set

We should fput() file iff FDPUT_FPUT is set. So we should set fput_needed
accordingly.

Fixes: 00e188ef6a ("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>
This commit is contained in:
Miaohe Lin 2020-08-06 19:53:16 +08:00 committed by David S. Miller
parent 6b07edebe6
commit ce787a5a07

View File

@ -500,7 +500,7 @@ static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed)
if (f.file) { if (f.file) {
sock = sock_from_file(f.file, err); sock = sock_from_file(f.file, err);
if (likely(sock)) { if (likely(sock)) {
*fput_needed = f.flags; *fput_needed = f.flags & FDPUT_FPUT;
return sock; return sock;
} }
fdput(f); fdput(f);