Sorry if this bugs anyone, but I'm learning things here.

What I would expect the kernel to do is this:

system_call_data_prep (userdata, size){ 

   if !4G/4G {
      for each page from userdata to userdata+size
      {
        if the page is swapped out, swap it in
        if the page is not owned by the user process, return -ENOWAYMAN
        otherwise, lock the page
      }
      return userdata;
    }
    else { //kernel land and userland are mutually exclusive
           copy the data into kernel land
           return kernelland_copy_of_userdata;
          }
}

(And then the syscall would need to run the opposite function 
sys_call_data_unprep to unlock pages.)

Hmm, maybe that interface sucks.

Is it anything close to that? 
   
-- 
The best is the enemy of the good  -- Voltaire
The Good Enough is the enemy of the Great -- Me
http://www.hacksaw.org -- http://www.privatecircus.com -- KB1FVD


-
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/

Reply via email to