From: Al Viro <viro@zeniv.linux.org.uk>
To: op-tee@lists.trustedfirmware.org
Subject: Re: [PATCH 3/4] tee: Remove call to get_kernel_pages()
Date: Sun, 02 Oct 2022 00:46:52 +0000 [thread overview]
Message-ID: <YzjfcW6OGcPP075q@ZenIV> (raw)
In-Reply-To: <20221002002326.946620-4-ira.weiny@intel.com>
[-- Attachment #1: Type: text/plain, Size: 986 bytes --]
On Sat, Oct 01, 2022 at 05:23:25PM -0700, ira.weiny(a)intel.com wrote:
> kiov = kcalloc(page_count, sizeof(*kiov), GFP_KERNEL);
> @@ -38,12 +39,12 @@ static int shm_get_kernel_pages(unsigned long start, size_t page_count,
> for (n = 0; n < page_count; n++) {
> kiov[n].iov_base = (void *)(start + n * PAGE_SIZE);
> kiov[n].iov_len = PAGE_SIZE;
> + pages[n] = virt_to_page(kiov[n].iov_base);
> + get_page(pages[n]);
> }
> -
> - rc = get_kernel_pages(kiov, page_count, 0, pages);
> kfree(kiov);
IDGI. The only thing in kiov[...] you are every reading is
->iov_base. And you fetch it once, right after the assignment.
Why bother with allocating the array at all?
pages[n] = virt_to_page((void *)start + n * PAGE_SIZE);
would do just as well, not to mention the fact that since you reject
vmalloc and kmap, you might simply do
page = virt_to_page(start);
for (int n = 0; n < page_count; n++)
get_page(pages[n] = page + n);
instead...
next prev parent reply other threads:[~2022-10-02 0:46 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-02 0:23 [PATCH 0/4] Remove get_kernel_pages() ira.weiny
2022-10-02 0:23 ` [PATCH 1/4] highmem: Enhance is_kmap_addr() to check kmap_local_page() mappings ira.weiny
2022-10-02 0:23 ` [PATCH 2/4] tee: Remove vmalloc page support ira.weiny
2022-10-03 6:41 ` Jens Wiklander
2022-10-03 6:57 ` Sumit Garg
2022-10-02 0:23 ` [PATCH 3/4] tee: Remove call to get_kernel_pages() ira.weiny
2022-10-02 0:46 ` Al Viro [this message]
2022-10-02 2:30 ` Ira Weiny
2022-10-03 7:17 ` Christoph Hellwig
2022-10-03 15:02 ` Ira Weiny
2022-10-02 0:23 ` [PATCH 4/4] mm: Remove get_kernel_pages() ira.weiny
2022-10-03 20:28 ` John Hubbard
2022-10-03 9:25 ` [PATCH 0/4] " Sumit Garg
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=YzjfcW6OGcPP075q@ZenIV \
--to=viro@zeniv.linux.org.uk \
--cc=op-tee@lists.trustedfirmware.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox