On Mon, Apr 12, 2021 at 10:00:16AM +0200, Peter Zijlstra wrote:
> +struct vpr_data {
> + int (*fn)(pte_t pte, unsigned long addr, void *data);
> + void *data;
> +};Eeerg. This is likely to become an attack target itself. Stored function pointer with stored (3rd) argument. This doesn't seem needed: only DRM uses it, and that's for error reporting. I'd rather plumb back errors in a way to not have to add another place in the kernel where we do func+arg stored calling. -- Kees Cook

