Re: [PATCH net-next] bpf: add support for %s specifier to bpf_trace_printk()

From: David Miller
Date: Thu Aug 27 2015 - 18:34:49 EST


From: Alexei Starovoitov <ast@xxxxxxxxxxxx>
Date: Wed, 26 Aug 2015 23:26:59 -0700

> +/* similar to strncpy_from_user() but with extra checks */
> +static void probe_read_string(char *buf, int size, long unsafe_ptr)
> +{
> + char dst[4];
> + int i = 0;
> +
> + size--;
> + for (;;) {
> + if (probe_kernel_read(dst, (void *) unsafe_ptr, 4))
> + break;

I don't think this does the right thing when the string is not a multiple
of 3 and ends at the last byte of a page that ends a valid region of
kernel memory.

Seeing this kind of error makes me skeptical to the overall value of
optimizing this :-/
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/