From: Muni Sekhar <munisekharrms@gmail.com>
To: Kees Cook <keescook@chromium.org>
Cc: kernel-hardening@lists.openwall.com
Subject: Re: How to get the crash dump if system hangs?
Date: Thu, 10 Oct 2019 21:19:26 +0530 [thread overview]
Message-ID: <CAHhAz+iUOum7EV1g9W=vFHZ0kq9US7L4CJFX4=QbSExrgBX7yg@mail.gmail.com> (raw)
In-Reply-To: <201910031417.2AEEE7B@keescook>
On Fri, Oct 4, 2019 at 3:06 AM Kees Cook <keescook@chromium.org> wrote:
>
> 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@0x3ff00000, 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
Thanks for the answers.
My kernel is configured with following .config options:
CONFIG_EFI_VARS_PSTORE=y
# CONFIG_EFI_VARS_PSTORE_DEFAULT_DISABLE is not set
CONFIG_PSTORE=y
CONFIG_PSTORE_CONSOLE=y
CONFIG_PSTORE_PMSG=y
# CONFIG_PSTORE_FTRACE is not set
CONFIG_PSTORE_RAM=y
Before RAM reservation, I see the following in /proc/iomem :
# cat iomem | grep "System RAM"
00001000-0009d7ff : System RAM
00100000-1fffffff : System RAM
20100000-b937dfff : System RAM
b9ba6000-b9ba6fff : System RAM
b9be9000-b9d5dfff : System RAM
b9ffa000-b9ffffff : System RAM
100000000-13fffffff : System RAM
Later I booted with “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 ramoops.mem_type=1
ramoops.dump_oops=1”
After reboot, In dmesg I see the following lines:
[ 0.373084] pstore: Registered ramoops as persistent store backend
[ 0.373266] ramoops: attached 0x100000@0x3ff00000, ecc: 16/0
# cat /proc/iomem | grep "System RAM"
00001000-0009d7ff : System RAM
00100000-1fffffff : System RAM
20100000-3fefffff : System RAM
3ff00000-3fffffff : Persistent RAM
40000000-b937dfff : System RAM
b9ba6000-b9ba6fff : System RAM
b9be9000-b9d5dfff : System RAM
b9ffa000-b9ffffff : System RAM
100000000-13fffffff : System RAM
I noticed Persistent RAM, not Persistent Memory (legacy). What is the
difference between these two?
I could not find any file in /sys/fs/pstore after warm boot. Even
tried to trigger the crash by running “echo c > /proc/sysrq-trigger”
and then rebooted the system manually. After system boots up, I could
not find dmesg-ramoops-N file in /sys/fs/pstore, even I could not find
any file in /sys/fs/pstore directory.
Am I missing anything?
--
Thanks,
Sekhar
next prev parent reply other threads:[~2019-10-10 16:04 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-09-25 20:17 How to get the crash dump if system hangs? Muni Sekhar
2019-09-30 23:51 ` Kees Cook
2019-10-03 16:48 ` Muni Sekhar
2019-10-03 21:36 ` Kees Cook
2019-10-10 15:49 ` Muni Sekhar [this message]
2019-10-10 16:56 ` Kees Cook
2019-10-10 17:15 ` Muni Sekhar
2019-10-10 18:31 ` Kees Cook
2019-10-11 14:03 ` Muni Sekhar
2019-10-25 2:10 ` Muni Sekhar
2019-10-28 19:22 ` Kees Cook
2019-10-20 19:01 youling257
2019-10-21 8:39 ` Lukas Odzioba
2019-10-21 10:22 ` youling 257
2019-11-02 5:42 ` youling 257
2019-10-20 19:31 youling257
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='CAHhAz+iUOum7EV1g9W=vFHZ0kq9US7L4CJFX4=QbSExrgBX7yg@mail.gmail.com' \
--to=munisekharrms@gmail.com \
--cc=keescook@chromium.org \
--cc=kernel-hardening@lists.openwall.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).