kmem_dump_size is a corrupting influence
On larger machines, the 8 pages plus noise reserved for the kmem_dump region is insufficient.
This means that we'll bust past the buffer, start allocating from real kmem, and end up with
apparent corruption in the subsequent MDB session's ::kmem_verify, because the kmem data
structures are changing while we're dumping pages.
We'll simplify the kmem dump code to only store the statistics that are actually useful directly
in the kmem_cache_t, then use that in MDB to provide an appropriate warning depending upon
the invocation mode of ::kmem_verify. In addition, we'll make that dcmd pipe-friendly so any
reported corruption can be piped through appropriately to get more info e.g.
<cache::kmem_verify | ::map <.+0t24=K | ::print kmem_buftag_t bt_bufctl | ::bufctl
Updated by Electric Monk over 1 year ago
- % Done changed from 0 to 100
- Status changed from New to Closed
commit dfec2ecfa1713daac7f3cdf7c6dc2cf4f09a4ee3 Author: John Levon <email@example.com> Date: 2018-05-11T20:49:56.000Z 9525 kmem_dump_size is a corrupting influence Reviewed by: Jerry Jelinek <firstname.lastname@example.org> Reviewed by: Robert Mustacchi <email@example.com> Reviewed by: Richard Lowe <firstname.lastname@example.org> Approved by: Dan McDonald <email@example.com>