On Tue, Jul 31, 2018 at 01:27:15PM -0700, Dave Jiang wrote:
On 7/31/2018 12:36 PM, Ross Zwisler wrote:
> On Mon, Jul 30, 2018 at 07:53:12PM -0400, Theodore Y. Ts'o wrote:
> > In newer kernels, it looks like you can't use /dev/pmem0 for DAX
> > unless it's marked as being DAX capable. This appears to require
> > CONFIG_NVDIMM_PFN. But when I tried to build a kernel with that
> > configured, I get the following BUG:
>
> You're using the memmap kernel command line parameter to reserve normal
> memory to be treated as normal memory, but you've also got kernel address
> randomization turned on in your kernel config:
>
> CONFIG_RANDOMIZE_BASE=y
> CONFIG_RANDOMIZE_MEMORY=y
>
> You need to turn these off for the memmap kernel command line parameter, else
> the memory we're using could overlap with addresses used for other things.
I believe this issue was fixed a while back. Although we probably can see if
that is the issue or something else.
I turned off RANDOMIZE_BASE and RANDOMIZE_MEMORY, but that didn't fix
my problem.
It turns out the problem was KASAN. It looks like using memmap to
create test /dev/pmemX devices is not compatible with CONFIG_KASAN
being enabled.
So I have a workaround for now, but it seems this to be a bug in
KASAN, or at least an unfortunate interaction between KASAN and
NVDIMM_PFN.
- Ted