diff --git a/net/core/sock_map.c b/net/core/sock_map.c
index 64b5ec14ff50c99393acf344235f7f2c16b364a2..d758fb83c8841d35737c25c6a42f338468b95a6f 100644
--- a/net/core/sock_map.c
+++ b/net/core/sock_map.c
@@ -602,7 +602,7 @@ int sock_map_update_elem_sys(struct bpf_map *map, void *key, void *value,
 		ret = sock_hash_update_common(map, key, sk, flags);
 	sock_map_sk_release(sk);
 out:
-	fput(sock->file);
+	sockfd_put(sock);
 	return ret;
 }