Understanding of write file operation in char driver
Valdis.Kletnieks at vt.edu
Valdis.Kletnieks at vt.edu
Fri Jan 2 11:02:12 EST 2015
On Fri, 02 Jan 2015 07:50:55 +0530, me storage said:
> Can any one please tell me difference between kernal space & user space in
> code perspective
Two biggies:
1) Kernel space pages are usually nailed down and not paging in and out,
this is *not* true for userspace pages (so special tap-dancing in
copy_(to/from)_user() is needed to make sure no page faults happen).
2) Data inside the kernel can usually be trusted from a security standpoint.
Data in userspace *MUST NOT* be trusted. Also, beware of TOCTOU (time of
check / time of use) bugs - that's why we should copy the user-supplied data
to an internal buffer *first*, and then validity-check the buffer - if we check
the value in userspace and then later copy it, there's a race condition where
the userspace value can be changed after the check but before the copy.
Also, keep in mind that a userspace pointer needs to be translated before
using it to dereference data from kernel space....
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 848 bytes
Desc: not available
Url : http://lists.kernelnewbies.org/pipermail/kernelnewbies/attachments/20150102/804deb31/attachment.bin
More information about the Kernelnewbies
mailing list