Merge "net:sockev: hold file reference till the sock event is sent"
diff --git a/net/socket.c b/net/socket.c
index f16035c..4fac892 100644
--- a/net/socket.c
+++ b/net/socket.c
@@ -1426,9 +1426,10 @@
 						      (struct sockaddr *)
 						      &address, addrlen);
 		}
-		fput_light(sock->file, fput_needed);
 		if (!err)
 			sockev_notify(SOCKEV_BIND, sock);
+
+		fput_light(sock->file, fput_needed);
 	}
 	return err;
 }
@@ -1455,9 +1456,10 @@
 		if (!err)
 			err = sock->ops->listen(sock, backlog);
 
-		fput_light(sock->file, fput_needed);
 		if (!err)
 			sockev_notify(SOCKEV_LISTEN, sock);
+
+		fput_light(sock->file, fput_needed);
 	}
 	return err;
 }