All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pavel Machek <pavel@denx.de>
To: cip-dev@lists.cip-project.org
Cc: Finn Thain <fthain@linux-m68k.org>,
	"Eric W. Biederman" <ebiederm@xmission.com>,
	Michael Schmitz <schmitzmic@gmail.com>,
	linux-m68k@lists.linux-m68k.org
Subject: Re: [cip-dev] [PATCH 4.4.y-cip] signal/m68k: Use force_sigsegv(SIGSEGV) in fpsp040_die
Date: Sat, 22 Feb 2025 10:42:07 +0100	[thread overview]
Message-ID: <Z7mb7+BXBDSD4a5G@duo.ucw.cz> (raw)
In-Reply-To: <960544762.1079819.1739441787128@webmail.strato.de>

[-- Attachment #1: Type: text/plain, Size: 3287 bytes --]

Hi!

> Sorry, I saw these five minutes too late. Applied for the next release.

I guess these should go to 4.4-st, but I don't see them there. Did you
forget to push?

Best regards,
								Pavel

> > From: "Eric W. Biederman" <ebiederm@xmission.com>
> > 
> > [ Upstream commit a3616a3c02722d1edb95acc7fceade242f6553ba ]
> > 
> > In the fpsp040 code when copyin or copyout fails call
> > force_sigsegv(SIGSEGV) instead of do_exit(SIGSEGV).
> > 
> > This solves a couple of problems.  Because do_exit embeds the ptrace
> > stop PTRACE_EVENT_EXIT a complete stack frame needs to be present for
> > that to work correctly.  There is always the information needed for a
> > ptrace stop where get_signal is called.  So exiting with a signal
> > solves the ptrace issue.
> > 
> > Further exiting with a signal ensures that all of the threads in a
> > process are killed not just the thread that malfunctioned.  Which
> > avoids confusing userspace.
> > 
> > To make force_sigsegv(SIGSEGV) work in fpsp040_die modify the code to
> > save all of the registers and jump to ret_from_exception (which
> > ultimately calls get_signal) after fpsp040_die returns.
> > 
> > v2: Updated the branches to use gas's pseudo ops that automatically
> >     calculate the best branch instruction to use for the purpose.
> > 
> > v1: https://lkml.kernel.org/r/87a6m8kgtx.fsf_-_@disp2133
> > Link: https://lkml.kernel.org/r/87tukghjfs.fsf_-_@disp2133
> > Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>
> > Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com>
> > [ Pass 'current' to force_sigsegv() as was done prior to v5.3 ]
> > Signed-off-by: Finn Thain <fthain@linux-m68k.org>
> > ---
> >  arch/m68k/fpsp040/skeleton.S | 3 ++-
> >  arch/m68k/kernel/traps.c     | 2 +-
> >  2 files changed, 3 insertions(+), 2 deletions(-)
> > 
> > diff --git a/arch/m68k/fpsp040/skeleton.S b/arch/m68k/fpsp040/skeleton.S
> > index 31a9c634c81e..081922c72daa 100644
> > --- a/arch/m68k/fpsp040/skeleton.S
> > +++ b/arch/m68k/fpsp040/skeleton.S
> > @@ -502,7 +502,8 @@ in_ea:
> >  	.section .fixup,"ax"
> >  	.even
> >  1:
> > -	jbra	fpsp040_die
> > +	jbsr	fpsp040_die
> > +	jbra	.Lnotkern
> >  
> >  	.section __ex_table,"a"
> >  	.align	4
> > diff --git a/arch/m68k/kernel/traps.c b/arch/m68k/kernel/traps.c
> > index 35f706d836c5..c6f18dc5884b 100644
> > --- a/arch/m68k/kernel/traps.c
> > +++ b/arch/m68k/kernel/traps.c
> > @@ -1155,7 +1155,7 @@ asmlinkage void set_esp0(unsigned long ssp)
> >   */
> >  asmlinkage void fpsp040_die(void)
> >  {
> > -	do_exit(SIGSEGV);
> > +	force_sigsegv(SIGSEGV, current);
> >  }
> >  
> >  #ifdef CONFIG_M68KFPU_EMU

> 
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#17828): https://lists.cip-project.org/g/cip-dev/message/17828
> Mute This Topic: https://lists.cip-project.org/mt/111159546/4520429
> Group Owner: cip-dev+owner@lists.cip-project.org
> Unsubscribe: https://lists.cip-project.org/g/cip-dev/leave/8129118/4520429/629823354/xyzzy [pavel@denx.de]
> -=-=-=-=-=-=-=-=-=-=-=-
> 


-- 
DENX Software Engineering GmbH,        Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]

  reply	other threads:[~2025-02-22  9:42 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-13  7:22 [PATCH 4.4.y-cip] signal/m68k: Use force_sigsegv(SIGSEGV) in fpsp040_die Finn Thain
2025-02-13 10:16 ` Ulrich Hecht
2025-02-22  9:42   ` Pavel Machek [this message]
2025-02-25  2:25     ` [cip-dev] " Ulrich Hecht

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Z7mb7+BXBDSD4a5G@duo.ucw.cz \
    --to=pavel@denx.de \
    --cc=cip-dev@lists.cip-project.org \
    --cc=ebiederm@xmission.com \
    --cc=fthain@linux-m68k.org \
    --cc=linux-m68k@lists.linux-m68k.org \
    --cc=schmitzmic@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.