All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Gleixner <tglx@linutronix.de>
To: Shrikanth Hegde <sshegde@linux.ibm.com>,
	Mukesh Kumar Chaurasiya <mkchauras@linux.ibm.com>,
	maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com
Cc: christophe.leroy@csgroup.eu, oleg@redhat.com, kees@kernel.org,
	luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com,
	thuth@redhat.com, akpm@linux-foundation.org, macro@orcam.me.uk,
	ldv@strace.io, deller@gmx.de, charlie@rivosinc.com,
	bigeasy@linutronix.de, segher@kernel.crashing.org,
	thomas.weissschuh@linutronix.de, menglong8.dong@gmail.com,
	ankur.a.arora@oracle.com, peterz@infradead.org,
	namcao@linutronix.de, kan.liang@linux.intel.com,
	mingo@kernel.org, atrajeev@linux.vnet.ibm.com,
	mark.barnett@arm.com, coltonlewis@google.com, rppt@kernel.org,
	linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/8] Generic IRQ entry/exit support for powerpc
Date: Wed, 19 Nov 2025 18:57:01 +0100	[thread overview]
Message-ID: <87ms4hlxci.ffs@tglx> (raw)
In-Reply-To: <5a2678a6-66e5-4c15-b95a-ce9f977f79e5@linux.ibm.com>

On Fri, Nov 07 2025 at 21:53, Shrikanth Hegde wrote:
> On 11/2/25 5:23 PM, Mukesh Kumar Chaurasiya wrote:
> diff --git a/arch/powerpc/kernel/interrupt.c b/arch/powerpc/kernel/interrupt.c
> index ce59431f977c..c7cf9a3f1202 100644
> --- a/arch/powerpc/kernel/interrupt.c
> +++ b/arch/powerpc/kernel/interrupt.c
> @@ -118,16 +118,18 @@ notrace unsigned long syscall_exit_prepare(unsigned long r3,
>                  regs->exit_flags |= _TIF_RESTOREALL;
>          }
>   
> -again:
> +       local_irq_disable();
> +
> +       user_exit_irqoff();
>          syscall_exit_to_user_mode(regs);
>   
> -       user_enter_irqoff();
> -       if (!prep_irq_for_enabled_exit(true)) {
> -               user_exit_irqoff();
> -               local_irq_enable();
> -               local_irq_disable();
> -               goto again;
> -       }
> +again:
> +       if (!prep_irq_for_enabled_exit(true)) {
> +               local_irq_enable();
> +               local_irq_disable();
> +               goto again;
> +       }
> +

This does not look right at all.

          syscall_exit_to_user_mode(regs)
                syscall_exit_to_user_mode_work()
                exit_to_user_mode()
                   user_exit_irqoff()

What you really want to do here is:

 again:
	syscall_exit_to_user_mode_work(regs);
 
	exit_to_user_mode(regs);
 	if (!prep_irq_for_enabled_exit(true)) {
        	// Re-establishes the full state required
                // to restart
		enter_from_user_mode(regs);
 		local_irq_enable();
 		local_irq_disable();
 		goto again;

That should cure it. Same issue in the other places.

Thanks,

        tglx


  reply	other threads:[~2025-11-19 17:57 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-11-02 11:53 [PATCH 0/8] Generic IRQ entry/exit support for powerpc Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 1/8] powerpc: rename arch_irq_disabled_regs Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 2/8] powerpc: Prepare to build with generic entry/exit framework Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 3/8] powerpc: introduce arch_enter_from_user_mode Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 4/8] powerpc: Introduce syscall exit arch functions Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 5/8] powerpc: add exit_flags field in pt_regs Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 6/8] powerpc: Prepare for IRQ entry exit Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 7/8] powerpc: Enable IRQ generic entry/exit path Mukesh Kumar Chaurasiya
2025-11-02 11:53 ` [PATCH 8/8] powerpc: Enable Generic Entry/Exit for syscalls Mukesh Kumar Chaurasiya
2025-11-08 12:23   ` kernel test robot
2025-11-07 16:23 ` [PATCH 0/8] Generic IRQ entry/exit support for powerpc Shrikanth Hegde
2025-11-19 17:57   ` Thomas Gleixner [this message]
2025-11-21  5:48     ` Mukesh Kumar Chaurasiya
2025-11-10  9:12 ` Samir Alamshaha Mulani
2025-11-11  4:39 ` Samir M
2025-11-11  5:09   ` Samir M

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=87ms4hlxci.ffs@tglx \
    --to=tglx@linutronix.de \
    --cc=akpm@linux-foundation.org \
    --cc=ankur.a.arora@oracle.com \
    --cc=atrajeev@linux.vnet.ibm.com \
    --cc=bigeasy@linutronix.de \
    --cc=charlie@rivosinc.com \
    --cc=christophe.leroy@csgroup.eu \
    --cc=coltonlewis@google.com \
    --cc=deller@gmx.de \
    --cc=kan.liang@linux.intel.com \
    --cc=kees@kernel.org \
    --cc=ldv@strace.io \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=luto@amacapital.net \
    --cc=macro@orcam.me.uk \
    --cc=maddy@linux.ibm.com \
    --cc=mark.barnett@arm.com \
    --cc=mchauras@linux.ibm.com \
    --cc=menglong8.dong@gmail.com \
    --cc=mingo@kernel.org \
    --cc=mkchauras@linux.ibm.com \
    --cc=mpe@ellerman.id.au \
    --cc=namcao@linutronix.de \
    --cc=npiggin@gmail.com \
    --cc=oleg@redhat.com \
    --cc=peterz@infradead.org \
    --cc=rppt@kernel.org \
    --cc=segher@kernel.crashing.org \
    --cc=sshegde@linux.ibm.com \
    --cc=thomas.weissschuh@linutronix.de \
    --cc=thuth@redhat.com \
    --cc=wad@chromium.org \
    /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.