From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Alexandre Ghiti <alex@ghiti.fr>,
Atish Patra <atish.patra@wdc.com>,
Palmer Dabbelt <palmerdabbelt@google.com>,
Sasha Levin <sashal@kernel.org>,
linux-riscv@lists.infradead.org
Subject: [PATCH AUTOSEL 4.19 09/14] riscv: virt_addr_valid must check the address belongs to linear mapping
Date: Mon, 8 Feb 2021 12:59:21 -0500 [thread overview]
Message-ID: <20210208175926.2092211-9-sashal@kernel.org> (raw)
In-Reply-To: <20210208175926.2092211-1-sashal@kernel.org>
From: Alexandre Ghiti <alex@ghiti.fr>
[ Upstream commit 2ab543823322b564f205cb15d0f0302803c87d11 ]
virt_addr_valid macro checks that a virtual address is valid, ie that
the address belongs to the linear mapping and that the corresponding
physical page exists.
Add the missing check that ensures the virtual address belongs to the
linear mapping, otherwise __virt_to_phys, when compiled with
CONFIG_DEBUG_VIRTUAL enabled, raises a WARN that is interpreted as a
kernel bug by syzbot.
Signed-off-by: Alexandre Ghiti <alex@ghiti.fr>
Reviewed-by: Atish Patra <atish.patra@wdc.com>
Signed-off-by: Palmer Dabbelt <palmerdabbelt@google.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
arch/riscv/include/asm/page.h | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/arch/riscv/include/asm/page.h b/arch/riscv/include/asm/page.h
index 06cfbb3aacbb0..abc147aeff8b0 100644
--- a/arch/riscv/include/asm/page.h
+++ b/arch/riscv/include/asm/page.h
@@ -115,7 +115,10 @@ extern unsigned long min_low_pfn;
#endif /* __ASSEMBLY__ */
-#define virt_addr_valid(vaddr) (pfn_valid(virt_to_pfn(vaddr)))
+#define virt_addr_valid(vaddr) ({ \
+ unsigned long _addr = (unsigned long)vaddr; \
+ (unsigned long)(_addr) >= PAGE_OFFSET && pfn_valid(virt_to_pfn(_addr)); \
+})
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
--
2.27.0
next prev parent reply other threads:[~2021-02-08 19:38 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-02-08 17:59 [PATCH AUTOSEL 4.19 01/14] arm64: dts: rockchip: Fix PCIe DT properties on rk3399 Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 02/14] Input: xpad - sync supported devices with fork on GitHub Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 03/14] platform/x86: hp-wmi: Disable tablet-mode reporting by default Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 04/14] ovl: perform vfs_getxattr() with mounter creds Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 05/14] cap: fix conversions on getxattr Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 06/14] ovl: skip getxattr of security labels Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 07/14] drm/amd/display: Fix dc_sink kref count in emulated_link_detect Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 08/14] drm/amd/display: Free atomic state after drm_atomic_commit Sasha Levin
2021-02-08 17:59 ` Sasha Levin [this message]
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 10/14] bfq-iosched: Revert "bfq: Fix computation of shallow depth" Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 11/14] ARM: dts: lpc32xx: Revert set default clock rate of HCLK PLL Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 12/14] ARM: ensure the signal page contains defined contents Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 13/14] ARM: kexec: fix oops after TLB are invalidated Sasha Levin
2021-02-08 17:59 ` [PATCH AUTOSEL 4.19 14/14] init/gcov: allow CONFIG_CONSTRUCTORS on UML to fix module gcov Sasha Levin
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=20210208175926.2092211-9-sashal@kernel.org \
--to=sashal@kernel.org \
--cc=alex@ghiti.fr \
--cc=atish.patra@wdc.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-riscv@lists.infradead.org \
--cc=palmerdabbelt@google.com \
--cc=stable@vger.kernel.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
all inboxes | Powered by JetHome®