on ARM error
/mnt/shared/pm2 591 === Maps for pid 591 pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument
Thanks to the rowhammer attack, it looks like Linux now requires root privileges to access /proc/pid/pagemap (even if you ran the process yourself):
To make life harder for attackers attempting to exploit the rowhammer vulnerability, a simple patch was merged for the 4.0-rc5 release in March. The patch turned the pagemap file into a privileged interface; attempts to open it will now fail unless the process in question has the CAP_SYS_ADMIN capability. The 4.0 release came out with that restriction in place, and everybody who was paying attention slept a little easier.
From https://lwn.net/Articles/642069/. Try using sudo or logging in as root.
nope.. is not that.. I have full access to pagemap! (older kernel on a test machine)
Hi You can change "unsigned long data;" to "unsigned long long data;" in arm32.
@Zibri, can you confirm exactly which architecture you are using? arm32 vs arm64. Thanks.
ARM 32 cortex a9
Hi,
I'm facing the same issue on ARM. $ ./pagemap2 711 === Maps for pid 711 pread: Invalid argument pread: Invalid argument pread: Invalid argument pread: Invalid argument
I changed "unsigned long" to the portable "uint64_t" in this PR, might fix this issue https://github.com/dwks/pagemap/pull/3