Thread (10 messages) flat view 10 messages, 3 authors, 2016-09-12

check if a kernel page is read-only

From: peter.senna@gmail.com (Peter Senna Tschudin)
Date: 2016-09-06 08:24:57

On Mon, Sep 5, 2016 at 6:57 PM,  [off-list ref] wrote:
On Mon, 05 Sep 2016 12:59:46 +0200, Oscar Salvador said:
quoted
I'm writing a module to read/write kernel memory, and for this I'd like to
check if a page is marked as read-only
Actually, you almost certainly want to do a *much* stricter check than
that.  If your module is doing unrestricted writes, there's almost certainly
a major design failure.  Modules should *only* access memory that belongs
to them - for instance, a driver for some new widget shouldn't be doing
anything with memory that isn't either I/O buffer space allocated for
that device, or the various struct * that the driver core sets up for a device.

If you're trying to scribble *anywhere*, you're either trying to write a
rootkit, or you're mis-designing something that will almost certainly be
abused by somebody to backdoor in a rootkit.

And I don't have much sympathy for "it's just a toy module" - if you can't
be bothered to write modules with proper design, you shouldn't be coding
in kernelspace.  Learn to do it right from the beginning and don't learn
sloppy habits.
I guess this depends on the goals. I can think of a few valid reasons
for making that with profiling/instrumentation in mind.
So what actual problem are you trying to solve by scribbling all over kernel
space?  There's probably a better way to do it.
Yes, tell us a little bit more about what you want to get. I guess we
can help you if you tell us more about your problem. I'm curious.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help