diff options
| author | Ivan Kokshaysky <ink@unseen.parts> | 2025-02-05 01:35:24 +0300 |
|---|---|---|
| committer | Matt Turner <mattst88@gmail.com> | 2025-02-14 22:06:04 +0300 |
| commit | 3b35a171060f846b08b48646b38c30b5d57d17ff (patch) | |
| tree | c0f5bb6997edc44a881b2aee103842f963ee151c /arch/alpha/mm | |
| parent | 0a0f7362b0367634a2d5cb7c96226afc116f19c9 (diff) | |
| download | linux-3b35a171060f846b08b48646b38c30b5d57d17ff.tar.xz | |
alpha: align stack for page fault and user unaligned trap handlers
do_page_fault() and do_entUna() are special because they use
non-standard stack frame layout. Fix them manually.
Cc: stable@vger.kernel.org
Tested-by: Maciej W. Rozycki <macro@orcam.me.uk>
Tested-by: Magnus Lindholm <linmag7@gmail.com>
Tested-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Maciej W. Rozycki <macro@orcam.me.uk>
Suggested-by: Maciej W. Rozycki <macro@orcam.me.uk>
Signed-off-by: Ivan Kokshaysky <ink@unseen.parts>
Signed-off-by: Matt Turner <mattst88@gmail.com>
Diffstat (limited to 'arch/alpha/mm')
| -rw-r--r-- | arch/alpha/mm/fault.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/alpha/mm/fault.c b/arch/alpha/mm/fault.c index 8c9850437e67..a9816bbc9f34 100644 --- a/arch/alpha/mm/fault.c +++ b/arch/alpha/mm/fault.c @@ -78,8 +78,8 @@ __load_new_mm_context(struct mm_struct *next_mm) /* Macro for exception fixup code to access integer registers. */ #define dpf_reg(r) \ - (((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-16 : \ - (r) <= 18 ? (r)+10 : (r)-10]) + (((unsigned long *)regs)[(r) <= 8 ? (r) : (r) <= 15 ? (r)-17 : \ + (r) <= 18 ? (r)+11 : (r)-10]) asmlinkage void do_page_fault(unsigned long address, unsigned long mmcsr, |
