On 22 March 2018 at 11:05, Peter Maydell <[email protected]> wrote: > On 22 March 2018 at 10:36, Laurent Vivier <[email protected]> wrote: >> It goes wrong in this part: >> >> + */ >> + if (is_write && info->si_signo == SIGSEGV && info->si_code == >> SEGV_ACCERR && >> + h2g_valid(address)) { >> >> Because, on ppc, si_code is SEGV_MAPERR and not SEGV_ACCERR >> (on x86_64, si_code is SEGV_ACCERR as expected) > > So on PPC if you have a page mapped, and you access it with > the wrong permissions, you get SEGV_MAPERR? This seems like > a host kernel bug to me.
...in particular, kernel commit ecb101aed86156e (dated Dec 2017) fixes a regression introduced in commit c3350602e876 that broke the ppc kernels so they started returning SEGV_MAPERR here instead of SEGV_ACCERR. Presumably your host kernel is missing this fix. thanks -- PMM
