Hi!
Possibly silly questions up ahead.
I'm a student looking into rowhammer and have ran into some troubles when trying to implement it without access to /proc/pid/pagemap since userspace processes are no longer allowed read access to /proc/pid/pagemap.
In the original blogpost, it was mentioned that
The relative physical addresses of memory we have access to. Linux can
allow this via its support for “huge pages”, which cover 2MB of
contiguous physical address space per page. Whereas a normal 4k page is
smaller than a typical DRAM row, a 2MB page will typically cover
multiple rows, some of which will be in the same bank.
Am I wrong to say that if huge pages are enabled on a Linux system, when we allocate memory they are very likely to be contiguous in physical memory as well? And that is why we can use relative physical addresses?
However, since we only have virtual memory addresses, how do we find these physical addresses even if we have the offsets in virtual memory?