Re: [PATCH] drivers/target: Call page_address() on page acquired with GFP_KERNEL flag

From: Ira Weiny
Date: Mon Jun 26 2023 - 16:22:38 EST


Sumitra Sharma wrote:
> rd_allocate_sgl_table() acquires a page with alloc_pages(GFP_KERNEL, 0).
> 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.
>
> Signed-off-by: Sumitra Sharma <sumitraartsy@xxxxxxxxx>

LGTM:

Reviewed-by: Ira Weiny <ira.weiny@xxxxxxxxx>

> ---
> drivers/target/target_core_rd.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/drivers/target/target_core_rd.c b/drivers/target/target_core_rd.c
> index 6648c1c90e19..d8ea6aff39a2 100644
> --- a/drivers/target/target_core_rd.c
> +++ b/drivers/target/target_core_rd.c
> @@ -159,9 +159,8 @@ static int rd_allocate_sgl_table(struct rd_dev *rd_dev, struct rd_dev_sg_table *
> sg_assign_page(&sg[j], pg);
> sg[j].length = PAGE_SIZE;
>
> - p = kmap(pg);
> + p = page_address(pg);
> memset(p, init_payload, PAGE_SIZE);
> - kunmap(pg);
> }
>
> page_offset += sg_per_table;
> --
> 2.25.1
>