NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

PR/59327 CVS commit: src



The following reply was made to PR kern/59327; it has been noted by GNATS.

From: "Taylor R Campbell" <riastradh%netbsd.org@localhost>
To: gnats-bugs%gnats.NetBSD.org@localhost
Cc: 
Subject: PR/59327 CVS commit: src
Date: Fri, 25 Apr 2025 00:26:59 +0000

 Module Name:	src
 Committed By:	riastradh
 Date:		Fri Apr 25 00:26:59 UTC 2025
 
 Modified Files:
 	src/sys/arch/mips/include: frame.h mips_param.h
 	src/sys/arch/mips/mips: compat_16_machdep.c netbsd32_machdep.c
 	    sig_machdep.c
 	src/tests/kernel: t_signal_and_sp.c
 
 Log Message:
 mips: Align stack pointer on entry to signal handler.
 
 Based on a patch by rin@.  The variant approach I took puts the stack
 frame allocation and alignment logic in one place (getframe, used by
 sendsig_siginfo for native (n64, on mips), netbsd32_sendsig_siginfo
 for compat32 (n32/o32, on mips), and sendsig_sigcontext (compat 1.6))
 and reduces the chance of provoking compiler exploitation of
 undefined behaviour by doing arithmetic in uintptr_t rather than in
 pointers to large aligned structs.  This also ensures the resulting
 pointer is aligned for the object (struct siginfo_sigframe, struct
 siginfo_sigframe32, struct sigcontext), not just for the ABI stack
 alignment.
 
 PR kern/59327: user stack pointer is not aligned properly
 
 
 To generate a diff of this commit:
 cvs rdiff -u -r1.12 -r1.13 src/sys/arch/mips/include/frame.h
 cvs rdiff -u -r1.53 -r1.54 src/sys/arch/mips/include/mips_param.h
 cvs rdiff -u -r1.23 -r1.24 src/sys/arch/mips/mips/compat_16_machdep.c \
     src/sys/arch/mips/mips/netbsd32_machdep.c
 cvs rdiff -u -r1.25 -r1.26 src/sys/arch/mips/mips/sig_machdep.c
 cvs rdiff -u -r1.14 -r1.15 src/tests/kernel/t_signal_and_sp.c
 
 Please note that diffs are not public domain; they are subject to the
 copyright notices on the relevant files.
 


Home | Main Index | Thread Index | Old Index