All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ivan Kokshaysky <ink@unseen.parts>
To: "Maciej W. Rozycki" <macro@orcam.me.uk>
Cc: Magnus Lindholm <linmag7@gmail.com>,
	"Paul E. McKenney" <paulmck@kernel.org>,
	Michael Cree <mcree@orcon.net.nz>,
	John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,
	rcu@vger.kernel.org, linux-alpha@vger.kernel.org
Subject: Re: Kernel Oops on alpha with kernel version >=6.9.x
Date: Sat, 25 Jan 2025 18:43:19 +0100	[thread overview]
Message-ID: <Z5Uit9F7xF0ZlMk2@minute> (raw)
In-Reply-To: <alpine.DEB.2.21.2501251543460.27203@angie.orcam.me.uk>

On Sat, Jan 25, 2025 at 05:01:42PM +0000, Maciej W. Rozycki wrote:
>  Yeah, just as I observed in my other reply, but notice that syscalls and 
> exceptions handlers typically actually do *not* receive a 16-byte aligned 
> stack now.

Interesting. Perhaps these frames are aligned by PAL-code as well,
the reference manual wasn't clear about that.

> > > On stack alignment in "ALPHA Calling Standard":
> > > D.3.1 Stack Alignment
> > > 
> > > "This standard requires that stacks be octaword aligned at the time a
> > > new procedure is invoked. During the body of a procedure, however,
> > > there is no requirement to keep this level of alignment (even though
> > > it may be beneficial). This implies that any asynchronous interrupt
> > > handlers must properly align the stack before any standard calls are
> > > made."
> > 
> > I hope we can rely on GCC changing $sp only by multiplies of 16.
> 
>  Absolutely, the compiler would be completely broken otherwise.
> 
> > (Yes, there is still the UAPI issue that Maciej pointed out, but that's
> > another story.)
> 
>  So we now have two variants to pick from.  I wish we could take yours as 
> it's certainly neater, but is it safe enough?
> 
>  I can see arch/alpha/include/uapi/asm/ptrace.h was only incarnated as 
> late as in 2012 with commit 96433f6ee490 ("UAPI: (Scripted) Disintegrate 
> arch/alpha/include/asm") and according to the change heading made in an 
> automated way, with little public discussion, so maybe its existence is 
> actually an accident?  Unlike some other platforms we don't expose this 
> `struct pt_regs' via ptrace(2) for PTRACE_GETREGS/PTRACE_SETREGS, which 
> we don't implement.

Yeah, a bit of e-mail desync, sorry :)

At the moment I compile gdb with empty asm/ptrace.h just to be 100% sure.

>  NB, here's a corresponding stack alignment report for your change:
> 
> start_kernel: SP: fffffc0000dcfe90
> do_entInt: SP: fffffc0000dcfc60
> copy_thread: SP: fffffc0000dcfc90, regs: fffffc0000dcff10, childregs: fffffc0001837f10, childstack: fffffc0001837ed0
> do_page_fault: SP: fffffc0001837bb8
> sys_exit_group: SP: fffffc00028bfef0
> do_entUnaUser: SP: fffffc0001bcfe68
> do_entArith: SP: fffffc0001dfbee0
> do_entIF: SP: fffffc0001fafee0
> 
> so there's still work to be done for `entMM' and `entUna' exceptions.

I knew about entUna, I thought it's safe as it only deals with 64-bit data
and not going to be changed in future, but missed entMM...

I agree, better fix both.

Ivan.

  reply	other threads:[~2025-01-25 17:43 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-11-30 22:22 Kernel Oops on alpha with kernel version >=6.9.x Magnus Lindholm
2024-12-01  4:31 ` Paul E. McKenney
2024-12-01 10:09   ` Magnus Lindholm
2024-12-01 17:04     ` Paul E. McKenney
2024-12-04 22:22       ` Magnus Lindholm
2024-12-05 15:39         ` John Paul Adrian Glaubitz
2024-12-05 17:02           ` Magnus Lindholm
2024-12-06 15:39             ` Magnus Lindholm
2024-12-06 17:05               ` John Paul Adrian Glaubitz
2024-12-07 12:33                 ` Magnus Lindholm
2024-12-07 12:39                   ` John Paul Adrian Glaubitz
2024-12-07 17:33                     ` Magnus Lindholm
2024-12-07 18:38                       ` John Paul Adrian Glaubitz
2024-12-08  9:43                         ` Magnus Lindholm
2024-12-08 21:39                           ` Magnus Lindholm
2024-12-08 23:18                             ` Michael Cree
2024-12-08 23:31                               ` John Paul Adrian Glaubitz
2024-12-09  8:11                                 ` Magnus Lindholm
2024-12-12 23:23                                   ` Magnus Lindholm
2024-12-09  8:05                               ` Magnus Lindholm
2024-12-16 22:10                                 ` Michael Cree
2024-12-17  6:23                                   ` Magnus Lindholm
2024-12-18 19:33                                     ` Magnus Lindholm
2024-12-18 20:31                                       ` Paul E. McKenney
2024-12-18 21:54                                         ` Magnus Lindholm
2024-12-18 22:50                                           ` Paul E. McKenney
2024-12-19 22:38                                             ` Magnus Lindholm
2024-12-19 23:03                                               ` Paul E. McKenney
2024-12-20  0:00                                                 ` Maciej W. Rozycki
2024-12-27 10:42                                                   ` Magnus Lindholm
2024-12-27 11:48                                                     ` John Paul Adrian Glaubitz
2024-12-27 16:30                                                     ` Maciej W. Rozycki
2024-12-31 10:43                                                       ` Magnus Lindholm
2025-01-12 23:25                                                         ` Magnus Lindholm
2025-01-13  0:19                                                           ` Maciej W. Rozycki
2025-01-13  3:08                                                             ` Maciej W. Rozycki
2025-01-13  5:59                                                             ` Magnus Lindholm
2025-01-13  8:04                                                               ` Maciej W. Rozycki
2025-01-13 16:52                                                               ` Magnus Lindholm
2025-01-20 13:01                                                                 ` Magnus Lindholm
2025-01-20 13:19                                                                   ` Maciej W. Rozycki
2025-01-21 13:39                                                                     ` Ivan Kokshaysky
2025-01-23 18:36                                                                       ` Ivan Kokshaysky
2025-01-23 23:00                                                                         ` Magnus Lindholm
2025-01-23 23:51                                                                           ` Michael Cree
2025-01-23 23:57                                                                         ` Maciej W. Rozycki
2025-01-24  6:06                                                                           ` Magnus Lindholm
2025-01-24 10:55                                                                           ` Ivan Kokshaysky
2025-01-24 16:57                                                                             ` Magnus Lindholm
2025-01-25 15:15                                                                               ` Ivan Kokshaysky
2025-01-25 17:01                                                                                 ` Maciej W. Rozycki
2025-01-25 17:43                                                                                   ` Ivan Kokshaysky [this message]
2025-01-25 18:25                                                                                     ` Maciej W. Rozycki
2025-01-25 18:59                                                                                       ` Maciej W. Rozycki
2025-01-25 19:48                                                                                         ` Ivan Kokshaysky
2025-01-25 22:06                                                                                           ` Maciej W. Rozycki
2025-01-25 23:02                                                                                             ` Ivan Kokshaysky
2025-01-26 14:00                                                                                               ` Ivan Kokshaysky
2025-01-26 19:15                                                                                                 ` Magnus Lindholm
2025-01-27 11:48                                                                                                   ` Ivan Kokshaysky
2025-01-27 11:56                                                                                                     ` John Paul Adrian Glaubitz
2025-01-25 18:07                                                                                 ` Magnus Lindholm
2025-01-25 15:35                                                                             ` Maciej W. Rozycki
2025-01-25 17:09                                                                               ` Ivan Kokshaysky
2025-01-24  6:54                                                                         ` John Paul Adrian Glaubitz
  -- strict thread matches above, loose matches on Subject: below --
2024-11-24 21:47 Magnus Lindholm

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=Z5Uit9F7xF0ZlMk2@minute \
    --to=ink@unseen.parts \
    --cc=glaubitz@physik.fu-berlin.de \
    --cc=linmag7@gmail.com \
    --cc=linux-alpha@vger.kernel.org \
    --cc=macro@orcam.me.uk \
    --cc=mcree@orcon.net.nz \
    --cc=paulmck@kernel.org \
    --cc=rcu@vger.kernel.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.