subbsd wrote: > Julian Elischer wrote: >>> subbsd wrote: >>>> Hello maillist >>>> >>>> ive got sililar problem like http://lists.freebsd.org/pipermail/freebsd- >>>> virtualization/2008-May/000010.html >>>> >>> is this -current or 8-beta3? and if current, how new? >>> _______________________________________________ >>> freebsd-current_at_freebsd.org mailing list >>> http://lists.freebsd.org/mailman/listinfo/freebsd-current >>> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org" >> sorry should have read hte subject line! >> >> any chance you can try a -current kernel? >> >> there are some fixes there that will go in to 8.x soon. > > Yes, jumping to > > kern.osrelease: 9.0-CURRENT > kern.osrevision: 199506 > > fix problem with lockd. > > But net/skype (running without root privileges) application make kernel panic > anyway with VIMAGE options. > ... > ah intersting.. yes I can see what the problem is.. thanks.. try the attached patch and get back to me.. Index: compat/linux/linux_ioctl.c =================================================================== --- compat/linux/linux_ioctl.c (revision 196425) +++ compat/linux/linux_ioctl.c (working copy) _at__at_ -2067,16 +2067,20 _at__at_ /* Determine the (relative) unit number for ethernet interfaces */ ethno = 0; + + CURVNET_SET(TD_TO_VNET(curthread)); IFNET_RLOCK(); TAILQ_FOREACH(ifscan, &V_ifnet, if_link) { if (ifscan == ifp) { IFNET_RUNLOCK(); + CURVNET_RESTORE(); return (snprintf(buffer, buflen, "eth%d", ethno)); } if (IFP_IS_ETH(ifscan)) ethno++; } IFNET_RUNLOCK(); + CURVNET_RESTORE(); return (0); } _at__at_ -2106,6 +2110,7 _at__at_ return (NULL); index = 0; is_eth = (len == 3 && !strncmp(lxname, "eth", len)) ? 1 : 0; + CURVNET_SET(TD_TO_VNET(curthread)); IFNET_RLOCK(); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { /* _at__at_ -2119,6 +2124,7 _at__at_ break; } IFNET_RUNLOCK(); + CURVNET_RESTORE(); if (ifp != NULL) strlcpy(bsdname, ifp->if_xname, IFNAMSIZ); return (ifp); _at__at_ -2151,6 +2157,8 _at__at_ /* handle the 'request buffer size' case */ if (ifc.ifc_buf == PTROUT(NULL)) { ifc.ifc_len = 0; + CURVNET_SET(TD_TO_VNET(curthread)); + IFNET_RLOCK(); TAILQ_FOREACH(ifp, &V_ifnet, if_link) { TAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) { struct sockaddr *sa = ifa->ifa_addr; _at__at_ -2158,6 +2166,8 _at__at_ ifc.ifc_len += sizeof(ifr); } } + IFNET_RUNLOCK(); + CURVNET_RESTORE(); error = copyout(&ifc, uifc, sizeof(ifc)); return (error); } _at__at_ -2177,6 +2187,7 _at__at_ valid_len = 0; /* Return all AF_INET addresses of all interfaces */ + CURVNET_SET(TD_TO_VNET(curthread)); IFNET_RLOCK(); /* could sleep XXX */ TAILQ_FOREACH(ifp, &V_ifnet, if_link) { int addrs = 0; _at__at_ -2214,6 +2225,7 _at__at_ } } IFNET_RUNLOCK(); + CURVNET_RESTORE(); if (valid_len != max_len && !full) { sbuf_delete(sb);Received on Wed Aug 26 2009 - 15:25:40 UTC
This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:39:54 UTC