On Thu, Oct 6, 2011 at 9:42 PM, rohan puri <[email protected]> wrote:
> > > On Fri, Oct 7, 2011 at 4:13 AM, Vaibhav Jain <[email protected]> wrote: > >> >> >> On Thu, Oct 6, 2011 at 11:28 AM, Mulyadi Santosa < >> [email protected]> wrote: >> >>> Hi... >>> >>> On Thu, Oct 6, 2011 at 02:34, Vaibhav Jain <[email protected]> wrote: >>> > Hi, >>> > >>> > I am trying to run a program that scans memory from a given physical >>> address >>> > using /dev/mem. >>> > It uses mmap to map physical address from /dev/mem. So to start with I >>> used >>> > /proc/iomem to look up the >>> > physical memory mapping and found the address 00010000 to be the >>> starting >>> > address for System ram. But whenever I >>> > provide this address to the program it throws an error of "Operation >>> not >>> > 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.com >>> >> >> Hi, >> >> 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 >> [email protected] >> 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
_______________________________________________ Kernelnewbies mailing list [email protected] http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
