diff --git a/net/core/sock.c b/net/core/sock.c
index cfe5328..a14263b 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1019,23 +1019,25 @@
 				struct page *pg = __xa_erase(&sk->sk_pagepool,
 							   tokens[i].token_start + j);
 
-				if (pg) {
-					pgs[pg_num++] = pg;
-					if (pg_num == ARRAY_SIZE(pgs)) {
-						xa_unlock_bh(&sk->sk_pagepool);
-						for (k = 0; k < pg_num; k++)
-							put_page(pgs[k]);
-						pg_num = 0;
-						xa_lock_bh(&sk->sk_pagepool);
-					}
-				} else
+				if (unlikely(!pg)) {
 					/* -EINTR here notifies the userspace
 					 * that not all tokens passed to it have
 					 * been freed.
 					 */
 					ret = -EINTR;
+					goto unlock_pagepool;
+				}
+				pgs[pg_num++] = pg;
+				if (pg_num == ARRAY_SIZE(pgs)) {
+					xa_unlock_bh(&sk->sk_pagepool);
+					for (k = 0; k < pg_num; k++)
+						put_page(pgs[k]);
+					pg_num = 0;
+					xa_lock_bh(&sk->sk_pagepool);
+				}
 			}
 		}
+unlock_pagepool:
 		xa_unlock_bh(&sk->sk_pagepool);
 		for (k = 0; k < pg_num; k++)
 			put_page(pgs[k]);
