hi ,
Thank you for your reply, can i ask some more question?
Inside the system call , the kernel often copy the data by calling
copy_from_user() rather than just using strcpy(), is it because the
memory mapping in kenel space is different from user space? for example
, now user program want to pass a pointer *a to kernel space , is it
true that *a seems means address 0xb000 to user space but actually it is
at 0xc000 at kernel space?
Thx a lot,
TOM
Jan-Benedict Glaw wrote:
On Wed, 2005-04-13 12:21:41 +0800, Tomko <[email protected]>
wrote in message <[email protected]>:
While i am reading the source code of the linux system call , i find
that the system call need to call copy_from_user() to copy the data from
user space to kernel space before using it . Why not use it directly as
the system call has got the address ? Furthermore , how to distinguish
between user space and kernel space ?
Think about the memory access. The page that contains the data could be
swapped out, so the kernel isn't allowed to just access it, because it's
not there.
MfG, JBG
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
[Index of Archives]
[Kernel Newbies]
[Netfilter]
[Bugtraq]
[Photo]
[Stuff]
[Gimp]
[Yosemite News]
[MIPS Linux]
[ARM Linux]
[Linux Security]
[Linux RAID]
[Video 4 Linux]
[Linux for the blind]
[Linux Resources]