Message ID | aa61301ed2dfd079b74b37f7fede5f179ac3087a.1689616473.git.christophe.jaillet@wanadoo.fr (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | arm64/ptrace: Fix an error handling path in sve_set_common() | expand |
On Mon, Jul 17, 2023 at 07:55:05PM +0200, Christophe JAILLET wrote: > All error handling paths go to 'out', except this one. Be consistent and > also branch to 'out' here. This looks like a reasonable cleanup. Reviewed-by: Mark Brown <broonie@kernel.org> > Fixes: e12310a0d30f ("arm64/sme: Implement ptrace support for streaming mode SVE registers") > default: > WARN_ON_ONCE(1); > - return -EINVAL; > + ret = -EINVAL; > + goto out; > } It's not exactly a fix though (probably not worth backporting for example, which tends to get keyed off the fixes tag) since something's incredibly confused if this code path ever gets executed, we're setting an unknown SVE vector type hence the WARN_ON() there.
On 7/17/23 23:38, Mark Brown wrote: > On Mon, Jul 17, 2023 at 07:55:05PM +0200, Christophe JAILLET wrote: >> All error handling paths go to 'out', except this one. Be consistent and >> also branch to 'out' here. > > This looks like a reasonable cleanup. > > Reviewed-by: Mark Brown <broonie@kernel.org> Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com> > >> Fixes: e12310a0d30f ("arm64/sme: Implement ptrace support for streaming mode SVE registers") > >> default: >> WARN_ON_ONCE(1); >> - return -EINVAL; >> + ret = -EINVAL; >> + goto out; >> } > > It's not exactly a fix though (probably not worth backporting for +1 > example, which tends to get keyed off the fixes tag) since something's > incredibly confused if this code path ever gets executed, we're setting > an unknown SVE vector type hence the WARN_ON() there. Agreed.
On Mon, 17 Jul 2023 19:55:05 +0200, Christophe JAILLET wrote: > All error handling paths go to 'out', except this one. Be consistent and > also branch to 'out' here. > > Applied to arm64 (for-next/misc), thanks! [1/1] arm64/ptrace: Fix an error handling path in sve_set_common() https://git.kernel.org/arm64/c/5f69ca4229c7 Cheers,
diff --git a/arch/arm64/kernel/ptrace.c b/arch/arm64/kernel/ptrace.c index d7f4f0d1ae12..9bc23f1b499e 100644 --- a/arch/arm64/kernel/ptrace.c +++ b/arch/arm64/kernel/ptrace.c @@ -884,7 +884,8 @@ static int sve_set_common(struct task_struct *target, break; default: WARN_ON_ONCE(1); - return -EINVAL; + ret = -EINVAL; + goto out; } /*
All error handling paths go to 'out', except this one. Be consistent and also branch to 'out' here. Fixes: e12310a0d30f ("arm64/sme: Implement ptrace support for streaming mode SVE registers") Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr> --- /!\ Speculative /!\ This patch is based on analysis of the surrounding code and should be reviewed with care ! If the patch is wrong, maybe a comment in the code could explain why. /!\ Speculative /!\ --- arch/arm64/kernel/ptrace.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)