diff --git a/net/9p/client.c b/net/9p/client.c
index 4becde979462d44f10dfec7354fd43cbf4674aee..b615aae5a0f8175852f9fa1abf0f188858b5f308 100644
--- a/net/9p/client.c
+++ b/net/9p/client.c
@@ -287,7 +287,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;