diff --git a/net/9p/client.c b/net/9p/client.c
index 47fa6158a75a4ced05489db105d0b64b500ae072..5f23e18eecc02f32ac80ddd85658006f9ad15430 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -281,7 +281,7 @@ p9_tag_alloc(struct p9_client *c, int8_t type, unsigned int max_size)
 	int tag;
 
 	if (!req)
-		return NULL;
+		return ERR_PTR(-ENOMEM);
 
 	if (p9_fcall_init(c, &req->tc, alloc_msize))
 		goto free_req;