fs/pstore/ram_core.c | 2 +- mm/vmalloc.c | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-)
The function vread() was renamed to vread_iter() in commit
4c91c07c93bb ("mm: vmalloc: convert vread() to vread_iter()"),
converting from a buffer-based to an iterator-based interface.
Update the kdoc of vread_iter() to reflect the new interface:
replace references to @buf with @iter, drop the stale "kernel's
buffer" requirement, and update the self-reference from vread()
to vread_iter().
Also update the stale vread() reference in pstore's ram_core.c.
Assisted-by: unnamed:deepseek-v3.2 coccinelle
Signed-off-by: Kexin Sun <kexinsun@smail.nju.edu.cn>
---
fs/pstore/ram_core.c | 2 +-
mm/vmalloc.c | 10 +++++-----
2 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
index ed97494abf60..738283a85ea2 100644
--- a/fs/pstore/ram_core.c
+++ b/fs/pstore/ram_core.c
@@ -450,7 +450,7 @@ static void *persistent_ram_vmap(phys_addr_t start, size_t size,
pages[i] = pfn_to_page(addr >> PAGE_SHIFT);
}
/*
- * VM_IOREMAP used here to bypass this region during vread()
+ * VM_IOREMAP used here to bypass this region during vread_iter()
* and kmap_atomic() (i.e. kcore) to avoid __va() failures.
*/
vaddr = vmap(pages, page_count, VM_MAP | VM_IOREMAP, prot);
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 61caa55a4402..9ee256884f78 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -4575,20 +4575,20 @@ static size_t vmap_ram_vread_iter(struct iov_iter *iter, const char *addr,
* @count: number of bytes to be read.
*
* This function checks that addr is a valid vmalloc'ed area, and
- * copy data from that area to a given buffer. If the given memory range
+ * copy data from that area to a given iterator. If the given memory range
* of [addr...addr+count) includes some valid address, data is copied to
- * proper area of @buf. If there are memory holes, they'll be zero-filled.
+ * proper area of @iter. If there are memory holes, they'll be zero-filled.
* IOREMAP area is treated as memory hole and no copy is done.
*
* If [addr...addr+count) doesn't includes any intersects with alive
- * vm_struct area, returns 0. @buf should be kernel's buffer.
+ * vm_struct area, returns 0.
*
- * Note: In usual ops, vread() is never necessary because the caller
+ * Note: In usual ops, vread_iter() is never necessary because the caller
* should know vmalloc() area is valid and can use memcpy().
* This is for routines which have to access vmalloc area without
* any information, as /proc/kcore.
*
- * Return: number of bytes for which addr and buf should be increased
+ * Return: number of bytes for which addr and iter should be advanced
* (same number as @count) or %0 if [addr...addr+count) doesn't
* include any intersection with valid vmalloc area
*/
--
2.25.1
On Sat, 21 Mar 2026 18:58:20 +0800 Kexin Sun <kexinsun@smail.nju.edu.cn> wrote:
> The function vread() was renamed to vread_iter() in commit
> 4c91c07c93bb ("mm: vmalloc: convert vread() to vread_iter()"),
> converting from a buffer-based to an iterator-based interface.
>
> Update the kdoc of vread_iter() to reflect the new interface:
> replace references to @buf with @iter, drop the stale "kernel's
> buffer" requirement, and update the self-reference from vread()
> to vread_iter().
>
> Also update the stale vread() reference in pstore's ram_core.c.
>
LGTM, thanks.
>
> diff --git a/fs/pstore/ram_core.c b/fs/pstore/ram_core.c
> index ed97494abf60..738283a85ea2 100644
> --- a/fs/pstore/ram_core.c
> +++ b/fs/pstore/ram_core.c
> @@ -450,7 +450,7 @@ static void *persistent_ram_vmap(phys_addr_t start, size_t size,
> pages[i] = pfn_to_page(addr >> PAGE_SHIFT);
> }
> /*
> - * VM_IOREMAP used here to bypass this region during vread()
> + * VM_IOREMAP used here to bypass this region during vread_iter()
> * and kmap_atomic() (i.e. kcore) to avoid __va() failures.
> */
> vaddr = vmap(pages, page_count, VM_MAP | VM_IOREMAP, prot);
> diff --git a/mm/vmalloc.c b/mm/vmalloc.c
> index 61caa55a4402..9ee256884f78 100644
> --- a/mm/vmalloc.c
> +++ b/mm/vmalloc.c
> @@ -4575,20 +4575,20 @@ static size_t vmap_ram_vread_iter(struct iov_iter *iter, const char *addr,
> * @count: number of bytes to be read.
> *
> * This function checks that addr is a valid vmalloc'ed area, and
> - * copy data from that area to a given buffer. If the given memory range
> + * copy data from that area to a given iterator. If the given memory range
I'll sneak-edit this to read "copies data".
> * of [addr...addr+count) includes some valid address, data is copied to
> - * proper area of @buf. If there are memory holes, they'll be zero-filled.
> + * proper area of @iter. If there are memory holes, they'll be zero-filled.
> * IOREMAP area is treated as memory hole and no copy is done.
> *
> * If [addr...addr+count) doesn't includes any intersects with alive
> - * vm_struct area, returns 0. @buf should be kernel's buffer.
> + * vm_struct area, returns 0.
> *
> - * Note: In usual ops, vread() is never necessary because the caller
> + * Note: In usual ops, vread_iter() is never necessary because the caller
> * should know vmalloc() area is valid and can use memcpy().
> * This is for routines which have to access vmalloc area without
> * any information, as /proc/kcore.
> *
> - * Return: number of bytes for which addr and buf should be increased
> + * Return: number of bytes for which addr and iter should be advanced
> * (same number as @count) or %0 if [addr...addr+count) doesn't
> * include any intersection with valid vmalloc area
> */
Things like `addr' and `count' should be `@addr' and `@count', but
that's a differnt patch. And we probably make this mistake in a
zillion other places.
© 2016 - 2026 Red Hat, Inc.