OSDN Git Service

x86, UML: fix integer overflow in ELF_ET_DYN_BASE
authorAndrey Ryabinin <a.ryabinin@samsung.com>
Tue, 24 Mar 2015 15:31:24 +0000 (18:31 +0300)
committerRichard Weinberger <richard@nod.at>
Mon, 13 Apr 2015 19:16:12 +0000 (21:16 +0200)
commitfc9bea0e28db8cbfe0a08c1bfb1796bfd7adf49b
treefa8b8d965677995b82d270f751103cc7a8d41a51
parent0c9bd6365d0b278728359843b8303047ddedb831
x86, UML: fix integer overflow in ELF_ET_DYN_BASE

Almost all arches define ELF_ET_DYN_BASE as 2/3 of TASK_SIZE.
Though it seems that some architectures do this in a wrong way.
The problem is that 2*TASK_SIZE may overflow 32-bits so
the real ELF_ET_DYN_BASE becomes wrong.
Fix this overflow by dividing TASK_SIZE prior to multiplying:
(TASK_SIZE / 3 * 2)

Signed-off-by: Andrey Ryabinin <a.ryabinin@samsung.com>
Signed-off-by: Richard Weinberger <richard@nod.at>
arch/x86/um/asm/elf.h