Using kstrtol to parse the "{e,}memsize" variables was wrong because this
parses signed long numbers. In case of '{e,}memsize' >= 2G, the top bit
is set, resulting to -ERANGE errors and possibly random system memory
boundaries. We fix this by replacing "kstrtol" with "kstrtoul".
We also improve the code to check the kstrtoul return value and
print a warning if an error was returned.
Signed-off-by: Markos Chandras <markos.chandras@imgtec.com>
Cc: <stable@vger.kernel.org> # v3.15+
Cc: linux-mips@linux-mips.org
Patchwork: https://patchwork.linux-mips.org/patch/7543/
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
|
||
|---|---|---|
| .. | ||
| Makefile | ||
| malta-amon.c | ||
| malta-display.c | ||
| malta-init.c | ||
| malta-int.c | ||
| malta-memory.c | ||
| malta-platform.c | ||
| malta-pm.c | ||
| malta-reset.c | ||
| malta-setup.c | ||
| malta-time.c | ||
| Platform | ||