Re: [PATCH v5 2/5] s390/vmcore: Use ELF header in new memory feature

From: HATAYAMA Daisuke
Date: Mon Jun 10 2013 - 09:37:04 EST


2013/6/8 Michael Holzheu <holzheu@xxxxxxxxxxxxxxxxxx>:
<cut>
> @@ -417,27 +416,44 @@ static void s390_elf_corehdr_create(char **elfcorebuf, size_t *elfcorebuf_sz)
> ptr = notes_init(phdr_notes, ptr, ((unsigned long) hdr) + hdr_off);
> /* Init loads */
> hdr_off = PTR_DIFF(ptr, hdr);
> - loads_init(phdr_loads, ((unsigned long) hdr) + hdr_off);
> - *elfcorebuf_sz = hdr_off;
> - *elfcorebuf = (void *) relocate((unsigned long) hdr);
> - BUG_ON(*elfcorebuf_sz > alloc_size);
> + loads_init(phdr_loads, hdr_off);
> + elfcorehdr_addr = (unsigned long long) hdr;
> + elfcorehdr_size = (unsigned long long) hdr_off;
> + elfcorehdr_newmem = hdr;
> + BUG_ON(elfcorehdr_size > alloc_size);
> + return 0;
> }
>
> /*
> - * Create kdump ELF core header in new kernel, if it has not been passed via
> - * the "elfcorehdr" kernel parameter
> + * Free ELF core header (new kernel)
> */
> -static int setup_kdump_elfcorehdr(void)
> +void elfcorehdr_free(void)
> {
> - size_t elfcorebuf_sz;
> - char *elfcorebuf;
> -
> - if (!OLDMEM_BASE || is_kdump_kernel())
> - return -EINVAL;
> - s390_elf_corehdr_create(&elfcorebuf, &elfcorebuf_sz);
> - elfcorehdr_addr = (unsigned long long) elfcorebuf;
> - elfcorehdr_size = elfcorebuf_sz;
> - return 0;
> + if (!elfcorehdr_newmem)
> + return;
> + vfree(elfcorehdr_newmem);

kfree is correct here?

Thanks.
HATAYAMA, Daisuke
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/