diff --git a/net/socket.c b/net/socket.c index 3c3d6abe4c1eef5f32073e8034aff54d360a223e..e08415b4f9397976af2c5c8fe6a4b3ca7a53ba44 100644 --- a/net/socket.c +++ b/net/socket.c @@ -500,7 +500,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);