NetBSD-Bugs archive

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

Re: port-hppa/56878 (hppa: kernel module lua fails to load)



The following reply was made to PR port-hppa/56878; it has been noted by GNATS.

From: Tom Lane <tgl%sss.pgh.pa.us@localhost>
To: gnats-bugs%netbsd.org@localhost
Cc: port-hppa-maintainer%netbsd.org@localhost
Subject: Re: port-hppa/56878 (hppa: kernel module lua fails to load)
Date: Wed, 15 Jun 2022 14:12:54 -0400

 Nick Hudson writes:
 > Provide a __canonicalize_funcptr_for_compare which only needs to return
 > the passed value as the kernel doesn't do PLABELS.
 
 Hmmm ... surely that should be
 
 Index: sys/lib/libkern/arch/hppa/milli_extra.S
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
 =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
 RCS file: /cvsroot/src/sys/lib/libkern/arch/hppa/milli_extra.S,v
 retrieving revision 1.1
 diff -u -r1.1 milli_extra.S
 --- sys/lib/libkern/arch/hppa/milli_extra.S     13 Jun 2022 16:03:07 -0000=
       1.1
 +++ sys/lib/libkern/arch/hppa/milli_extra.S     15 Jun 2022 17:58:02 -0000
 @@ -37,6 +37,6 @@
         .entry
  =
 
  MILLI_ENTRY(__canonicalize_funcptr_for_compare)
 -       bv      %r0(%sp)
 +       bv      %r0(%rp)
          copy   %arg0, %ret0
  EXIT(__canonicalize_funcptr_for_compare)
 
 ???  I am not sure how come the lua test is managing to pass with
 your version, but what I'm seeing is that lots of the tests that
 use a rump kernel are falling over rather badly.  As an example,
 
 $ cd /usr/tests
 $ atf-run net/icmp/t_ping:floodping2
 ...
 tp-start: 1655314910.933652, net/icmp/t_ping, 1
 tc-start: 1655314910.934813, floodping2
 tc-se:Test program crashed; attempting to get stack trace
 tc-se:[New process 11219]
 tc-se:Core was generated by `t_ping'.
 tc-se:Program terminated with signal SIGSEGV, Segmentation fault.
 tc-se:#0  0xb0002180 in ?? ()
 tc-se:#0  0xb0002180 in ?? ()
 tc-se:#1  0xae8c9af8 in sysctl_createv (log=3D0x0, cflags=3D<optimized out=
 >, rnode=3D<optimized out>, cnode=3D0xb0001ec8, flags=3D16777729, type=3D<=
 optimized out>, namep=3D<optimized out>, descr=3D<optimized out>, func=3D<=
 optimized out>, qv=3D<optimized out>, newp=3D<optimized out>, newlen=3D<op=
 timized out>) at /home/tgl/netbsd-H-202206150250Z/usr/src/lib/librump/../.=
 ./sys/rump/../kern/kern_sysctl.c:2090
 tc-se:#2  0xae84e838 in sysctl_security_suser_setup (clog=3D0x0) at /home/=
 tgl/netbsd-H-202206150250Z/usr/src/lib/librump/../../sys/rump/../secmodel/=
 suser/secmodel_suser.c:69
 tc-se:#3  0xae8c8784 in sysctl_init () at /home/tgl/netbsd-H-202206150250Z=
 /usr/src/lib/librump/../../sys/rump/../kern/kern_sysctl.c:245
 tc-se:#4  0xae90d4c8 in rump_init_callback (cpuinit_callback=3D0x0) at /ho=
 me/tgl/netbsd-H-202206150250Z/usr/src/lib/librump/../../sys/rump/librump/r=
 umpkern/rump.c:307
 tc-se:#5  0xae90ddc0 in rump_init () at /home/tgl/netbsd-H-202206150250Z/u=
 sr/src/lib/librump/../../sys/rump/librump/rumpkern/rump.c:507
 tc-se:#6  0x0001231c in atfu_floodping2_body (tc=3D<optimized out>) at /ho=
 me/tgl/netbsd-H-202206150250Z/usr/src/tests/net/icmp/t_ping.c:253
 tc-se:#7  0xad80bc7c in atf_tc_run (tc=3D<optimized out>, resfile=3D<optim=
 ized out>) at /home/tgl/netbsd-H-202206150250Z/usr/src/external/bsd/atf/di=
 st/atf-c/tc.c:1024
 
 Poking about with gdb confirms that this crash is occuring at
 a function pointer comparison.  (BTW, I wonder how that code
 worked at all before this patch.)
 
 			regards, tom lane
 


Home | Main Index | Thread Index | Old Index