passing __user function parameter from kernel_module result in EFAULT
Greg KH
greg at kroah.com
Sat Apr 25 03:43:42 EDT 2020
On Tue, Apr 21, 2020 at 09:14:00PM +0300, Lev R. Oshvang . wrote:
> Hi all, I am trying to do a mount from kernel module in kernel 5.4 on x86_64.
> It fails with -14, I tried to set_fs(USER_DS) before calling do_mount
> but it did not
> help.
>
>
> do_mount() returns -EFAUTL when it checks filename validity just at
> the very first lines of do_mount ().
>
> Are there other tricks to do in order to overcome and access_ok checks?
No "trick" is needed, just properly convert the data to a kernel pointer
and you should be fine. Never touch the data pointed to by a userspace
pointer.
greg k-h
More information about the Kernelnewbies
mailing list