Re: [PATCH] x86/mm: only allow memmap=XX!YY over existing RAM

From: Dan Williams
Date: Mon Jun 20 2016 - 11:40:08 EST


On Mon, Jun 20, 2016 at 12:33 AM, Yigal Korman <yigal@xxxxxxxxxxxxx> wrote:
> Before this patch, passing a range that is beyond the physical memory
> range will succeed, the user will see a /dev/pmem0 and will be able to
> access it. Reads will always return 0 and writes will be silently
> ignored.
>
> I've gotten more than one bug report about mkfs.{xfs,ext4} or nvml
> failing that were eventually tracked down to be wrong values passed to
> memmap.
>
> This patch prevents the above issue by instead of adding a new memory
> range, only update a RAM memory range with the PRAM type. This way,
> passing the wrong memmap will either not give you a pmem at all or give
> you a smaller one that actually has RAM behind it.
>
> And if someone still needs to fake a pmem that doesn't have RAM behind
> it, they can simply do memmap=XX@YY,XX!YY.
>
> Signed-off-by: Yigal Korman <yigal@xxxxxxxxxxxxx>

Acked-by: Dan Williams <dan.j.williams@xxxxxxxxx>