Revision 89d328f637b9904b6d4c9af73c8a608b8dd4d6f8 authored by Kees Cook on 01 November 2018, 23:17:22 UTC, committed by Kees Cook on 29 November 2018, 21:46:43 UTC
The actual number of bytes stored in a PRZ is smaller than the bytes requested by platform data, since there is a header on each PRZ. Additionally, if ECC is enabled, there are trailing bytes used as well. Normally this mismatch doesn't matter since PRZs are circular buffers and the leading "overflow" bytes are just thrown away. However, in the case of a compressed record, this rather badly corrupts the results. This corruption was visible with "ramoops.mem_size=204800 ramoops.ecc=1". Any stored crashes would not be uncompressable (producing a pstorefs "dmesg-*.enc.z" file), and triggering errors at boot: [ 2.790759] pstore: crypto_comp_decompress failed, ret = -22! Backporting this depends on commit 70ad35db3321 ("pstore: Convert console write to use ->write_buf") Reported-by: Joel Fernandes <joel@joelfernandes.org> Fixes: b0aad7a99c1d ("pstore: Add compression support to pstore") Signed-off-by: Kees Cook <keescook@chromium.org> Reviewed-by: Joel Fernandes (Google) <joel@joelfernandes.org>
1 parent 1227daa
File | Mode | Size |
---|---|---|
ABI | ||
EDID | ||
PCI | ||
RCU | ||
accelerators | ||
accounting | ||
acpi | ||
admin-guide | ||
aoe | ||
arm | ||
arm64 | ||
auxdisplay | ||
backlight | ||
block | ||
blockdev | ||
bpf | ||
bus-devices | ||
cdrom | ||
cgroup-v1 | ||
cma | ||
connector | ||
console | ||
core-api | ||
cpu-freq | ||
cpuidle | ||
crypto | ||
dev-tools | ||
device-mapper | ||
devicetree | ||
doc-guide | ||
driver-api | ||
driver-model | ||
early-userspace | ||
extcon | ||
fault-injection | ||
fb | ||
features | ||
filesystems | ||
firmware_class | ||
fmc | ||
fpga | ||
gpio | ||
gpu | ||
hid | ||
hwmon | ||
i2c | ||
ia64 | ||
ide | ||
iio | ||
infiniband | ||
input | ||
ioctl | ||
isdn | ||
kbuild | ||
kdump | ||
kernel-hacking | ||
laptops | ||
leds | ||
lightnvm | ||
livepatch | ||
locking | ||
m68k | ||
maintainer | ||
md | ||
media | ||
memory-devices | ||
mic | ||
mips | ||
misc-devices | ||
mmc | ||
mtd | ||
namespaces | ||
netlabel | ||
networking | ||
nfc | ||
nios2 | ||
nvdimm | ||
nvmem | ||
openrisc | ||
parisc | ||
pcmcia | ||
perf | ||
phy | ||
platform | ||
power | ||
powerpc | ||
pps | ||
process | ||
pti | ||
ptp | ||
rapidio | ||
riscv | ||
s390 | ||
scheduler | ||
scsi | ||
security | ||
serial | ||
sh | ||
sound | ||
sparc | ||
sphinx | ||
sphinx-static | ||
spi | ||
sysctl | ||
target | ||
thermal | ||
timers | ||
trace | ||
translations | ||
usb | ||
userspace-api | ||
virtual | ||
vm | ||
w1 | ||
watchdog | ||
wimax | ||
x86 | ||
xtensa | ||
.gitignore | -rw-r--r-- | 13 bytes |
00-INDEX | -rw-r--r-- | 14.1 KB |
Changes | l--------- | 19 bytes |
CodingStyle | -rw-r--r-- | 48 bytes |
DMA-API-HOWTO.txt | -rw-r--r-- | 34.1 KB |
DMA-API.txt | -rw-r--r-- | 27.6 KB |
DMA-ISA-LPC.txt | -rw-r--r-- | 5.1 KB |
DMA-attributes.txt | -rw-r--r-- | 6.9 KB |
IPMI.txt | -rw-r--r-- | 29.7 KB |
IRQ-affinity.txt | -rw-r--r-- | 2.5 KB |
IRQ-domain.txt | -rw-r--r-- | 10.9 KB |
IRQ.txt | -rw-r--r-- | 994 bytes |
Intel-IOMMU.txt | -rw-r--r-- | 3.9 KB |
Makefile | -rw-r--r-- | 4.5 KB |
SAK.txt | -rw-r--r-- | 3.0 KB |
SM501.txt | -rw-r--r-- | 2.8 KB |
SubmittingPatches | -rw-r--r-- | 54 bytes |
atomic_bitops.txt | -rw-r--r-- | 1.5 KB |
atomic_t.txt | -rw-r--r-- | 5.5 KB |
bt8xxgpio.txt | -rw-r--r-- | 4.0 KB |
btmrvl.txt | -rw-r--r-- | 2.7 KB |
bus-virt-phys-mapping.txt | -rw-r--r-- | 8.0 KB |
clearing-warn-once.txt | -rw-r--r-- | 224 bytes |
conf.py | -rw-r--r-- | 19.0 KB |
cpu-load.txt | -rw-r--r-- | 3.0 KB |
cputopology.txt | -rw-r--r-- | 5.6 KB |
crc32.txt | -rw-r--r-- | 8.6 KB |
dcdbas.txt | -rw-r--r-- | 3.9 KB |
debugging-modules.txt | -rw-r--r-- | 954 bytes |
debugging-via-ohci1394.txt | -rw-r--r-- | 7.5 KB |
dell_rbu.txt | -rw-r--r-- | 5.0 KB |
digsig.txt | -rw-r--r-- | 3.0 KB |
docutils.conf | -rw-r--r-- | 158 bytes |
dontdiff | -rw-r--r-- | 2.5 KB |
efi-stub.txt | -rw-r--r-- | 3.3 KB |
eisa.txt | -rw-r--r-- | 7.6 KB |
flexible-arrays.txt | -rw-r--r-- | 5.6 KB |
futex-requeue-pi.txt | -rw-r--r-- | 5.1 KB |
gcc-plugins.txt | -rw-r--r-- | 2.9 KB |
highuid.txt | -rw-r--r-- | 2.6 KB |
hw_random.txt | -rw-r--r-- | 3.8 KB |
hwspinlock.txt | -rw-r--r-- | 12.5 KB |
index.rst | -rw-r--r-- | 3.1 KB |
intel_txt.txt | -rw-r--r-- | 10.3 KB |
io-mapping.txt | -rw-r--r-- | 3.3 KB |
io_ordering.txt | -rw-r--r-- | 2.0 KB |
iostats.txt | -rw-r--r-- | 8.7 KB |
irqflags-tracing.txt | -rw-r--r-- | 2.3 KB |
isa.txt | -rw-r--r-- | 5.1 KB |
isapnp.txt | -rw-r--r-- | 492 bytes |
kernel-per-CPU-kthreads.txt | -rw-r--r-- | 13.3 KB |
kobject.txt | -rw-r--r-- | 18.3 KB |
kprobes.txt | -rw-r--r-- | 30.3 KB |
kref.txt | -rw-r--r-- | 8.9 KB |
ldm.txt | -rw-r--r-- | 4.6 KB |
lockup-watchdogs.txt | -rw-r--r-- | 4.1 KB |
logo.gif | -rw-r--r-- | 16.0 KB |
logo.txt | -rw-r--r-- | 563 bytes |
lsm.txt | -rw-r--r-- | 10.5 KB |
lzo.txt | -rw-r--r-- | 7.9 KB |
mailbox.txt | -rw-r--r-- | 4.4 KB |
memory-barriers.txt | -rw-r--r-- | 114.7 KB |
memory-hotplug.txt | -rw-r--r-- | 18.6 KB |
men-chameleon-bus.txt | -rw-r--r-- | 5.7 KB |
nommu-mmap.txt | -rw-r--r-- | 12.4 KB |
ntb.txt | -rw-r--r-- | 10.8 KB |
numastat.txt | -rw-r--r-- | 1.0 KB |
padata.txt | -rw-r--r-- | 7.4 KB |
parport-lowlevel.txt | -rw-r--r-- | 37.1 KB |
percpu-rw-semaphore.txt | -rw-r--r-- | 1.1 KB |
phy.txt | -rw-r--r-- | 7.8 KB |
pi-futex.txt | -rw-r--r-- | 5.7 KB |
pnp.txt | -rw-r--r-- | 7.0 KB |
preempt-locking.txt | -rw-r--r-- | 5.6 KB |
pwm.txt | -rw-r--r-- | 6.2 KB |
rbtree.txt | -rw-r--r-- | 14.8 KB |
remoteproc.txt | -rw-r--r-- | 12.6 KB |
rfkill.txt | -rw-r--r-- | 5.0 KB |
robust-futex-ABI.txt | -rw-r--r-- | 8.7 KB |
robust-futexes.txt | -rw-r--r-- | 9.5 KB |
rpmsg.txt | -rw-r--r-- | 13.1 KB |
rtc.txt | -rw-r--r-- | 7.0 KB |
sgi-ioc4.txt | -rw-r--r-- | 2.1 KB |
siphash.txt | -rw-r--r-- | 6.3 KB |
smsc_ece1099.txt | -rw-r--r-- | 2.5 KB |
speculation.txt | -rw-r--r-- | 2.8 KB |
static-keys.txt | -rw-r--r-- | 13.0 KB |
svga.txt | -rw-r--r-- | 11.8 KB |
switchtec.txt | -rw-r--r-- | 3.6 KB |
sync_file.txt | -rw-r--r-- | 3.1 KB |
tee.txt | -rw-r--r-- | 5.2 KB |
this_cpu_ops.txt | -rw-r--r-- | 11.2 KB |
unaligned-memory-access.txt | -rw-r--r-- | 10.4 KB |
vfio-mediated-device.txt | -rw-r--r-- | 14.6 KB |
vfio.txt | -rw-r--r-- | 21.2 KB |
video-output.txt | -rw-r--r-- | 1.1 KB |
xillybus.txt | -rw-r--r-- | 17.6 KB |
xz.txt | -rw-r--r-- | 5.5 KB |
zorro.txt | -rw-r--r-- | 2.9 KB |
Computing file changes ...