Re: [PATCH v8 13/30] powerpc: Add a probe_user_read_inst() function
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2020-05-13 13:09:55
From: Michael Ellerman <mpe@ellerman.id.au>
Date: 2020-05-13 13:09:55
Jordan Niethe [off-list ref] writes:
diff --git a/arch/powerpc/lib/inst.c b/arch/powerpc/lib/inst.c new file mode 100644 index 000000000000..eaf786afad2b --- /dev/null +++ b/arch/powerpc/lib/inst.c@@ -0,0 +1,18 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Copyright 2020, IBM Corporation. + */ + +#include <linux/uaccess.h> +#include <asm/inst.h> + +int probe_user_read_inst(struct ppc_inst *inst, + struct ppc_inst *nip) +{ + unsigned int val; + int err; + + err = probe_user_read(&val, nip, sizeof(val)); + *inst = ppc_inst(val);
We shouldn't be storing to *inst if the read failed? I changed it to: + if (!err) + *inst = ppc_inst(val); + Similarly for probe_kernel_read_inst(). cheers