[PATCH v2] lib/test_bpf: Call page_address() on page acquired with GFP_KERNEL flag

From: Sumitra Sharma
Date: Tue Jun 13 2023 - 03:18:15 EST


generate_test_data() acquires a page with alloc_page(GFP_KERNEL). Pages
allocated with GFP_KERNEL cannot come from Highmem. This is why
there is no need to call kmap() on them.

Therefore, use a plain page_address() on that page.

Suggested-by: Fabio M. De Francesco <fmdefrancesco@xxxxxxxxx>
Signed-off-by: Sumitra Sharma <sumitraartsy@xxxxxxxxx>
---

Changes in v2:
- Remove the kmap() call and call page_address() instead.
- Change the commit subject and message.

lib/test_bpf.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/lib/test_bpf.c b/lib/test_bpf.c
index ade9ac672adb..70fcd0bcf14b 100644
--- a/lib/test_bpf.c
+++ b/lib/test_bpf.c
@@ -14388,11 +14388,10 @@ static void *generate_test_data(struct bpf_test *test, int sub)
if (!page)
goto err_kfree_skb;

- ptr = kmap(page);
+ ptr = page_address(page);
if (!ptr)
goto err_free_page;
memcpy(ptr, test->frag_data, MAX_DATA);
- kunmap(page);
skb_add_rx_frag(skb, 0, page, 0, MAX_DATA, MAX_DATA);
}

--
2.25.1