Re: pstore/ram: printk: NULL characters in pstore ramoops area

Vijay Balakrishna
2023-08-10T23:33:03Z

On 8/4/23 00:59, Kees Cook wrote:
> Is the issue present in modern kernels?

Yes, the issue present in mainline kernel, I can repro on a x86_64 VM with v6.5.0-rc5 kernel.

$ uname -a
Linux vijay-vm3 6.5.0-rc5-ramoops #10 SMP PREEMPT_DYNAMIC Thu Aug 10 17:24:39 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-6.5.0-rc5-ramoops root=UUID=xx ro mem=8188M ramoops.mem_address=0x2BFC00000 ramoops.mem_size=0x400000 ramoops.max_reason=5 ramoops.record_size=0x80000 console=tty1 console=ttyS0 earlyprintk=ttyS0 rootdelay=300

(excerpt from /var/lib/systemd/pstore/dmesg-ramoops-0 after warm reboot)
<5>[ 0.000000] Linux version 6.5.0-rc5-ramoops (vijay@vijay-vm1) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #10 SMP PREEMPT_DYNAMIC Thu Aug 10 17:24:39 UTC 2023
..
<6>[ 0.463984] Calibrating delay loop (skipped), value calculated using timer frequency.. ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@

(hex dump output)

00003160 61 6c 63 75 6c 61 74 65 64 20 75 73 69 6e 67 20 |alculated using |
00003170 74 69 6d 65 72 20 66 72 65 71 75 65 6e 63 79 2e |timer frequency.|
00003180 2e 20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |. ..............|
00003190 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000031a0 00 0a 3c 36 3e 5b 20 20 20 20 30 2e 34 36 37 39 |..<6>[ 0.4679|