Problem with set_memory_rw()

From: Oleg Kutkov
Date: Wed Feb 03 2010 - 15:59:04 EST


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.


Best regards,
Oleg.

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