problem mapping physical address from /dev/mem
From: Vaibhav Jain <hidden>
Date: 2011-10-07 07:11:25
On Thu, Oct 6, 2011 at 9:42 PM, rohan puri [off-list ref] wrote:
On Fri, Oct 7, 2011 at 4:13 AM, Vaibhav Jain [off-list ref] wrote:quoted
On Thu, Oct 6, 2011 at 11:28 AM, Mulyadi Santosa < mulyadi.santosa at gmail.com> wrote:quoted
Hi... On Thu, Oct 6, 2011 at 02:34, Vaibhav Jain [off-list ref] wrote:quoted
Hi, I am trying to run a program that scans memory from a given physicaladdressquoted
using /dev/mem. It uses mmap to map physical address from /dev/mem. So to start with Iusedquoted
/proc/iomem to look up the physical memory mapping and found the address 00010000 to be thestartingquoted
address for System ram. But whenever I provide this address to the program it throws an error of "Operationnotquoted
permitted".Probably this could also due to mmap NULL dereferencing protection (at least that's how I name it :) ) By default, the lowest 65536 byte (10000 in hex) is protected from mapping etc. It practically render such null dererefencing useless. -- regards, Mulyadi Santosa Freelance Linux trainer and consultant blog: the-hydra.blogspot.com training: mulyaditraining.blogspot.comHi, I tried the same with other addresses (greater than 0x10000 ) also but it is throwing the same error. Is there a way to get over this ? Thanks Vaibhav Jain _______________________________________________ Kernelnewbies mailing list Kernelnewbies at kernelnewbies.org http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies Hi Vaibhav,This is how it can be done. Refer link http://www.theknotter.net/system-memory-dumps-on-linux/ I have attached the modified code which disables the socket creation part and dumps the output in a file. Regards, Rohan Puri
Thanks Rohan for the code but I already have a code that reads memory using /dev/mem and mmap. Only difference is I have to manually change the starting address in program. The problem is whenver I give any System RAM address the mmap call fails with 'Operation not permitted'. I googled a little and found that normally this operation is not allowed and the kernel has to be compiled with CONFIG_STRICT_DEVMEM disabled to read any memory location in this way. I also found out about the boot option 'strict-devmem =0'. I tried both these options but none of them seems to working. So I am trying to figure out if there is some other setting that I need to change. I am doing this on Fedora 15 - 2.6.38 kernel. Thanks Vaibhav Jain -------------- next part -------------- An HTML attachment was scrubbed... URL: http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20111007/3d3cc52c/attachment.html