Re: ce56a86e2a ("x86/mm: Limit mmap() of /dev/mem to valid physical addresses"): kernel BUG at arch/x86/mm/physaddr.c:79!

From: Craig Bergstrom
Date: Thu Oct 26 2017 - 13:49:59 EST


Sander, thanks for the details, they've been very useful.

I suspect that your host system's mem=2048M parameter is causing the
problem. Any chance you can confirm by removing the parameter and
running the guest code path?

More specifically, since you're telling the kernel that it's high
memory address is at 2048M and your device is at 0xfe1fe000 (~4G), the
new mmap() limits are preventing you from mapping addresses that are
explicitly disallowed by the parameter.



On Thu, Oct 26, 2017 at 10:39 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
>
> * Craig Bergstrom <craigb@xxxxxxxxxx> wrote:
>
>> Yes, not much time left for 4.14, it might be reasonable to pull the
>> change out since it's causing problems. [...]
>
> Ok, I'll queue up a revert tomorrow morning and send it to Linus ASAP if there's
> no good fix by then. In hindsight I should have queued it for v4.15 ...
>
> Thanks,
>
> Ingo