diff --git a/net/core/sock.c b/net/core/sock.c
index b515ab4..edee2ed 100644
--- a/net/core/sock.c
+++ b/net/core/sock.c
@@ -1145,23 +1145,25 @@ int sk_setsockopt(struct sock *sk, int level, int optname,
 				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]);
