I know that copy_to_user/copy_from_user, get_user/put_user functions are for this purpose.
copy_to_user
copy_from_user
get_user
put_user
My question is that, given
You'll need to follow an address to get a corresponding page struct (see follow_page for the example). Next, getting the page struct you'll need to map it to kernel's address space via kmap or kmap_atomic.
follow
page
kmap
kmap_atomic