You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
94 lines
3.5 KiB
94 lines
3.5 KiB
From 21eb397a5fc9227cd95d23e8c74a49cf6a293e57 Mon Sep 17 00:00:00 2001 |
|
|
|
From: Hari Bathini <hbathini@linux.vnet.ibm.com> |
|
|
|
Subject: [PATCH] kexec-tools: powerpc: fix command line overflow error |
|
|
|
Since kernel commit a5980d064fe2 ("powerpc: Bump COMMAND_LINE_SIZE |
|
to 2048"), powerpc bumped command line size to 2048 but the size |
|
used here is still the default value of 512. Bump it to 2048 to |
|
fix command line overflow errors observed when command line length |
|
is above 512 bytes. Also, get rid of the multiple definitions of |
|
COMMAND_LINE_SIZE macro in ppc architecture. |
|
|
|
Signed-off-by: Hari Bathini <hbathini@linux.vnet.ibm.com> |
|
Signed-off-by: Simon Horman <horms@verge.net.au> |
|
--- |
|
kexec/arch/ppc/crashdump-powerpc.h | 2 -- |
|
kexec/arch/ppc/fs2dt.c | 1 - |
|
kexec/arch/ppc/kexec-ppc.h | 3 ++- |
|
kexec/arch/ppc/ops.h | 1 - |
|
kexec/arch/ppc64/crashdump-ppc64.h | 2 +- |
|
5 files changed, 3 insertions(+), 6 deletions(-) |
|
|
|
diff --git a/kexec/arch/ppc/crashdump-powerpc.h b/kexec/arch/ppc/crashdump-powerpc.h |
|
index 9b9b01e..97b5095 100644 |
|
--- a/kexec/arch/ppc/crashdump-powerpc.h |
|
+++ b/kexec/arch/ppc/crashdump-powerpc.h |
|
@@ -20,8 +20,6 @@ extern struct arch_options_t arch_options; |
|
#define KERNELBASE PAGE_OFFSET |
|
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) |
|
|
|
-#define COMMAND_LINE_SIZE 512 /* from kernel */ |
|
- |
|
#ifdef CONFIG_BOOKE |
|
/* We don't need backup region in Book E */ |
|
#define BACKUP_SRC_START 0x0000 |
|
diff --git a/kexec/arch/ppc/fs2dt.c b/kexec/arch/ppc/fs2dt.c |
|
index 6e77379..fed499b 100644 |
|
--- a/kexec/arch/ppc/fs2dt.c |
|
+++ b/kexec/arch/ppc/fs2dt.c |
|
@@ -37,7 +37,6 @@ |
|
#define TREEWORDS 65536 /* max 32 bit words for properties */ |
|
#define MEMRESERVE 256 /* max number of reserved memory blks */ |
|
#define MAX_MEMORY_RANGES 1024 |
|
-#define COMMAND_LINE_SIZE 512 /* from kernel */ |
|
|
|
static char pathname[MAXPATH]; |
|
static char propnames[NAMESPACE] = { 0 }; |
|
diff --git a/kexec/arch/ppc/kexec-ppc.h b/kexec/arch/ppc/kexec-ppc.h |
|
index 904cf48..6dc36c6 100644 |
|
--- a/kexec/arch/ppc/kexec-ppc.h |
|
+++ b/kexec/arch/ppc/kexec-ppc.h |
|
@@ -6,6 +6,8 @@ |
|
#define CORE_TYPE_ELF32 1 |
|
#define CORE_TYPE_ELF64 2 |
|
|
|
+#define COMMAND_LINE_SIZE 2048 /* from kernel */ |
|
+ |
|
extern unsigned char setup_simple_start[]; |
|
extern uint32_t setup_simple_size; |
|
|
|
@@ -75,7 +77,6 @@ extern unsigned long dt_address_cells, dt_size_cells; |
|
extern int init_memory_region_info(void); |
|
extern int read_memory_region_limits(int fd, unsigned long long *start, |
|
unsigned long long *end); |
|
-#define COMMAND_LINE_SIZE 512 /* from kernel */ |
|
/*fs2dt*/ |
|
void reserve(unsigned long long where, unsigned long long length); |
|
|
|
diff --git a/kexec/arch/ppc/ops.h b/kexec/arch/ppc/ops.h |
|
index 7334a05..5e7a070 100644 |
|
--- a/kexec/arch/ppc/ops.h |
|
+++ b/kexec/arch/ppc/ops.h |
|
@@ -12,7 +12,6 @@ |
|
#define _PPC_BOOT_OPS_H_ |
|
#include "types.h" |
|
|
|
-#define COMMAND_LINE_SIZE 512 |
|
#define MAX_PATH_LEN 256 |
|
#define MAX_PROP_LEN 256 /* What should this be? */ |
|
|
|
diff --git a/kexec/arch/ppc64/crashdump-ppc64.h b/kexec/arch/ppc64/crashdump-ppc64.h |
|
index d654c6b..42ccc31 100644 |
|
--- a/kexec/arch/ppc64/crashdump-ppc64.h |
|
+++ b/kexec/arch/ppc64/crashdump-ppc64.h |
|
@@ -16,7 +16,7 @@ void add_usable_mem_rgns(unsigned long long base, unsigned long long size); |
|
#define __pa(x) ((unsigned long)(x)-PAGE_OFFSET) |
|
#define MAXMEM (-KERNELBASE-VMALLOCBASE) |
|
|
|
-#define COMMAND_LINE_SIZE 512 /* from kernel */ |
|
+#define COMMAND_LINE_SIZE 2048 /* from kernel */ |
|
/* Backup Region, First 64K of System RAM. */ |
|
#define BACKUP_SRC_START 0x0000 |
|
#define BACKUP_SRC_END 0xffff
|
|
|