Hi Christoph,
On Wed, 13 May 2020 18:00:30 +0200
Christoph Hellwig <[email protected]> wrote:
> @@ -36,14 +50,20 @@ long __weak probe_kernel_read(void *dst, const void *src,
> size_t size)
> * probe_kernel_read() suitable for use within regions where the caller
> * already holds mmap_sem, or other locks which nest inside mmap_sem.
> */
> -long __weak probe_kernel_read_strict(void *dst, const void *src, size_t size)
> - __attribute__((alias("__probe_kernel_read")));
> +long probe_kernel_read_strict(void *dst, const void *src, size_t size)
> +{
> + return __probe_kernel_read(dst, src, size, true);
> +}
>
> -long __probe_kernel_read(void *dst, const void *src, size_t size)
> +static long __probe_kernel_read(void *dst, const void *src, size_t size,
> + bool strict)
> {
> long ret;
> mm_segment_t old_fs = get_fs();
>
> + if (!probe_kernel_read_allowed(dst, src, size, strict))
> + return -EFAULT;
Could you make this return -ERANGE instead of -EFAULT so that
the caller can notice that the address might be user space?
Thank you,
--
Masami Hiramatsu <[email protected]>