lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-ID: <20170914155051.8289-12-alexander.levin@verizon.com> Date: Thu, 14 Sep 2017 15:51:08 +0000 From: "Levin, Alexander (Sasha Levin)" <alexander.levin@...izon.com> To: "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>, "stable@...r.kernel.org" <stable@...r.kernel.org> Cc: Marcin Nowakowski <marcin.nowakowski@...tec.com>, "linux-mips@...ux-mips.org" <linux-mips@...ux-mips.org>, Ralf Baechle <ralf@...ux-mips.org>, "Levin, Alexander (Sasha Levin)" <alexander.levin@...izon.com> Subject: [PATCH for 4.9 12/59] MIPS: kexec: Do not reserve invalid crashkernel memory on boot From: Marcin Nowakowski <marcin.nowakowski@...tec.com> [ Upstream commit a8f108d70c74d83574c157648383eb2e4285a190 ] Do not reserve memory for the crashkernel if the commandline argument points to a wrong location. This can happen if the location is specified wrong or if the same commandline is reused when starting the crashkernel - in the latter case the reserved memory would point to the location from which the crashkernel is executing. Signed-off-by: Marcin Nowakowski <marcin.nowakowski@...tec.com> Cc: linux-mips@...ux-mips.org Patchwork: https://patchwork.linux-mips.org/patch/14612/ Signed-off-by: Ralf Baechle <ralf@...ux-mips.org> Signed-off-by: Sasha Levin <alexander.levin@...izon.com> --- arch/mips/kernel/setup.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/arch/mips/kernel/setup.c b/arch/mips/kernel/setup.c index 38697f25d168..d64ee5d3cc89 100644 --- a/arch/mips/kernel/setup.c +++ b/arch/mips/kernel/setup.c @@ -668,6 +668,11 @@ static void __init mips_parse_crashkernel(void) if (ret != 0 || crash_size <= 0) return; + if (!memory_region_available(crash_base, crash_size)) { + pr_warn("Invalid memory region reserved for crash kernel\n"); + return; + } + crashk_res.start = crash_base; crashk_res.end = crash_base + crash_size - 1; } -- 2.11.0
Powered by blists - more mailing lists