diff mbox series

arm64/ptrace: Fix an error handling path in sve_set_common()

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

Commit Message

Christophe JAILLET July 17, 2023, 5:55 p.m. UTC
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(-)

Comments

Mark Brown July 17, 2023, 6:08 p.m. UTC | #1
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.
Anshuman Khandual July 18, 2023, 6:28 a.m. UTC | #2
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.
Will Deacon July 27, 2023, 12:22 p.m. UTC | #3
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 mbox series

Patch

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;
 		}
 
 		/*