Sponsored Content
Special Forums Cybersecurity root cannot write to Linux RAM Post 302583880 by Corona688 on Wednesday 21st of December 2011 01:33:15 PM
Old 12-21-2011
You agreed not to bump posts when you registered. If we don't answer instantly, wait!

Your program isn't running in real mode. You can't access physical addresses just by plugging in the right pointer.

The kernel keeps a list of what memory belongs to your process, and what address your process uses them at. It could give you physical memory address 0x0000000 but make it appear in your process at 0x80000000. And using any virtual addresses that haven't been assigned just causes SEGV. This is all handled in hardware by your processor.

If you want to access physical addresses in Linux, you have to actually ask for them. There's special device files you can read from to get it. /dev/kmem will be the kernel memory area and nothing but the kernel memory area. /dev/mem, I think, is raw RAM contents -- not that useful since the real pages could be scrambled in any virtual order inside the processes themselves. There's also things like memory holes for I/O to consider.

Code:
char buf[16384];
int fd=open("/dev/kmem", O_RDONLY);
read(fd, buf, 16384); // first 16KB of kernel mem

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Athlon XP + Linux/Unix? and RAM Question

Has anyone had any experience with this new processor and its compatability with Linux/Unix? How did it preform comared to regular Athlons and P4's? I also have one other question. I plan on buying a new dell and fiddling left and right with it. Which type of RAM is better, RDRAM or... (3 Replies)
Discussion started by: KyPeN
3 Replies

2. UNIX for Dummies Questions & Answers

How much RAM does RH Linux need?

I wish to install Red Hat linux 7.1 on a machine with 16mb of EDO Ram. When I enter the instalation process I am told 'You do not have enough memory'. Is there a way to install RHL with only the 16? Or will I have to upgrade and buy some very expensive EDO. ~ Paul (3 Replies)
Discussion started by: KrazyGuyPaul
3 Replies

3. UNIX for Dummies Questions & Answers

How do i access (mount, read & write) a floppy disk from the console, not being root?

welll, the title quite explains what i want to do thanks for your time! (4 Replies)
Discussion started by: kfaday
4 Replies

4. Debian

what is the best linux ver for p100 16 ram

Hello all i own p100 16ram laptop , i would like to run linux on it i need it for gcc compilation and shell scripting , no gui. what version of linux should i install , i dont mind to install old one . tnx allot (5 Replies)
Discussion started by: umen
5 Replies

5. UNIX for Dummies Questions & Answers

Linux for Pentium @ 150 Mhz and 98Mb in RAM?

I don't know a lot of the world of Linux, but i want to start with an old machine; did someone knows if i can install Linux in a computer with a processor Pentium (not celeron) @ 133 Mhz, 98Mb in RAM (PC100) and 3Gb Hard Drive? a friend tell me about Ubuntu and openSUSE, but I don't know if... (5 Replies)
Discussion started by: Omega
5 Replies

6. Shell Programming and Scripting

To find the RAM size for an Linux server.

Hi Gurus, Can someone let me know how to find the RAM size,ROM size and Number of processors for a linux server. Version :Linux 2.4.9-e.57smp Also what does "e.57smp" stands for? Thanks in advance gurus..... cheers. (3 Replies)
Discussion started by: navojit dutta
3 Replies

7. Linux

Installation of Linux in 300 MHz with 128 MB ram

Hi I am very new to Linux, but very keen to learn it. I am having a desktop of 300 MHz with 128 MB RAM and 30 GB hard drive with Windows XP. My first question is - Is there any version/flavour of Linux available that can be installed on above system especially Fedora with less compromise... (6 Replies)
Discussion started by: sanjay1979
6 Replies

8. Red Hat

red hat Linux 5.0 is detecting 3gb ram but physical ram is 16gb

Hi, On server 64bit Hw Arch , Linux 5.0(32bit) is installed it is showing only 3gb of ram though physical is 16gb can u give me idea why? (4 Replies)
Discussion started by: manoj.solaris
4 Replies

9. Linux Benchmarks

AMD Phenom(tm) 9950 Quad-Core Processor, Ram: 3.6 GB, Foxconn 7da-s and Linux 2.6.26-2-amd64

CPU/Speed: AMD Phenom(tm) 9950 Quad-Core Processor Ram: 3.6 GB Motherboard: Foxconn 7da-s Bus: Cache: Controller: Disk: Load: Kernel: Linux 2.6.26-2-amd64 Kernel ELF?: pgms: ============================================================== BYTE UNIX Benchmarks (Version... (0 Replies)
Discussion started by: migracho
0 Replies

10. Linux

Need assistance to enable more that 4GB RAM on Linux 32Bit OS.

How to enable more than 4GB RAM support on Linux 32bit OS? OS: CentOS release 5.4 (Final) Kernel version: 2.6.18-53.el5 Arch: 32Bit I got solution at Innovationframes.com • View topic - How to enable more than 4GB RAM support on Linux 32bit OS? but my question is the steps given... (5 Replies)
Discussion started by: chandranjoy
5 Replies
MEM(4)							     Kernel Interfaces Manual							    MEM(4)

NAME
mem, kmem - main memory SYNOPSIS
major device number(s): raw: 1 minor device encoding: mem: 0; kmem: 1; null: 2 DESCRIPTION
Mem is a special file that is an image of the main memory of the computer. It may be used, for example, to examine (and even to patch) the system. Byte addresses in mem are interpreted as physical memory addresses. References to non-existent locations cause errors to be returned. The file kmem is the same as mem except that kernel virtual memory rather than physical memory is accessed. Only kernel virtual addresses that are mapped to memory are allowed. Examining and patching device registers is likely to lead to unexpected results when read-only or write-only bits are present. On PDP-11s, the I/O page begins at location 0160000 of kmem and the per-process data segment for the current process begins at 0140000 and is USIZE clicks (64 bytes each) long. FILES
/dev/mem /dev/kmem /dev/MAKEDEV script to create special files /dev/MAKEDEV.local script to localize special files BUGS
On PDP-11's, specifying an odd kernel or user address, or an odd transfer count is [generally] slower than using all even parameters. On machines with ENABLE/34(tm) memory mapping boards the I/O page can be accessed only through kmem. 3rd Berkeley Distribution January 28, 1988 MEM(4)
All times are GMT -4. The time now is 10:14 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy