From: Miaohe Lin Date: Thu, 6 Aug 2020 11:53:16 +0000 (+0800) Subject: net: Set fput_needed iff FDPUT_FPUT is set X-Git-Tag: v4.4.233~42 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=f1f8c3303a663e2f685c4d6842e8b2832c67b3cf;p=thirdparty%2Fkernel%2Fstable.git net: Set fput_needed iff FDPUT_FPUT is set [ 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 Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/socket.c b/net/socket.c index 88086d18c2086..1392461d391ad 100644 --- a/net/socket.c +++ b/net/socket.c @@ -456,7 +456,7 @@ static struct socket *sockfd_lookup_light(int fd, int *err, int *fput_needed) 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);