[PATCH 09/12] kexec: ensure user memory sizes do not wrap
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
- To: linux-arm-kernel@xxxxxxxxxxxxxxxxxxx
- Subject: [PATCH 09/12] kexec: ensure user memory sizes do not wrap
- From: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
- Date: Thu, 28 Apr 2016 10:28:30 +0100
- Cc: devicetree@xxxxxxxxxxxxxxx, Eric Biederman <ebiederm@xxxxxxxxxxxx>, Fenghua Yu <fenghua.yu@xxxxxxxxx>, Haren Myneni <hbabu@xxxxxxxxxx>, Ian Campbell <ijc+devicetree@xxxxxxxxxxxxxx>, Jonathan Corbet <corbet@xxxxxxx>, kexec@xxxxxxxxxxxxxxxxxxx, Kumar Gala <galak@xxxxxxxxxxxxxx>, linux-doc@xxxxxxxxxxxxxxx, linux-ia64@xxxxxxxxxxxxxxx, Mark Rutland <mark.rutland@xxxxxxx>, Pawel Moll <pawel.moll@xxxxxxx>, Rob Herring <robh+dt@xxxxxxxxxx>, Santosh Shilimkar <ssantosh@xxxxxxxxxx>, Tony Luck <tony.luck@xxxxxxxxx>, Vivek Goyal <vgoyal@xxxxxxxxxx>
- In-reply-to: <20160428092644.GX19428@n2100.arm.linux.org.uk>
- List-id: <linux-ia64.vger.kernel.org>
- References: <20160428092644.GX19428@n2100.arm.linux.org.uk>
Ensure that user memory sizes do not wrap around when validating the
user input, which can lead to the following input validation working
incorrectly.
Signed-off-by: Russell King <rmk+kernel@xxxxxxxxxxxxxxxx>
---
kernel/kexec_core.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/kernel/kexec_core.c b/kernel/kexec_core.c
index 8d34308ea449..d719a4d0ef55 100644
--- a/kernel/kexec_core.c
+++ b/kernel/kexec_core.c
@@ -169,6 +169,8 @@ int sanity_check_segment_list(struct kimage *image)
mstart = image->segment[i].mem;
mend = mstart + image->segment[i].memsz;
+ if (mstart > mend)
+ return result;
if ((mstart & ~PAGE_MASK) || (mend & ~PAGE_MASK))
return result;
if (mend >= KEXEC_DESTINATION_MEMORY_LIMIT)
--
2.1.0
--
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Index of Archives]
[Linux Kernel]
[Sparc Linux]
[DCCP]
[Linux ARM]
[Yosemite News]
[Linux SCSI]
[Linux x86_64]
[Linux for Ham Radio]