summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/xdp/xdp_umem.c9
1 files changed, 1 insertions, 8 deletions
diff --git a/net/xdp/xdp_umem.c b/net/xdp/xdp_umem.c
index 947b8ff0227e..bba3104f128f 100644
--- a/net/xdp/xdp_umem.c
+++ b/net/xdp/xdp_umem.c
@@ -206,14 +206,7 @@ static int xdp_umem_map_pages(struct xdp_umem *umem)
206 206
207static void xdp_umem_unpin_pages(struct xdp_umem *umem) 207static void xdp_umem_unpin_pages(struct xdp_umem *umem)
208{ 208{
209 unsigned int i; 209 put_user_pages_dirty_lock(umem->pgs, umem->npgs, true);
210
211 for (i = 0; i < umem->npgs; i++) {
212 struct page *page = umem->pgs[i];
213
214 set_page_dirty_lock(page);
215 put_page(page);
216 }
217 210
218 kfree(umem->pgs); 211 kfree(umem->pgs);
219 umem->pgs = NULL; 212 umem->pgs = NULL;