dc's stack breaks when doing modulo-0

Denys Vlasenko vda.linux at googlemail.com
Thu May 16 07:41:20 UTC 2019


ok

On Sat, May 11, 2019 at 2:47 AM Markus Gothe <nietzsche at lysator.liu.se> wrote:
>
> You're right; I did dig into this and it seems to be a (MIPS-)kernel issue indeed.
>
> However I think it would be nice to fix this in busybox as well as we cannot know if there is a buggy kernel or not because different architectures handles the exception in different ways; if it would have been fixed on latest kernel named X for architecture Y there is no warranties about kernel X+N for architecture Z.
>
> See my point of handling it in user-space as well?
>
> //M
>
> Sent from my BlackBerry — the most secure mobile device
>
>
>           Original Message
>
>
>
> From: vda.linux at googlemail.com
> Sent: 9 May 2019 15:50
> To: nietzsche at lysator.liu.se
> Cc: busybox at busybox.net
> Subject: Re: dc's stack breaks when doing modulo-0
>
>
> On Wed, May 8, 2019 at 7:31 PM Markus Gothe <nietzsche at lysator.liu.se> wrote:
> > dc -e '4 0 % p' mess up the stack so bad that my MIPS kernel traps it and reboots.
>
> $ strace ./busybox dc -e '4 0 % p'
> execve("./busybox", ["./busybox", "dc", "-e", "4 0 % p"],
> 0x7ffd62d779e8 /* 53 vars */) = 0
> strace: [ Process PID=28924 runs in 32 bit mode. ]
> ioctl(0, TCGETS, {B38400 opost isig icanon echo ...}) = 0
> ioctl(1, TCGETS, {B38400 opost isig icanon echo ...}) = 0
> prctl(PR_SET_NAME, "busybox")           = 0
> getuid32()                              = 0
> --- SIGFPE {si_signo=SIGFPE, si_code=FPE_INTDIV, si_addr=0x8048600} ---
> +++ killed by SIGFPE (core dumped) +++
>
> Please report to your kernel's MIPS people that their signal handling is broken.
> I would imagine they definitely do not want that to persist.


More information about the busybox mailing list