Follow @Openwall on Twitter for new release announcements and other news
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <201910031417.2AEEE7B@keescook>
Date: Thu, 3 Oct 2019 14:36:07 -0700
From: Kees Cook <keescook@...omium.org>
To: Muni Sekhar <munisekharrms@...il.com>
Cc: kernel-hardening@...ts.openwall.com
Subject: Re: How to get the crash dump if system hangs?

On Thu, Oct 03, 2019 at 10:18:48PM +0530, Muni Sekhar wrote:
> Thanks a lot for letting me know about pstore, will try this option.
> It will be helpful if you can share some pointers on 'how to enable
> software ECC'?

When I boot with pstore, I use a bunch of command line arguments to test
all its feature:

ramoops.mem_size=1048576
ramoops.ecc=1
ramoops.mem_address=0x440000000
ramoops.console_size=16384
ramoops.ftrace_size=16384
ramoops.pmsg_size=16384
ramoops.record_size=32768

but I'm using pmem driver to reserve the 1MB of memory at 0x440000000.

To do a RAM reservation on a regular system, you'll need to do something
like boot with:

memmap=1M!1023M

which says, reserve 1MB of memory at the 1023M offset. So this depends
on how much physical memory you have, etc, but you'll be able to see the
reservation after booting in /proc/iomem. e.g. for me, before:

...
00100000-bffd9fff : System RAM
...

with memmap:

...
00100000-3fefffff : System RAM
3ff00000-3fffffff : Persistent Memory (legacy)
40000000-bffd9fff : System RAM
...

So in that example, the address you'd want is 0x3ff00000

memmap=1M!1023M
ramoops.mem_size=1048576
ramoops.ecc=1
ramoops.mem_address=0x3ff00000
ramoops.console_size=16384
ramoops.ftrace_size=16384
ramoops.pmsg_size=16384
ramoops.record_size=32768

In dmesg you should see:

[    0.868818] pstore: Registered ramoops as persistent store backend
[    0.869713] ramoops: using 0x100000@...ff00000, ecc: 16

And if that address lines up with the "Persistent Memory (legacy)" line
in /proc/iomem you should be good to go.

Just mount /sys/fs/pstore and see if the console dump updates between
warm boots, then try some cold boots, see if the ECC works, etc.

Good luck!

-- 
Kees Cook

Powered by blists - more mailing lists

Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.