Re: clean up and streamline probe_kernel_* and friends v4

From: Masami Hiramatsu
Date: Thu May 21 2020 - 20:22:19 EST


On Thu, 21 May 2020 17:22:38 +0200
Christoph Hellwig <hch@xxxxxx> wrote:

> Hi all,
>
> this series start cleaning up the safe kernel and user memory probing
> helpers in mm/maccess.c, and then allows architectures to implement
> the kernel probing without overriding the address space limit and
> temporarily allowing access to user memory. It then switches x86
> over to this new mechanism by reusing the unsafe_* uaccess logic.
>
> This version also switches to the saner copy_{from,to}_kernel_nofault
> naming suggested by Linus.
>
> I kept the x86 helpers as-is without calling unsage_{get,put}_user as
> that avoids a number of hard to trace casts, and it will still work
> with the asm-goto based version easily.
>
> Changes since v3:
> - cleanup how bpf and trace_kprobe perform the TASK_SIZE checks
> - remove the unused dst argument to probe_kernel_read_allowed
> - document the -ERANGE return value

This series looks good to me.

Reviewed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>

for this series.

Thank you!

>
> Changes since v2:
> - rebased on 5.7-rc6 with the bpf trace format string changes
> - rename arch_kernel_read to __get_kernel_nofault and arch_kernel_write
> to __put_kernel_nofault
> - clean up the tracers to only allowd "mixed" reads when the kernel
> has non-overlapping address spaces


--
Masami Hiramatsu <mhiramat@xxxxxxxxxx>