From: "Dmitry V. Levin" <ldv@strace.io>
To: Mukesh Kumar Chaurasiya <mkchauras@gmail.com>
Cc: Mukesh Kumar Chaurasiya <mkchauras@linux.ibm.com>,
maddy@linux.ibm.com, mpe@ellerman.id.au, npiggin@gmail.com,
chleroy@kernel.org, ryabinin.a.a@gmail.com, glider@google.com,
andreyknvl@gmail.com, dvyukov@google.com,
vincenzo.frascino@arm.com, oleg@redhat.com, kees@kernel.org,
luto@amacapital.net, wad@chromium.org, mchauras@linux.ibm.com,
thuth@redhat.com, ruanjinjie@huawei.com, sshegde@linux.ibm.com,
akpm@linux-foundation.org, charlie@rivosinc.com, deller@gmx.de,
macro@orcam.me.uk, segher@kernel.crashing.org,
peterz@infradead.org, bigeasy@linutronix.de,
namcao@linutronix.de, tglx@linutronix.de, mark.barnett@arm.com,
linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org,
kasan-dev@googlegroups.com
Subject: Re: [PATCH v4 5/8] powerpc: add exit_flags field in pt_regs
Date: Thu, 23 Jul 2026 14:10:16 +0300 [thread overview]
Message-ID: <20260723111015.GA27638@strace.io> (raw)
In-Reply-To: <amHfaIAiRu748JBa@li-1a3e774c-28e4-11b2-a85c-acc9f2883e29.ibm.com>
On Thu, Jul 23, 2026 at 03:02:38PM +0530, Mukesh Kumar Chaurasiya wrote:
> On Wed, Jul 22, 2026 at 10:01:55AM +0300, Dmitry V. Levin wrote:
> > On Fri, Jan 23, 2026 at 01:09:13PM +0530, Mukesh Kumar Chaurasiya wrote:
> > > From: Mukesh Kumar Chaurasiya <mchauras@linux.ibm.com>
> > >
> > > Add a new field `exit_flags` in the pt_regs structure. This field will hold
> > > the flags set during interrupt or syscall execution that are required during
> > > exit to user mode.
> >
> > Apparently, this change breaks PTRACE_GETREGS as the latter has no means
> > to communicate the size of struct pt_regs being written to userspace.
> >
> > As result, the kernel with this patch will write to userpsace 32 more
> > bytes than before, and unless the userspace is re-compiled with the latest
> > ptrace.h, 32 bytes of userspace memory after struct pt_regs will be
> > overwritten.
> >
> > This issue was detected by strace test suite, specifically, the test that
> > checks whether the actual number of bytes written by
> > ptrace(PTRACE_GETREGS) matches sizeof(struct pt_regs), and that test failed
> > with runtime version v7.1 and headers version v7.2-rc1.
> >
> [...]
>
> Hey,
>
> Can you try this fix? This should fix the ABI breakage.
[...]
> diff --git a/arch/powerpc/include/uapi/asm/ptrace.h b/arch/powerpc/include/uapi/asm/ptrace.h
> index a393b7f2760a..01e630149d48 100644
> --- a/arch/powerpc/include/uapi/asm/ptrace.h
> +++ b/arch/powerpc/include/uapi/asm/ptrace.h
> @@ -55,8 +55,6 @@ struct pt_regs
> unsigned long dar; /* Fault registers */
> unsigned long dsisr; /* on 4xx/Book-E used for ESR */
> unsigned long result; /* Result of a system call */
> - unsigned long exit_flags; /* System call exit flags */
> - unsigned long __pt_regs_pad[3]; /* Maintain 16 byte interrupt stack alignment */
> };
>
> #endif /* __ASSEMBLER__ */
> @@ -116,12 +114,10 @@ struct pt_regs
> #define PT_DAR 41
> #define PT_DSISR 42
> #define PT_RESULT 43
> -#define PT_EXIT_FLAGS 44
> -#define PT_PAD 47 /* 3 times */
> -#define PT_DSCR 48
> -#define PT_REGS_COUNT 48
> +#define PT_DSCR 44
> +#define PT_REGS_COUNT 44
>
> -#define PT_FPR0 (PT_REGS_COUNT + 4) /* each FP reg occupies 2 slots in this space */
> +#define PT_FPR0 48 /* each FP reg occupies 2 slots in this space */
>
> #ifndef __powerpc64__
>
> @@ -133,7 +129,7 @@ struct pt_regs
> #define PT_FPSCR (PT_FPR0 + 32) /* each FP reg occupies 1 slot in 64-bit space */
>
>
> -#define PT_VR0 (PT_FPSCR + 2) /* <82> each Vector reg occupies 2 slots in 64-bit */
> +#define PT_VR0 82 /* each Vector reg occupies 2 slots in 64-bit */
> #define PT_VSCR (PT_VR0 + 32*2 + 1)
> #define PT_VRSAVE (PT_VR0 + 33*2)
>
> @@ -141,7 +137,7 @@ struct pt_regs
> /*
> * Only store first 32 VSRs here. The second 32 VSRs in VR0-31
> */
> -#define PT_VSR0 (PT_VRSAVE + 2) /* each VSR reg occupies 2 slots in 64-bit */
> +#define PT_VSR0 150 /* each VSR reg occupies 2 slots in 64-bit */
> #define PT_VSR31 (PT_VSR0 + 2*31)
> #endif /* __powerpc64__ */
>
As this patch essentially reverts the uapi header to its v7.1 state,
the uapi part of the patch is definitely fine.
--
ldv
next prev parent reply other threads:[~2026-07-23 11:10 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 7:39 [PATCH v4 0/8] Generic IRQ entry/exit support for powerpc Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 1/8] powerpc: rename arch_irq_disabled_regs Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 2/8] powerpc: Prepare to build with generic entry/exit framework Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 3/8] powerpc: introduce arch_enter_from_user_mode Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 4/8] powerpc: Introduce syscall exit arch functions Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 5/8] powerpc: add exit_flags field in pt_regs Mukesh Kumar Chaurasiya
2026-07-22 7:01 ` Dmitry V. Levin
2026-07-22 7:54 ` Florian Weimer
2026-07-22 10:30 ` Mukesh Kumar Chaurasiya
2026-07-23 2:37 ` Madhavan Srinivasan
2026-07-23 9:32 ` Mukesh Kumar Chaurasiya
2026-07-23 11:10 ` Dmitry V. Levin [this message]
2026-01-23 7:39 ` [PATCH v4 6/8] powerpc: Prepare for IRQ entry exit Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 7/8] powerpc: Enable GENERIC_ENTRY feature Mukesh Kumar Chaurasiya
2026-01-23 7:39 ` [PATCH v4 8/8] powerpc: Remove unused functions Mukesh Kumar Chaurasiya
2026-01-23 17:54 ` [PATCH v4 0/8] Generic IRQ entry/exit support for powerpc Shrikanth Hegde
2026-01-30 7:24 ` Venkat
2026-01-30 8:41 ` David Gow
2026-01-30 18:14 ` 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=20260723111015.GA27638@strace.io \
--to=ldv@strace.io \
--cc=akpm@linux-foundation.org \
--cc=andreyknvl@gmail.com \
--cc=bigeasy@linutronix.de \
--cc=charlie@rivosinc.com \
--cc=chleroy@kernel.org \
--cc=deller@gmx.de \
--cc=dvyukov@google.com \
--cc=glider@google.com \
--cc=kasan-dev@googlegroups.com \
--cc=kees@kernel.org \
--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=mkchauras@gmail.com \
--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=ruanjinjie@huawei.com \
--cc=ryabinin.a.a@gmail.com \
--cc=segher@kernel.crashing.org \
--cc=sshegde@linux.ibm.com \
--cc=tglx@linutronix.de \
--cc=thuth@redhat.com \
--cc=vincenzo.frascino@arm.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.