before the return, the new return address would be added to the hardware stack, even if the stack were already full.
To allow the CPU to complete the return, interrupts are also blocked after a RET instruction until at least one instruction at the return address is executed.