On 2015年09月16日 18:39, Minfei Huang wrote:
On 09/16/15 at 10:58am, yanjiang....@windriver.com wrote:
From: Yanjiang Jin <yanjiang....@windriver.com>
Function parse_crash_elf_headers() reads e_ident[EI_CLASS] then decides to
call parse_crash_elf64_headers() or parse_crash_elf32_headers().
But this happens in run time, not compile time. So compiler will report
the below warning:
In file included from include/linux/elf.h:4:0,
from fs/proc/vmcore.c:13:
fs/proc/vmcore.c: In function 'parse_crash_elf32_headers':
arch/mips/include/asm/elf.h:258:23: warning: initializatio
n from incompatible pointer type
struct elfhdr *__h = (hdr); \
^
How about converting the hdr to type elfhdr in above sentence, like
following.
struct elfhdr *__h = (struct elfhdr *)(hdr);
Yes, this is a replacement, and it seems more safe because it just
affects MIPS arch.
But I also can't see any obvious impact if modifying common vmcore.c:-)
Anyway, if you stick to your opinion, I can send a V2 patch to update
mips' elf.h rather than vmcore.c.
Thanks!
Yanjiang
Thanks
Minfei
fs/proc/vmcore.c:1071:4: note: in expansion of macro 'elf_
check_arch'
!elf_check_arch(&ehdr) ||
^
Signed-off-by: Yanjiang Jin <yanjiang....@windriver.com>
---
fs/proc/vmcore.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/fs/proc/vmcore.c b/fs/proc/vmcore.c
index 4e61388..576bb26 100644
--- a/fs/proc/vmcore.c
+++ b/fs/proc/vmcore.c
@@ -999,7 +999,7 @@ static void free_elfcorebuf(void)
static int __init parse_crash_elf64_headers(void)
{
int rc=0;
- Elf64_Ehdr ehdr;
+ struct elfhdr ehdr;
u64 addr;
addr = elfcorehdr_addr;
@@ -1055,7 +1055,7 @@ fail:
static int __init parse_crash_elf32_headers(void)
{
int rc=0;
- Elf32_Ehdr ehdr;
+ struct elfhdr ehdr;
u64 addr;
addr = elfcorehdr_addr;
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/