lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Thu, 4 Feb 2010 14:45:11 +0900
From:	KAMEZAWA Hiroyuki <kamezawa.hiroyu@...fujitsu.com>
To:	Oleg Kutkov <elenbert@...il.com>
Cc:	linux-kernel@...r.kernel.org
Subject: Re: Problem with set_memory_rw

On Thu, 04 Feb 2010 07:26:25 +0200
Oleg Kutkov <elenbert@...il.com> wrote:

> Hello, this is my first post in a mailing list, so excuse me if 
> something wrong...
> I'm new in kernel and try to do some manipulation with memory pages.
> For manipulating memory page attributes i used set_memory_rw(),
> but function returning 0 and i can't continue writing to memory,
> because page, that i want to change, is read only by default.
> This is part of my code:
> 
> 
> long unsigned addr;
> 
> addr = 0x0509940;              //this is addres in memory, that i  want 
> to overwrite (read only, for default)
> 
> set_memory_rw(addr, 1);    //try to set rw permission on this addres for 
> one memory page.
> 
> 
> So, function return zero, this is error, as i can understand. If i try 
> to write by this address - kernel write in log error messages, such as 
> "Unable to handle kernel request at address 0x0509940".
> This is kernel bug or something wrong in my code?
> 
> Thank for any help.
> 

set_memory_rw()'s 1st argument requires virtual address.
So, you need virtual address of the page you want.
 
  - phys_to_virt() ... convert physical address to virtual address.
  - virt_to_phys() ... convert virtual address to physical.

Anyway, RW is vitual address mapping's attribute and not for physical.

Thanks,
-Kame


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ