drgn
drgn copied to clipboard
mm, slab: Fix infinite loop at _slub_get_freelist()
In some cases, _slub_get_freelist() loops forever when ptr dereferences to itself.
This causes instructions like the following to loop forever. (I got this with a vmcore)
identify_address(prog, 18446613188003018408)
If I break if the pointer is already in the freelist-set, then, I can get drgn unstuck:
identify_address(prog, 18446613188003018408) 'slab object: sock_inode_cache+0x2a8'
Co-developed-with: Leandro Silva [email protected]