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

NAME

       move_addr_to_user - copy an address to user space

SYNOPSIS

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

ARGUMENTS

       kaddr  kernel space address

       klen   length of address in kernel

       uaddr  user space address

       ulen   pointer to user length field

DESCRIPTION

       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.