Re: [PATCH v2] x86, e820: panic on sanitizing invalid memory map

From: Thomas Gleixner
Date: Tue Oct 21 2014 - 15:44:16 EST


On Tue, 21 Oct 2014, Martin Kelly wrote:
> On 10/21/2014 01:56 AM, Thomas Gleixner wrote:
> >> This patch changes the behavior so that sanitize_e820_map is a void
> >> function. When the provided memory map has length 1 or it is sanitized
> >> (both ok cases), it returns nothing. If the provided memory map is
> >> invalid, then it panics.
> >
> > So you break wilfully default_machine_specific_memory_setup() and
> > probably some other places. Are you sure about that?
> >
> I was concerned about exactly that kind of breakage, so my first patch
> merely separated out the return values and added some appropriate error
> checking:
> https://lkml.org/lkml/2014/10/13/514
>
> I then asked whether there are valid cases for ignoring an invalid map
> and continuing on, but I didn't receive a reply, so I took my best
> guess. It appears I missed some fallback code
> (default_machine_specific_memory_setup). That said, most cases don't

We probably could and should also spend some time on investigating the
validity of that fallback stuff. AFAICT, this has some rather obscure
history from voyager, but I had no time to do more archeology on that.

> appear to have fallback code and will hit issues later on if the BIOS
> map is invalid (e.g. Xen).

Right.

> Thomas, do you see any issues with a revision that separates out the
> return values (0 for a map with 1 entry, -1 for a map with invalid
> entries) and adds checks in the callers, where appropriate?

I think that's a sane approach.

Thanks,

tglx
--
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/