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/

Reply via email to