Bug 204793
Summary: | [SME] crash: `kmem -s` reported "kmem: dma-kmalloc-512: slab: ffffe192c0001000 invalid freepointer: e5ffef4e9a040b7e" on a dumped vmcore | ||
---|---|---|---|
Product: | Memory Management | Reporter: | lijiang |
Component: | Other | Assignee: | Andrew Morton (akpm) |
Status: | RESOLVED CODE_FIX | ||
Severity: | high | ||
Priority: | P1 | ||
Hardware: | x86-64 | ||
OS: | Linux | ||
Kernel Version: | v5.3-rc7 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
lijiang
2019-09-08 08:38:45 UTC
As we know, kdump kernel will reuse the first 640k area because of something reasons, so the old content in the first 640k area will be copied to a backup area, which is done in purgatory(). When dumping the vmcore, kdump kernel will read the old content of the first 640k area from the backup area. Basically, the main reason should be also clear, kernel does not correctly handle the first 640k region when SME is enabled, which causes that kernel does not properly copy these old memory content to backup area in purgatory(). So, kernel reads out the incorrect content from the backup region when dumping vmcore. This bug is definitely related to the memory encryption, Any idea about this? Thanks. Fixed in v5.5-rc1. Thanks. |