From: Baoquan He <bhe@redhat.com>
To: linux-kernel@vger.kernel.org
Cc: linux-arch@vger.kernel.org, linux-mm@kvack.org, arnd@arndb.de,
christophe.leroy@csgroup.eu, hch@infradead.org,
agordeev@linux.ibm.com, wangkefeng.wang@huawei.com,
schnelle@linux.ibm.com, David.Laight@ACULAB.COM,
shorne@gmail.com, willy@infradead.org,
Baoquan He <bhe@redhat.com>
Subject: [PATCH v5 06/17] mm/ioremap: add slab availability checking in ioremap_prot
Date: Wed, 1 Mar 2023 11:42:36 +0800 [thread overview]
Message-ID: <20230301034247.136007-7-bhe@redhat.com> (raw)
In-Reply-To: <20230301034247.136007-1-bhe@redhat.com>
Several architectures has done checking if slab if available in
ioremap_prot(). In fact it should be done in generic ioremap_prot()
since on any architecutre, slab allocator must be available before
get_vm_area_caller() and vunmap() are used.
Add the checking into generic_ioremap_prot().
Suggested-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Baoquan He <bhe@redhat.com>
---
mm/ioremap.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/mm/ioremap.c b/mm/ioremap.c
index 9f34a8f90b58..2fbe6b9bc50e 100644
--- a/mm/ioremap.c
+++ b/mm/ioremap.c
@@ -18,6 +18,10 @@ void __iomem *generic_ioremap_prot(phys_addr_t phys_addr, size_t size,
phys_addr_t last_addr;
struct vm_struct *area;
+ /* An early platform driver might end up here */
+ if (!slab_is_available())
+ return NULL;
+
/* Disallow wrap-around or zero size */
last_addr = phys_addr + size - 1;
if (!size || last_addr < phys_addr)
--
2.34.1
next prev parent reply other threads:[~2023-03-01 3:44 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-01 3:42 [PATCH v5 00/17] mm: ioremap: Convert architectures to take GENERIC_IOREMAP way Baoquan He
2023-03-01 3:42 ` [PATCH v5 01/17] asm-generic/iomap.h: remove ARCH_HAS_IOREMAP_xx macros Baoquan He
2023-03-01 3:42 ` Baoquan He
2023-03-01 4:38 ` Edward Cree
2023-03-01 4:38 ` Edward Cree
2023-03-01 5:11 ` Matthew Wilcox
2023-03-01 5:11 ` Matthew Wilcox
2023-03-01 9:24 ` Baoquan He
2023-03-01 9:24 ` Baoquan He
2023-03-01 3:42 ` [PATCH v5 02/17] hexagon: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-03-01 3:42 ` [PATCH v5 03/17] openrisc: mm: remove unneeded early ioremap code Baoquan He
2023-03-01 3:42 ` [PATCH v5 04/17] mm/ioremap: Define generic_ioremap_prot() and generic_iounmap() Baoquan He
2023-03-01 3:42 ` [PATCH v5 05/17] mm: ioremap: allow ARCH to have its own ioremap method definition Baoquan He
2023-03-01 3:42 ` Baoquan He [this message]
2023-03-01 3:42 ` [PATCH v5 07/17] arc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-03-01 3:42 ` Baoquan He
2023-03-01 3:42 ` [PATCH v5 08/17] ia64: " Baoquan He
2023-03-01 3:42 ` Baoquan He
2023-03-01 3:42 ` [PATCH v5 09/17] openrisc: " Baoquan He
2023-03-01 3:42 ` [PATCH v5 10/17] s390: " Baoquan He
2023-03-01 3:42 ` [PATCH v5 11/17] sh: " Baoquan He
2023-03-01 3:42 ` [PATCH v5 12/17] xtensa: " Baoquan He
2023-03-01 3:42 ` [PATCH v5 13/17] parisc: " Baoquan He
2023-03-01 3:42 ` [PATCH v5 14/17] mm/ioremap: Consider IOREMAP space in generic ioremap Baoquan He
2023-03-01 3:42 ` [PATCH v5 15/17] powerpc: mm: Convert to GENERIC_IOREMAP Baoquan He
2023-03-01 3:42 ` [PATCH v5 16/17] arm64 : mm: add wrapper function ioremap_prot() Baoquan He
2023-03-01 3:42 ` [PATCH v5 17/17] mm: ioremap: remove unneeded ioremap_allowed and iounmap_allowed Baoquan He
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=20230301034247.136007-7-bhe@redhat.com \
--to=bhe@redhat.com \
--cc=David.Laight@ACULAB.COM \
--cc=agordeev@linux.ibm.com \
--cc=arnd@arndb.de \
--cc=christophe.leroy@csgroup.eu \
--cc=hch@infradead.org \
--cc=linux-arch@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=schnelle@linux.ibm.com \
--cc=shorne@gmail.com \
--cc=wangkefeng.wang@huawei.com \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.