[lkml]   [1999]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
Subjectaccess_ok inside kernelspace


I patched the 2.2.12 kernel to be able to write to the file system within my
I do this by patching the copy_to/from_user functions like this

if (access_ok(VERIFY_READ, from, n))
memcpy(to, from, n);
return 0;
return n;
this runs, I wrote to an ext2 file and to /dev/ttyS0, but this also have side
effects. The read functionality seems to to work.
I tried to write from a user program to a file using an uninitialised pointer
as write buffer.
The write function returns without error and the file I wrote contains some
binary data, which is the kernels code at the position the pointer refers to.
Second test I made was writing to an address which was not present in kernel
space in the form of
write(fd, (char*)~0, 10);
and get an
general protection fault
So what I need is an function which checks if the access to the addresses
within the kernel are ok like the access_ok which does this for the user space,
so the copy_to/from_user
functions can look like this
if (access_ok(VERIFY_READ, from, n))
else if( kernel_access_ok(VERIFY_READ, from, n) )
memcpy(to, from, n);
return 0;
return n;
If someone has written such a function, or knows which already implemented
function of Linux does that, please inform me.

Vasili Goutas
Vasilios Goutas
RATIO Entwicklungen GmbH
Phone:+49-(0)40-369007-0 Admiralittstr. 59
Fax:+49-(0)40-369007-25 20459 Hamburg

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
Please read the FAQ at

 \ /
  Last update: 2005-03-22 13:54    [from the cache]
©2003-2011 Jasper Spaans