New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Drgn reads zeros for memory allocated by vm_map_ram() #217
Comments
This is on the live kernel, right? My wild guess is that this is a bug in |
Yeah - live kernel. I tracked it through the The I'm rather impressed that |
The issue must be in |
As an FYI, looks like there will be an upstream fix for this! |
I've tested this on Oracle UEK 5 and 7 (4.14 and 5.15 based). I'll try to reproduce this on mainline as well, maybe hacking it into the vmtest for a quick check. I had a coworker report that drgn was reading all zero's for a structure. We determined the memory address came from the vmalloc subsystem, particularly
vm_map_ram()
. I went ahead and created a reproducer kernel module to demo the issue.The module allocates some pages, uses
vm_map_ram()
to map them, and then writes a pattern of data. When opened with crash, the pattern written is visible. But when viewed in drgn, the pattern is read as all 0's:@osandov, if you have an idea what the root cause is, without too much work, then by all means let me know. But otherwise I thought it might be a useful way for me to explore the memory reader subsystem and learn a bit more about drgn internals.
The text was updated successfully, but these errors were encountered: