From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751738AbcBKO7E (ORCPT ); Thu, 11 Feb 2016 09:59:04 -0500 Received: from mailapp01.imgtec.com ([195.59.15.196]:21621 "EHLO mailapp01.imgtec.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751463AbcBKO66 (ORCPT ); Thu, 11 Feb 2016 09:58:58 -0500 Date: Thu, 11 Feb 2016 14:58:55 +0000 From: "Maciej W. Rozycki" To: Ralf Baechle CC: Daniel Wagner , , Subject: Re: [PATCH v4 2/2] mips: Differentiate between 32 and 64 bit ELF header In-Reply-To: Message-ID: References: <56BAD881.9000208@bmw-carit.de> <1455096081-7176-1-git-send-email-daniel.wagner@bmw-carit.de> <1455096081-7176-3-git-send-email-daniel.wagner@bmw-carit.de> <20160211104903.GD11091@linux-mips.org> User-Agent: Alpine 2.00 (DEB 1167 2008-08-23) MIME-Version: 1.0 Content-Type: text/plain; charset="ISO-8859-7" Content-Transfer-Encoding: 8BIT X-Originating-IP: [10.100.200.149] Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 11 Feb 2016, Maciej W. Rozycki wrote: > > > Signed-off-by: Daniel Wagner > > > Suggested-by: Maciej W. Rozycki > > > Reviewed-by: Maciej W. Rozycki > > > Reported-by: Fengguang Wu > > > > Thanks, applied. > > > > I'm getting a less spectacular warning from gcc 5.2: > > > > CC fs/proc/vmcore.o > > fs/proc/vmcore.c: In function ¡parse_crash_elf64_headers¢: > > fs/proc/vmcore.c:939:47: warning: initialization from incompatible pointer type [-Wincompatible-pointer-types] > > Yes, the temporaries still need to have their pointed types changed, to > `Elf32_Ehdr' and `Elf64_Ehdr' respectively, as in the original change. > > I had it mentioned in a WIP version of my review (stating that it would > verify that the correct type is used by the caller), but then deleted that > part inadvertently, sigh. Hold on, I was right in dropping it actually. With your v4 change in place all `parse_crash_elf64_headers' is supposed to call is `mips_elf_check_machine' and that doesn't make any intialisations, it just dereferences the pointer passed once. This error does not make any sense to me and line 939 isn't even in `parse_crash_elf64_headers', which starts at line 999, it's in `process_ptload_program_headers_elf32'. So Ralf, what tree are you using that is off from LMO/Linus by 60 lines? BTW line 939 at LMO and in Linus's tree looks like: Elf32_Phdr *phdr_ptr; and the pointer is assigned to at line 944 like this: phdr_ptr = (Elf32_Phdr*)(elfptr + sizeof(Elf32_Ehdr)); /* PT_NOTE hdr */ so this does not explain the error. I get a clean build with this version of Daniel's patches, both 32-bit and 64-bit, and FAOD with CONFIG_PROC_VMCORE=y. Daniel, please hold on with further updates, before this is cleared. Your v4 looks fine to me AFAICT, no need to change types. Sorry about this all confusion, something's clearly broken somewhere -- maybe due to someone else's unpublished patch. Maciej