Message ID | 20241017133909.3837547-3-kevin.brodsky@arm.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Improve arm64 pkeys handling in signal delivery | expand |
On Thu, Oct 17, 2024 at 02:39:06PM +0100, Kevin Brodsky wrote: > The POE frame record is allocated unconditionally if POE is > supported. If the allocation fails, a SIGSEGV is delivered before > setup_sigframe() can be reached. As a result there is no need to > check that poe_offset has been checked before saving POR_EL0; this > is in line with other frame records (FPMR, TPIDR2). Reviewed-by: Mark Brown <broonie@kernel.org>
On Thu, Oct 17, 2024 at 02:39:06PM +0100, Kevin Brodsky wrote: > The POE frame record is allocated unconditionally if POE is > supported. If the allocation fails, a SIGSEGV is delivered before > setup_sigframe() can be reached. As a result there is no need to > check that poe_offset has been checked before saving POR_EL0; this > is in line with other frame records (FPMR, TPIDR2). > > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> Reviewed-by: Dave Martin <Dave.Martin@arm.com> > --- > arch/arm64/kernel/signal.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c > index dc998326e24d..f5fb48dabebe 100644 > --- a/arch/arm64/kernel/signal.c > +++ b/arch/arm64/kernel/signal.c > @@ -1092,7 +1092,7 @@ static int setup_sigframe(struct rt_sigframe_user_layout *user, > err |= preserve_fpmr_context(fpmr_ctx); > } > > - if (system_supports_poe() && err == 0 && user->poe_offset) { > + if (system_supports_poe() && err == 0) { > struct poe_context __user *poe_ctx = > apply_user_offset(user, user->poe_offset); > > -- > 2.43.0 > >
On Thu, Oct 17, 2024 at 02:39:06PM +0100, Kevin Brodsky wrote: > The POE frame record is allocated unconditionally if POE is > supported. If the allocation fails, a SIGSEGV is delivered before > setup_sigframe() can be reached. As a result there is no need to > check that poe_offset has been checked before saving POR_EL0; this > is in line with other frame records (FPMR, TPIDR2). > > Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> Acked-by: Catalin Marinas <catalin.marinas@arm.com>
diff --git a/arch/arm64/kernel/signal.c b/arch/arm64/kernel/signal.c index dc998326e24d..f5fb48dabebe 100644 --- a/arch/arm64/kernel/signal.c +++ b/arch/arm64/kernel/signal.c @@ -1092,7 +1092,7 @@ static int setup_sigframe(struct rt_sigframe_user_layout *user, err |= preserve_fpmr_context(fpmr_ctx); } - if (system_supports_poe() && err == 0 && user->poe_offset) { + if (system_supports_poe() && err == 0) { struct poe_context __user *poe_ctx = apply_user_offset(user, user->poe_offset);
The POE frame record is allocated unconditionally if POE is supported. If the allocation fails, a SIGSEGV is delivered before setup_sigframe() can be reached. As a result there is no need to check that poe_offset has been checked before saving POR_EL0; this is in line with other frame records (FPMR, TPIDR2). Signed-off-by: Kevin Brodsky <kevin.brodsky@arm.com> --- arch/arm64/kernel/signal.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)