Re: [PATCH v3 1/8] x86: Kill E820_RESERVED_KERN

David Rientjes
2015-03-08T01:59:21Z

On Sat, 7 Mar 2015, Yinghai Lu wrote:

> Now we are using memblock to do early resource reserver/allocation
> instead of using e820 map directly, and setup_data is reserved in
> memblock early already.
> Also kexec generate setup_data and pass pointer to second kernel,
> so second kernel reserve setup_data by their own.
> (Now kexec-tools create SETUP_EFI and SETUP_E820_EXT).
>
> We can kill E820_RESERVED_KERN and not touch e820 map at all.
>
> That will fix bug in mark_nonsave_region that can not handle that
> case: E820_RAM and E820_RESERVED_KERN ranges are continuous and
> boundary is not page aligned.
>
> Bugzilla: https://bugzilla.opensuse.org/show_bug.cgi?id=913885

Is this the bug referenced in the commit message that is fixed? If so,
it's only a bug for resume, correct? I'm not sure if that's clear enough
just from the commit message, I was looking at this patch for an e820
problem I'm currently facing on 3.3.

> Reported-by: "Lee, Chun-Yi" <jlee@suse.com>
> Tested-by: "Lee, Chun-Yi" <jlee@suse.com>
> Cc: "Lee, Chun-Yi" <jlee@suse.com>
> Signed-off-by: Yinghai Lu <yinghai@kernel.org>
> Cc: stable@vger.kernel.org

Hmm, although the bug is reported for a 3.12 kernel, I assume this is for
stable 3.10+? If so, it should apply fine with the exception of removing
e820_reserve_setup_data() from setup_arch() rather than
memblock_x86_reserve_range_setup_data(). Or is it for 3.2 as well and
needs to be completely rebased for that kernel?