On Tue, 27 Jun 2023 09:47:01 +0200 Thomas Huth <th...@redhat.com> wrote:
> Providing the space of a stack frame is the duty of the caller, > so we should reserve 160 bytes before jumping into the main function. > Otherwise the main() function might write past the stack array. > > While we're at it, add a proper STACK_SIZE macro for the stack size > instead of using magic numbers (this is also required for the following > patch). > > Reviewed-by: Christian Borntraeger <borntrae...@linux.ibm.com> > Reviewed-by: Cédric Le Goater <c...@redhat.com> > Signed-off-by: Thomas Huth <th...@redhat.com> with Marc's suggestion applied: Reviewed-by: Claudio Imbrenda <imbre...@linux.ibm.com> > --- > pc-bios/s390-ccw/start.S | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S > index d29de09cc6..29b0a9ece0 100644 > --- a/pc-bios/s390-ccw/start.S > +++ b/pc-bios/s390-ccw/start.S > @@ -10,10 +10,12 @@ > * directory. > */ > > +#define STACK_SIZE 0x8000 > + > .globl _start > _start: > > - larl %r15,stack + 0x8000 /* Set up stack */ > + larl %r15,stack + STACK_SIZE - 160 /* Set up stack */ > > /* clear bss */ > larl %r2,__bss_start