From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
"Matthew Wilcox (Oracle)" <willy@infradead.org>,
Baoquan He <bhe@redhat.com>, Christoph Hellwig <hch@lst.de>,
Heiko Carstens <hca@linux.ibm.com>,
Andrew Morton <akpm@linux-foundation.org>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.18 112/181] vmcore: convert copy_oldmem_page() to take an iov_iter
Date: Mon, 27 Jun 2022 13:21:25 +0200 [thread overview]
Message-ID: <20220627111947.945731832@linuxfoundation.org> (raw)
In-Reply-To: <20220627111944.553492442@linuxfoundation.org>
From: Matthew Wilcox (Oracle) <willy@infradead.org>
[ Upstream commit 5d8de293c224896a4da99763fce4f9794308caf4 ]
Patch series "Convert vmcore to use an iov_iter", v5.
For some reason several people have been sending bad patches to fix
compiler warnings in vmcore recently. Here's how it should be done.
Compile-tested only on x86. As noted in the first patch, s390 should take
this conversion a bit further, but I'm not inclined to do that work
myself.
This patch (of 3):
Instead of passing in a 'buf' and 'userbuf' argument, pass in an iov_iter.
s390 needs more work to pass the iov_iter down further, or refactor, but
I'd be more comfortable if someone who can test on s390 did that work.
It's more convenient to convert the whole of read_from_oldmem() to take an
iov_iter at the same time, so rename it to read_from_oldmem_iter() and add
a temporary read_from_oldmem() wrapper that creates an iov_iter.
Link: https://lkml.kernel.org/r/20220408090636.560886-1-bhe@redhat.com
Link: https://lkml.kernel.org/r/20220408090636.560886-2-bhe@redhat.com
Signed-off-by: Matthew Wilcox (Oracle) <willy@infradead.org>
Signed-off-by: Baoquan He <bhe@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Cc: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/arm/kernel/crash_dump.c | 27 +++-------------
arch/arm64/kernel/crash_dump.c | 29 +++--------------
arch/ia64/kernel/crash_dump.c | 32 +++----------------
arch/mips/kernel/crash_dump.c | 27 +++-------------
arch/powerpc/kernel/crash_dump.c | 35 +++------------------
arch/riscv/kernel/crash_dump.c | 26 +++------------
arch/s390/kernel/crash_dump.c | 13 +++++---
arch/sh/kernel/crash_dump.c | 29 +++--------------
arch/x86/kernel/crash_dump_32.c | 29 +++--------------
arch/x86/kernel/crash_dump_64.c | 41 +++++++-----------------
fs/proc/vmcore.c | 54 ++++++++++++++++++++------------
include/linux/crash_dump.h | 9 +++---
12 files changed, 91 insertions(+), 260 deletions(-)
diff --git a/arch/arm/kernel/crash_dump.c b/arch/arm/kernel/crash_dump.c
index 53cb92435392..938bd932df9a 100644
--- a/arch/arm/kernel/crash_dump.c
+++ b/arch/arm/kernel/crash_dump.c
@@ -14,22 +14,10 @@
#include <linux/crash_dump.h>
#include <linux/uaccess.h>
#include <linux/io.h>
+#include <linux/uio.h>
-/**
- * copy_oldmem_page() - copy one page from old kernel memory
- * @pfn: page frame number to be copied
- * @buf: buffer where the copied page is placed
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page
- * @userbuf: if set, @buf is int he user address space
- *
- * This function copies one page from old kernel memory into buffer pointed by
- * @buf. If @buf is in userspace, set @userbuf to %1. Returns number of bytes
- * copied or negative error in case of failure.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset,
- int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
@@ -40,14 +28,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
if (!vaddr)
return -ENOMEM;
- if (userbuf) {
- if (copy_to_user(buf, vaddr + offset, csize)) {
- iounmap(vaddr);
- return -EFAULT;
- }
- } else {
- memcpy(buf, vaddr + offset, csize);
- }
+ csize = copy_to_iter(vaddr + offset, csize, iter);
iounmap(vaddr);
return csize;
diff --git a/arch/arm64/kernel/crash_dump.c b/arch/arm64/kernel/crash_dump.c
index 58303a9ec32c..670e4ce81822 100644
--- a/arch/arm64/kernel/crash_dump.c
+++ b/arch/arm64/kernel/crash_dump.c
@@ -9,25 +9,11 @@
#include <linux/crash_dump.h>
#include <linux/errno.h>
#include <linux/io.h>
-#include <linux/memblock.h>
-#include <linux/uaccess.h>
+#include <linux/uio.h>
#include <asm/memory.h>
-/**
- * copy_oldmem_page() - copy one page from old kernel memory
- * @pfn: page frame number to be copied
- * @buf: buffer where the copied page is placed
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page
- * @userbuf: if set, @buf is in a user address space
- *
- * This function copies one page from old kernel memory into buffer pointed by
- * @buf. If @buf is in userspace, set @userbuf to %1. Returns number of bytes
- * copied or negative error in case of failure.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset,
- int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
@@ -38,14 +24,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
if (!vaddr)
return -ENOMEM;
- if (userbuf) {
- if (copy_to_user((char __user *)buf, vaddr + offset, csize)) {
- memunmap(vaddr);
- return -EFAULT;
- }
- } else {
- memcpy(buf, vaddr + offset, csize);
- }
+ csize = copy_to_iter(vaddr + offset, csize, iter);
memunmap(vaddr);
diff --git a/arch/ia64/kernel/crash_dump.c b/arch/ia64/kernel/crash_dump.c
index 0ed3c3dee4cd..4ef68e2aa757 100644
--- a/arch/ia64/kernel/crash_dump.c
+++ b/arch/ia64/kernel/crash_dump.c
@@ -10,42 +10,18 @@
#include <linux/errno.h>
#include <linux/types.h>
#include <linux/crash_dump.h>
-
+#include <linux/uio.h>
#include <asm/page.h>
-#include <linux/uaccess.h>
-/**
- * copy_oldmem_page - copy one page from "oldmem"
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from "oldmem". For this page, there is no pte mapped
- * in the current kernel. We stitch up a pte, similar to kmap_atomic.
- *
- * Calling copy_to_user() in atomic context is not desirable. Hence first
- * copying the data to a pre-allocated kernel page and then copying to user
- * space in non-atomic context.
- */
-ssize_t
-copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
if (!csize)
return 0;
vaddr = __va(pfn<<PAGE_SHIFT);
- if (userbuf) {
- if (copy_to_user(buf, (vaddr + offset), csize)) {
- return -EFAULT;
- }
- } else
- memcpy(buf, (vaddr + offset), csize);
+ csize = copy_to_iter(vaddr + offset, csize, iter);
return csize;
}
diff --git a/arch/mips/kernel/crash_dump.c b/arch/mips/kernel/crash_dump.c
index 2e50f55185a6..6e50f4902409 100644
--- a/arch/mips/kernel/crash_dump.c
+++ b/arch/mips/kernel/crash_dump.c
@@ -1,22 +1,10 @@
// SPDX-License-Identifier: GPL-2.0
#include <linux/highmem.h>
#include <linux/crash_dump.h>
+#include <linux/uio.h>
-/**
- * copy_oldmem_page - copy one page from "oldmem"
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from "oldmem". For this page, there is no pte mapped
- * in the current kernel.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
@@ -24,14 +12,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
return 0;
vaddr = kmap_local_pfn(pfn);
-
- if (!userbuf) {
- memcpy(buf, vaddr + offset, csize);
- } else {
- if (copy_to_user(buf, vaddr + offset, csize))
- csize = -EFAULT;
- }
-
+ csize = copy_to_iter(vaddr + offset, csize, iter);
kunmap_local(vaddr);
return csize;
diff --git a/arch/powerpc/kernel/crash_dump.c b/arch/powerpc/kernel/crash_dump.c
index 5693e1c67c2b..32b4a97f1b79 100644
--- a/arch/powerpc/kernel/crash_dump.c
+++ b/arch/powerpc/kernel/crash_dump.c
@@ -16,7 +16,7 @@
#include <asm/kdump.h>
#include <asm/prom.h>
#include <asm/firmware.h>
-#include <linux/uaccess.h>
+#include <linux/uio.h>
#include <asm/rtas.h>
#include <asm/inst.h>
@@ -68,33 +68,8 @@ void __init setup_kdump_trampoline(void)
}
#endif /* CONFIG_NONSTATIC_KERNEL */
-static size_t copy_oldmem_vaddr(void *vaddr, char *buf, size_t csize,
- unsigned long offset, int userbuf)
-{
- if (userbuf) {
- if (copy_to_user((char __user *)buf, (vaddr + offset), csize))
- return -EFAULT;
- } else
- memcpy(buf, (vaddr + offset), csize);
-
- return csize;
-}
-
-/**
- * copy_oldmem_page - copy one page from "oldmem"
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from "oldmem". For this page, there is no pte mapped
- * in the current kernel. We stitch up a pte, similar to kmap_atomic.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
phys_addr_t paddr;
@@ -107,10 +82,10 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
if (memblock_is_region_memory(paddr, csize)) {
vaddr = __va(paddr);
- csize = copy_oldmem_vaddr(vaddr, buf, csize, offset, userbuf);
+ csize = copy_to_iter(vaddr + offset, csize, iter);
} else {
vaddr = ioremap_cache(paddr, PAGE_SIZE);
- csize = copy_oldmem_vaddr(vaddr, buf, csize, offset, userbuf);
+ csize = copy_to_iter(vaddr + offset, csize, iter);
iounmap(vaddr);
}
diff --git a/arch/riscv/kernel/crash_dump.c b/arch/riscv/kernel/crash_dump.c
index 86cc0ada5752..ea2158cee97b 100644
--- a/arch/riscv/kernel/crash_dump.c
+++ b/arch/riscv/kernel/crash_dump.c
@@ -7,22 +7,10 @@
#include <linux/crash_dump.h>
#include <linux/io.h>
+#include <linux/uio.h>
-/**
- * copy_oldmem_page() - copy one page from old kernel memory
- * @pfn: page frame number to be copied
- * @buf: buffer where the copied page is placed
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page
- * @userbuf: if set, @buf is in a user address space
- *
- * This function copies one page from old kernel memory into buffer pointed by
- * @buf. If @buf is in userspace, set @userbuf to %1. Returns number of bytes
- * copied or negative error in case of failure.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset,
- int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void *vaddr;
@@ -33,13 +21,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
if (!vaddr)
return -ENOMEM;
- if (userbuf) {
- if (copy_to_user((char __user *)buf, vaddr + offset, csize)) {
- memunmap(vaddr);
- return -EFAULT;
- }
- } else
- memcpy(buf, vaddr + offset, csize);
+ csize = copy_to_iter(vaddr + offset, csize, iter);
memunmap(vaddr);
return csize;
diff --git a/arch/s390/kernel/crash_dump.c b/arch/s390/kernel/crash_dump.c
index 69819b765250..a2c1c55daec0 100644
--- a/arch/s390/kernel/crash_dump.c
+++ b/arch/s390/kernel/crash_dump.c
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/memblock.h>
#include <linux/elf.h>
+#include <linux/uio.h>
#include <asm/asm-offsets.h>
#include <asm/os_info.h>
#include <asm/elf.h>
@@ -212,8 +213,8 @@ static int copy_oldmem_user(void __user *dst, unsigned long src, size_t count)
/*
* Copy one page from "oldmem"
*/
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn, size_t csize,
+ unsigned long offset)
{
unsigned long src;
int rc;
@@ -221,10 +222,12 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
if (!csize)
return 0;
src = pfn_to_phys(pfn) + offset;
- if (userbuf)
- rc = copy_oldmem_user((void __force __user *) buf, src, csize);
+
+ /* XXX: pass the iov_iter down to a common function */
+ if (iter_is_iovec(iter))
+ rc = copy_oldmem_user(iter->iov->iov_base, src, csize);
else
- rc = copy_oldmem_kernel((void *) buf, src, csize);
+ rc = copy_oldmem_kernel(iter->kvec->iov_base, src, csize);
return rc;
}
diff --git a/arch/sh/kernel/crash_dump.c b/arch/sh/kernel/crash_dump.c
index 5b41b59698c1..19ce6a950aac 100644
--- a/arch/sh/kernel/crash_dump.c
+++ b/arch/sh/kernel/crash_dump.c
@@ -8,23 +8,11 @@
#include <linux/errno.h>
#include <linux/crash_dump.h>
#include <linux/io.h>
+#include <linux/uio.h>
#include <linux/uaccess.h>
-/**
- * copy_oldmem_page - copy one page from "oldmem"
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from "oldmem". For this page, there is no pte mapped
- * in the current kernel. We stitch up a pte, similar to kmap_atomic.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
void __iomem *vaddr;
@@ -32,15 +20,8 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf,
return 0;
vaddr = ioremap(pfn << PAGE_SHIFT, PAGE_SIZE);
-
- if (userbuf) {
- if (copy_to_user((void __user *)buf, (vaddr + offset), csize)) {
- iounmap(vaddr);
- return -EFAULT;
- }
- } else
- memcpy(buf, (vaddr + offset), csize);
-
+ csize = copy_to_iter(vaddr + offset, csize, iter);
iounmap(vaddr);
+
return csize;
}
diff --git a/arch/x86/kernel/crash_dump_32.c b/arch/x86/kernel/crash_dump_32.c
index 5fcac46aaf6b..5f4ae5476e19 100644
--- a/arch/x86/kernel/crash_dump_32.c
+++ b/arch/x86/kernel/crash_dump_32.c
@@ -10,8 +10,7 @@
#include <linux/errno.h>
#include <linux/highmem.h>
#include <linux/crash_dump.h>
-
-#include <linux/uaccess.h>
+#include <linux/uio.h>
static inline bool is_crashed_pfn_valid(unsigned long pfn)
{
@@ -29,21 +28,8 @@ static inline bool is_crashed_pfn_valid(unsigned long pfn)
#endif
}
-/**
- * copy_oldmem_page - copy one page from "oldmem"
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from "oldmem". For this page, there might be no pte mapped
- * in the current kernel.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn, size_t csize,
+ unsigned long offset)
{
void *vaddr;
@@ -54,14 +40,7 @@ ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
return -EFAULT;
vaddr = kmap_local_pfn(pfn);
-
- if (!userbuf) {
- memcpy(buf, vaddr + offset, csize);
- } else {
- if (copy_to_user(buf, vaddr + offset, csize))
- csize = -EFAULT;
- }
-
+ csize = copy_to_iter(vaddr + offset, csize, iter);
kunmap_local(vaddr);
return csize;
diff --git a/arch/x86/kernel/crash_dump_64.c b/arch/x86/kernel/crash_dump_64.c
index 97529552dd24..94fe4aff9694 100644
--- a/arch/x86/kernel/crash_dump_64.c
+++ b/arch/x86/kernel/crash_dump_64.c
@@ -8,12 +8,12 @@
#include <linux/errno.h>
#include <linux/crash_dump.h>
-#include <linux/uaccess.h>
+#include <linux/uio.h>
#include <linux/io.h>
#include <linux/cc_platform.h>
-static ssize_t __copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf,
+static ssize_t __copy_oldmem_page(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset,
bool encrypted)
{
void *vaddr;
@@ -29,46 +29,27 @@ static ssize_t __copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
if (!vaddr)
return -ENOMEM;
- if (userbuf) {
- if (copy_to_user((void __user *)buf, vaddr + offset, csize)) {
- iounmap((void __iomem *)vaddr);
- return -EFAULT;
- }
- } else
- memcpy(buf, vaddr + offset, csize);
+ csize = copy_to_iter(vaddr + offset, csize, iter);
iounmap((void __iomem *)vaddr);
return csize;
}
-/**
- * copy_oldmem_page - copy one page of memory
- * @pfn: page frame number to be copied
- * @buf: target memory address for the copy; this can be in kernel address
- * space or user address space (see @userbuf)
- * @csize: number of bytes to copy
- * @offset: offset in bytes into the page (based on pfn) to begin the copy
- * @userbuf: if set, @buf is in user address space, use copy_to_user(),
- * otherwise @buf is in kernel address space, use memcpy().
- *
- * Copy a page from the old kernel's memory. For this page, there is no pte
- * mapped in the current kernel. We stitch up a pte, similar to kmap_atomic.
- */
-ssize_t copy_oldmem_page(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page(struct iov_iter *iter, unsigned long pfn, size_t csize,
+ unsigned long offset)
{
- return __copy_oldmem_page(pfn, buf, csize, offset, userbuf, false);
+ return __copy_oldmem_page(iter, pfn, csize, offset, false);
}
-/**
+/*
* copy_oldmem_page_encrypted - same as copy_oldmem_page() above but ioremap the
* memory with the encryption mask set to accommodate kdump on SME-enabled
* machines.
*/
-ssize_t copy_oldmem_page_encrypted(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf)
+ssize_t copy_oldmem_page_encrypted(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset)
{
- return __copy_oldmem_page(pfn, buf, csize, offset, userbuf, true);
+ return __copy_oldmem_page(iter, pfn, csize, offset, true);
}
ssize_t elfcorehdr_read(char *buf, size_t count, u64 *ppos)
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
index 6f1b8ddc6f7a..54dda2e19ed1 100644
--- a/fs/proc/vmcore.c
+++ b/fs/proc/vmcore.c
@@ -26,6 +26,7 @@
#include <linux/vmalloc.h>
#include <linux/pagemap.h>
#include <linux/uaccess.h>
+#include <linux/uio.h>
#include <linux/cc_platform.h>
#include <asm/io.h>
#include "internal.h"
@@ -128,9 +129,8 @@ static int open_vmcore(struct inode *inode, struct file *file)
}
/* Reads a page from the oldmem device from given offset. */
-ssize_t read_from_oldmem(char *buf, size_t count,
- u64 *ppos, int userbuf,
- bool encrypted)
+static ssize_t read_from_oldmem_iter(struct iov_iter *iter, size_t count,
+ u64 *ppos, bool encrypted)
{
unsigned long pfn, offset;
size_t nr_bytes;
@@ -152,29 +152,23 @@ ssize_t read_from_oldmem(char *buf, size_t count,
/* If pfn is not ram, return zeros for sparse dump files */
if (!pfn_is_ram(pfn)) {
- tmp = 0;
- if (!userbuf)
- memset(buf, 0, nr_bytes);
- else if (clear_user(buf, nr_bytes))
- tmp = -EFAULT;
+ tmp = iov_iter_zero(nr_bytes, iter);
} else {
if (encrypted)
- tmp = copy_oldmem_page_encrypted(pfn, buf,
+ tmp = copy_oldmem_page_encrypted(iter, pfn,
nr_bytes,
- offset,
- userbuf);
+ offset);
else
- tmp = copy_oldmem_page(pfn, buf, nr_bytes,
- offset, userbuf);
+ tmp = copy_oldmem_page(iter, pfn, nr_bytes,
+ offset);
}
- if (tmp < 0) {
+ if (tmp < nr_bytes) {
srcu_read_unlock(&vmcore_cb_srcu, idx);
- return tmp;
+ return -EFAULT;
}
*ppos += nr_bytes;
count -= nr_bytes;
- buf += nr_bytes;
read += nr_bytes;
++pfn;
offset = 0;
@@ -184,6 +178,27 @@ ssize_t read_from_oldmem(char *buf, size_t count,
return read;
}
+ssize_t read_from_oldmem(char *buf, size_t count,
+ u64 *ppos, int userbuf,
+ bool encrypted)
+{
+ struct iov_iter iter;
+ struct iovec iov;
+ struct kvec kvec;
+
+ if (userbuf) {
+ iov.iov_base = (__force void __user *)buf;
+ iov.iov_len = count;
+ iov_iter_init(&iter, READ, &iov, 1, count);
+ } else {
+ kvec.iov_base = buf;
+ kvec.iov_len = count;
+ iov_iter_kvec(&iter, READ, &kvec, 1, count);
+ }
+
+ return read_from_oldmem_iter(&iter, count, ppos, encrypted);
+}
+
/*
* Architectures may override this function to allocate ELF header in 2nd kernel
*/
@@ -228,11 +243,10 @@ int __weak remap_oldmem_pfn_range(struct vm_area_struct *vma,
/*
* Architectures which support memory encryption override this.
*/
-ssize_t __weak
-copy_oldmem_page_encrypted(unsigned long pfn, char *buf, size_t csize,
- unsigned long offset, int userbuf)
+ssize_t __weak copy_oldmem_page_encrypted(struct iov_iter *iter,
+ unsigned long pfn, size_t csize, unsigned long offset)
{
- return copy_oldmem_page(pfn, buf, csize, offset, userbuf);
+ return copy_oldmem_page(iter, pfn, csize, offset);
}
/*
diff --git a/include/linux/crash_dump.h b/include/linux/crash_dump.h
index 620821549b23..a1cf7d5c03c7 100644
--- a/include/linux/crash_dump.h
+++ b/include/linux/crash_dump.h
@@ -24,11 +24,10 @@ extern int remap_oldmem_pfn_range(struct vm_area_struct *vma,
unsigned long from, unsigned long pfn,
unsigned long size, pgprot_t prot);
-extern ssize_t copy_oldmem_page(unsigned long, char *, size_t,
- unsigned long, int);
-extern ssize_t copy_oldmem_page_encrypted(unsigned long pfn, char *buf,
- size_t csize, unsigned long offset,
- int userbuf);
+ssize_t copy_oldmem_page(struct iov_iter *i, unsigned long pfn, size_t csize,
+ unsigned long offset);
+ssize_t copy_oldmem_page_encrypted(struct iov_iter *iter, unsigned long pfn,
+ size_t csize, unsigned long offset);
void vmcore_cleanup(void);
--
2.35.1
next prev parent reply other threads:[~2022-06-27 11:56 UTC|newest]
Thread overview: 202+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-06-27 11:19 [PATCH 5.18 000/181] 5.18.8-rc1 review Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 001/181] random: schedule mix_interrupt_randomness() less often Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 002/181] random: quiet urandom warning ratelimit suppression message Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 003/181] ALSA: memalloc: Drop x86-specific hack for WC allocations Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 004/181] ALSA: hda/via: Fix missing beep setup Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 005/181] ALSA: hda: Fix discovery of i915 graphics PCI device Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 006/181] ALSA: hda/conexant: Fix missing beep setup Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 007/181] ALSA: hda/realtek: Add mute LED quirk for HP Omen laptop Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 008/181] ALSA: hda/realtek - ALC897 headset MIC no sound Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 009/181] ALSA: hda/realtek: Apply fixup for Lenovo Yoga Duet 7 properly Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 010/181] ALSA: hda/realtek: Add quirk for Clevo PD70PNT Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 011/181] ALSA: hda/realtek: Add quirk for Clevo NS50PU Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 012/181] net: openvswitch: fix parsing of nw_proto for IPv6 fragments Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 013/181] ipv4: ping: fix bind address validity check Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 014/181] 9p: Fix refcounting during full path walks for fid lookups Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 015/181] 9p: fix fid refcount leak in v9fs_vfs_atomic_open_dotl Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 016/181] 9p: fix fid refcount leak in v9fs_vfs_get_link Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 017/181] 9p: fix EBADF errors in cached mode Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 018/181] btrfs: fix hang during unmount when block group reclaim task is running Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 019/181] btrfs: prevent remounting to v1 space cache for subpage mount Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 020/181] btrfs: add error messages to all unrecognized mount options Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 021/181] scsi: ibmvfc: Store vhost pointer during subcrq allocation Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 022/181] scsi: ibmvfc: Allocate/free queue resource only during probe/remove Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 023/181] mmc: sdhci-pci-o2micro: Fix card detect by dealing with debouncing Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 024/181] mmc: mediatek: wait dma stop bit reset to 0 Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 025/181] xen/gntdev: Avoid blocking in unmap_grant_pages() Greg Kroah-Hartman
2022-06-27 11:19 ` [PATCH 5.18 026/181] MAINTAINERS: Add new IOMMU development mailing list Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 027/181] mtd: rawnand: gpmi: Fix setting busy timeout setting Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 028/181] ata: libata: add qc->flags in ata_qc_complete_template tracepoint Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 029/181] dm era: commit metadata in postsuspend after worker stops Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 030/181] dm: do not return early from dm_io_complete if BLK_STS_AGAIN without polling Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 031/181] dm mirror log: clear log bits up to BITS_PER_LONG boundary Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 032/181] tracing/kprobes: Check whether get_kretprobe() returns NULL in kretprobe_dispatcher() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 033/181] filemap: Handle sibling entries in filemap_get_read_batch() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 034/181] mm/slub: add missing TID updates on slab deactivation Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 035/181] drm/i915: Implement w/a 22010492432 for adl-s Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 036/181] amd/display/dc: Fix COLOR_ENCODING and COLOR_RANGE doing nothing for DCN20+ Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 037/181] drm/amd/display: Fix typo in override_lane_settings Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 038/181] USB: serial: pl2303: add support for more HXN (G) types Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 039/181] USB: serial: option: add Telit LE910Cx 0x1250 composition Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 040/181] USB: serial: option: add Quectel EM05-G modem Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 041/181] USB: serial: option: add Quectel RM500K module support Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 042/181] drm/msm: Ensure mmap offset is initialized Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 043/181] drm/msm: Fix double pm_runtime_disable() call Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 044/181] netfilter: use get_random_u32 instead of prandom Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 045/181] scsi: scsi_debug: Fix zone transition to full condition Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 046/181] drm/msm: Switch ordering of runpm put vs devfreq_idle Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 047/181] scsi: iscsi: Exclude zero from the endpoint ID range Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 048/181] xsk: Fix generic transmit when completion queue reservation fails Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 049/181] drm/msm: use for_each_sgtable_sg to iterate over scatterlist Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 050/181] bpf: Fix request_sock leak in sk lookup helpers Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 051/181] drm/sun4i: Fix crash during suspend after component bind failure Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 052/181] bpf, x86: Fix tail call count offset calculation on bpf2bpf call Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 053/181] selftests dma: fix compile error for dma_map_benchmark Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 054/181] scsi: storvsc: Correct reporting of Hyper-V I/O size limits Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 055/181] phy: aquantia: Fix AN when higher speeds than 1G are not advertised Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 056/181] KVM: arm64: Prevent kmemleak from accessing pKVM memory Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 057/181] net: fix data-race in dev_isalive() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 058/181] veth: Add updating of trans_start Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 059/181] tipc: fix use-after-free Read in tipc_named_reinit Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 060/181] block: disable the elevator int del_gendisk Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 061/181] rethook: Reject getting a rethook if RCU is not watching Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 062/181] igb: fix a use-after-free issue in igb_clean_tx_ring Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 063/181] bonding: ARP monitor spams NETDEV_NOTIFY_PEERS notifiers Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 064/181] ethtool: Fix get module eeprom fallback Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 065/181] net/sched: sch_netem: Fix arithmetic in netem_dump() for 32-bit platforms Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 066/181] drm/msm/mdp4: Fix refcount leak in mdp4_modeset_init_intf Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 067/181] drm/msm/dp: check core_initialized before disable interrupts at dp_display_unbind() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 068/181] drm/msm/dp: force link training for display resolution change Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 069/181] net: phy: at803x: fix NULL pointer dereference on AR9331 PHY Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 070/181] perf test: Record only user callchains on the "Check Arm64 callgraphs are complete in fp mode" test Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 071/181] perf test topology: Use !strncmp(right platform) to fix guest PPC comparision check Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 072/181] perf arm-spe: Dont set data source if its not a memory operation Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 073/181] ipv4: fix bind address validity regression tests Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 074/181] erspan: do not assume transport header is always set Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 075/181] net/tls: fix tls_sk_proto_close executed repeatedly Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 076/181] udmabuf: add back sanity check Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 077/181] selftests: netfilter: correct PKTGEN_SCRIPT_PATHS in nft_concat_range.sh Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 078/181] netfilter: nf_dup_netdev: do not push mac header a second time Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 079/181] netfilter: nf_dup_netdev: add and use recursion counter Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 080/181] xen-blkfront: Handle NULL gendisk Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 081/181] x86/xen: Remove undefined behavior in setup_features() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 082/181] MIPS: Remove repetitive increase irq_err_count Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 083/181] afs: Fix dynamic root getattr Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 084/181] block: pop cached rq before potentially blocking rq_qos_throttle() Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 085/181] ice: ignore protocol field in GTP offload Greg Kroah-Hartman
2022-06-27 11:20 ` [PATCH 5.18 086/181] ice: Fix switchdev rules book keeping Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 087/181] ice: ethtool: advertise 1000M speeds properly Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 088/181] ice: ethtool: Prohibit improper channel config for DCB Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 089/181] io_uring: fail links when poll fails Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 090/181] regmap-irq: Fix a bug in regmap_irq_enable() for type_in_mask chips Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 091/181] regmap-irq: Fix offset/index mismatch in read_sub_irq_data() Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 092/181] iommu/ipmmu-vmsa: Fix compatible for rcar-gen4 Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 093/181] drm/amd: Revert "drm/amd/display: keep eDP Vdd on when eDP stream is already enabled" Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 094/181] net: dsa: qca8k: reduce mgmt ethernet timeout Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 095/181] igb: Make DMA faster when CPU is active on the PCIe link Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 096/181] virtio_net: fix xdp_rxq_info bug after suspend/resume Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 097/181] Revert "net/tls: fix tls_sk_proto_close executed repeatedly" Greg Kroah-Hartman
2022-06-27 15:33 ` Jakub Kicinski
2022-06-27 15:50 ` Greg Kroah-Hartman
2022-06-27 15:57 ` Jakub Kicinski
2022-06-28 13:32 ` Sasha Levin
2022-06-27 11:21 ` [PATCH 5.18 098/181] sock: redo the psock vs ULP protection check Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 099/181] nvme: move the Samsung X5 quirk entry to the core quirks Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 100/181] gpio: winbond: Fix error code in winbond_gpio_get() Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 101/181] s390/cpumf: Handle events cycles and instructions identical Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 102/181] filemap: Fix serialization adding transparent huge pages to page cache Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 103/181] KVM: SEV: Init target VMCBs in sev_migrate_from Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 104/181] iio: mma8452: fix probe fail when device tree compatible is used Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 105/181] iio: magnetometer: yas530: Fix memchr_inv() misuse Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 106/181] iio: adc: xilinx-ams: fix return error variable Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 107/181] iio: adc: vf610: fix conversion mode sysfs node name Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 108/181] io_uring: make apoll_events a __poll_t Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 109/181] io_uring: fix req->apoll_events Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 110/181] usb: typec: wcove: Drop wrong dependency to INTEL_SOC_PMIC Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 111/181] io_uring: fix wrong arm_poll error handling Greg Kroah-Hartman
2022-06-27 11:21 ` Greg Kroah-Hartman [this message]
2022-06-27 16:27 ` [PATCH 5.18 112/181] vmcore: convert copy_oldmem_page() to take an iov_iter Heiko Carstens
2022-06-28 7:09 ` Greg Kroah-Hartman
2022-06-28 8:29 ` Alexander Gordeev
2022-07-04 17:26 ` Matthew Wilcox
2022-07-05 11:53 ` Alexander Gordeev
2022-06-27 11:21 ` [PATCH 5.18 113/181] s390/crash: add missing iterator advance in copy_oldmem_page() Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 114/181] s390/crash: make copy_oldmem_page() return number of bytes copied Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 115/181] xhci: turn off port power in shutdown Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 116/181] xhci-pci: Allow host runtime PM as default for Intel Raptor Lake xHCI Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 117/181] xhci-pci: Allow host runtime PM as default for Intel Meteor " Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 118/181] usb: gadget: uvc: fix list double add in uvcg_video_pump Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 119/181] usb: gadget: Fix non-unique driver names in raw-gadget driver Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 120/181] USB: gadget: Fix double-free bug in raw_gadget driver Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 121/181] usb: chipidea: udc: check request status before setting device address Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 122/181] dt-bindings: usb: ohci: Increase the number of PHYs Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 123/181] dt-bindings: usb: ehci: " Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 124/181] btrfs: fix race between reflinking and ordered extent completion Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 125/181] btrfs: dont set lock_owner when locking extent buffer for reading Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 126/181] btrfs: fix deadlock with fsync+fiemap+transaction commit Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 127/181] f2fs: attach inline_data after setting compression Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 128/181] f2fs: fix iostat related lock protection Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 129/181] f2fs: do not count ENOENT for error case Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 130/181] iio:humidity:hts221: rearrange iio trigger get and register Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 131/181] iio:proximity:sx9324: Check ret value of device_property_read_u32_array() Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 132/181] iio:chemical:ccs811: rearrange iio trigger get and register Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 133/181] iio:accel:kxcjk-1013: " Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 134/181] iio:accel:bma180: " Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 135/181] iio:accel:mxc4005: " Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 136/181] iio: accel: mma8452: ignore the return value of reset operation Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 137/181] iio: gyro: mpu3050: Fix the error handling in mpu3050_power_up() Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 138/181] iio: trigger: sysfs: fix use-after-free on remove Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 139/181] iio: adc: stm32: fix maximum clock rate for stm32mp15x Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 140/181] iio: imu: inv_icm42600: Fix broken icm42600 (chip id 0 value) Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 141/181] iio: afe: rescale: Fix boolean logic bug Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 142/181] iio: test: fix missing MODULE_LICENSE for IIO_RESCALE=m Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 143/181] iio: adc: aspeed: Fix refcount leak in aspeed_adc_set_trim_data Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 144/181] iio: adc: stm32: Fix ADCs iteration in irq handler Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 145/181] iio: adc: stm32: Fix IRQs on STM32F4 by removing custom spurious IRQs message Greg Kroah-Hartman
2022-06-27 11:21 ` [PATCH 5.18 146/181] iio: adc: stm32: fix vrefint wrong calibration value handling Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 147/181] iio: adc: axp288: Override TS pin bias current for some models Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 148/181] iio: adc: rzg2l_adc: add missing fwnode_handle_put() in rzg2l_adc_parse_properties() Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 149/181] iio: adc: adi-axi-adc: Fix refcount leak in adi_axi_adc_attach_client Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 150/181] iio: adc: ti-ads131e08: add missing fwnode_handle_put() in ads131e08_alloc_channels() Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 151/181] xtensa: xtfpga: Fix refcount leak bug in setup Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 152/181] xtensa: Fix refcount leak bug in time.c Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 153/181] parisc/stifb: Fix fb_is_primary_device() only available with CONFIG_FB_STI Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 154/181] parisc: Fix flush_anon_page on PA8800/PA8900 Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 155/181] parisc: Enable ARCH_HAS_STRICT_MODULE_RWX Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 156/181] arm64: dts: ti: k3-j721s2: Fix overlapping GICD memory region Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 157/181] powerpc/microwatt: wire up rng during setup_arch() Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 158/181] powerpc: Enable execve syscall exit tracepoint Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 159/181] powerpc/rtas: Allow ibm,platform-dump RTAS call with null buffer address Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 160/181] powerpc/powernv: wire up rng during setup_arch Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 161/181] mm/memory-failure: disable unpoison once hw error happens Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 162/181] mm: lru_cache_disable: use synchronize_rcu_expedited Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 163/181] ARM: dts: imx7: Move hsic_phy power domain to HSIC PHY node Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 164/181] ARM: dts: imx6qdl: correct PU regulator ramp delay Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 165/181] arm64: dts: ti: k3-am64-main: Remove support for HS400 speed mode Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 166/181] ARM: exynos: Fix refcount leak in exynos_map_pmu Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 167/181] arm64: dts: exynos: Correct UART clocks on Exynos7885 Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 168/181] soc: bcm: brcmstb: pm: pm-arm: Fix refcount leak in brcmstb_pm_probe Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 169/181] ARM: Fix refcount leak in axxia_boot_secondary Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 170/181] memory: mtk-smi: add missing put_device() call in mtk_smi_device_link_common Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 171/181] memory: samsung: exynos5422-dmc: Fix refcount leak in of_get_dram_timings Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 172/181] ARM: cns3xxx: Fix refcount leak in cns3xxx_init Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 173/181] modpost: fix section mismatch check for exported init/exit sections Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 174/181] ARM: dts: bcm2711-rpi-400: Fix GPIO line names Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 175/181] smb3: fix empty netname context on secondary channels Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 176/181] random: update comment from copy_to_user() -> copy_to_iter() Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 177/181] perf build-id: Fix caching files with a wrong build ID Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 178/181] smb3: use netname when available on secondary channels Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 179/181] dma-direct: use the correct size for dma_set_encrypted() Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 180/181] kbuild: link vmlinux only once for CONFIG_TRIM_UNUSED_KSYMS (2nd attempt) Greg Kroah-Hartman
2022-06-27 11:22 ` [PATCH 5.18 181/181] powerpc/pseries: wire up rng during setup_arch() Greg Kroah-Hartman
2022-06-27 17:49 ` [PATCH 5.18 000/181] 5.18.8-rc1 review Florian Fainelli
2022-06-27 18:08 ` Daniel Díaz
2022-06-27 21:44 ` Rudi Heitbaum
2022-06-27 21:50 ` Shuah Khan
2022-06-27 21:52 ` Ron Economos
2022-06-27 23:42 ` Guenter Roeck
2022-06-28 2:49 ` Justin Forbes
2022-06-28 6:28 ` Bagas Sanjaya
2022-06-28 13:23 ` Sudip Mukherjee
2022-07-06 7:41 ` Bagas Sanjaya
2022-07-06 23:51 ` Shuah Khan
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=20220627111947.945731832@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=akpm@linux-foundation.org \
--cc=bhe@redhat.com \
--cc=hca@linux.ibm.com \
--cc=hch@lst.de \
--cc=linux-kernel@vger.kernel.org \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
--cc=willy@infradead.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
Powered by JetHome