Re: 3.16.55-stable breaks yeeloong

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

 



On Mon, 19 Mar 2018, Maciej W. Rozycki wrote:

> > > Commit 304acb717e5b67cf56f05bc5b21123758e1f7ea0 AKA
> > > https://patchwork.linux-mips.org/patch/9705/ was backported to 3.16.55
> > > stable as 8605aa2fea28c0485aeb60c114a9d52df1455915 and I'm afraid it
> > > causes yeeloongs to fail to boot up.  3.16.54 was fine; bisection took
> > > me to this patch.
[...]
> > Guenter Roeck reported the same problem on QEMU Malta emulation.
> > I haven't yet ivnestigated why this causes breakage.  I will aim to fix
> > this in the next update (will be 3.16.57 now), if necessary by
> > reverting that and whatever depends on it.
> 
>  I'll see if I can trigger it with my development setup and investigate.

 OK, I have been able to reproduce the crash and I can see what is going 
on here: the backport didn't take into account a change from `break' to 
`goto out' required for code in `do_cpu' in that old version and 
consequently `force_sig(SIGILL, current)' is reached whenever the first 
FPU instruction is executed on hard-float hardware, with obvious 
consequences.

 Rather than messing with commit 304acb717e5b ("MIPS: Set `si_code' for 
SIGFPE signals sent from emulation too") though, I suggest cherry-picking 
commit 27e28e8ec47a ("MIPS: Normalise code flow in the CpU exception 
handler"), which was in the original series and which I have verified to 
remove the crash.  I believe it is obvious enough to be considered safe to 
backport.

 Please let me know if you need anything else from me.

  Maciej


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux