Finding Corrupt Buffers With ::kmem_verify

MDB's ::kmem_verify dcmd implements most of the same
checks that the kmem allocator does at runtime. ::kmem_verify
can be invoked in order to scan every kmem cache with appropriate kmem_flags, or to examine a particular cache.

It is easy to see here that the kmem_alloc_24 cache
contains what ::kmem_verify believes to be a problem.
With an explicit cache argument, the ::kmem_verify dcmd
provides more detailed information about the problem:

The reason that ::kmem_verify flagged this buffer
is now clear: The first word in the buffer (at 0x702babc0)
should probably be filled with the 0xdeadbeef pattern,
not with a 0. At this point, examining the bufctl_audit for this buffer might yield clues about what code recently wrote
to the buffer, indicating where and when it was freed.

Another useful technique in this situation is to use ::kgrep to search the address space for references to address 0x702babc0, in order to discover what threads or data structures
are still holding references to this freed data.