Re: pmap attempts at copying to executable pages both on mips and powerpc/booke

Nick Hudson <[email protected]> Fri, 16 Sep 2016 22:02:12 +0100
Newsgroups gmane.os.netbsd.ports.mips.devel,gmane.os.netbsd.devel.kernel,gmane.os.netbsd.ports.powerpc
Message-ID <[email protected]>
On 09/16/16 14:19, Rin Okuyama wrote:
> I reported a reproducible failure of KASSERT on powerpc/booke in which
> destination of pmap_copy_page(9) is executable:
>
> https://mail-index.netbsd.org/port-powerpc/2016/09/11/msg003498.html
>
> By adding the similar KASSERTs to mips kernel, I observed the same
> failure on ERLITE (evbmips64-eb):
>
>   # uname -mpr
>   7.99.38 evbmips mips64eb
>   # cd /usr/pkgsrc/lang/perl5; make
>   (snip)
>   => Checking for portability problems in extracted files
>   (snip)
>   Use which C compiler? [gcc]
>   execve_loadvm: check exec failed 8
>   execve_loadvm: check exec failed 8
>   execve_loadvm: check exec failed 8
>   execve_loadvm: check exec failed 8
>   Checking for GNU cc in disguise and/or its version number...
>   panic: kernel diagnostic assertion 
> "!VM_PAGEMD_EXECPAGE_P(VM_PAGE_TO_MD(dst_pg))" failed: file 
> "/var/build/src/sys/arch/mips/mips/pmap_machdep.c", line 628
>   kernel: breakpoint trap
>   Stopped in pid 2328.1 (sed) at  netbsd:cpu_Debugger+0x4: jr      ra
>                   bdslot: nop
>
  Matt fixed it with src/sys/uvm/pmap/pmap.c:1.22

Nick