Provided by: linux-doc-2.6.15_2.6.15-23.39_all bug


       move_addr_to_user - copy an address to user space


       int move_addr_to_user  (void * kaddr, int klen, void __user * uaddr,
                                int __user * ulen);


       kaddr  kernel space address

       klen   length of address in kernel

       uaddr  user space address

       ulen   pointer to user length field


       The value pointed to by ulen on entry is the buffer  length  available.
       This  is overwritten with the buffer space used. -EINVAL is returned if
       an overlong buffer is specified or a negative buffer size.  -EFAULT  is
       returned  if  either the buffer or the length field are not accessible.
       After copying the data up to the limit the  user  specifies,  the  true
       length of the data is written over the length limit the user specified.
       Zero is returned for a success.