Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2018 15:25:07 +0000
From:      bugzilla-noreply@freebsd.org
To:        bugs@FreeBSD.org
Subject:   [Bug 230845] VIMAGE regression: breaks netfront suspend/resume
Message-ID:  <bug-230845-227@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D230845

            Bug ID: 230845
           Summary: VIMAGE regression: breaks netfront suspend/resume
           Product: Base System
           Version: CURRENT
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: kern
          Assignee: bugs@FreeBSD.org
          Reporter: royger@freebsd.org

Hello,

It seems like some VIMAGE changes have broken netfront suspend/resume, here=
 is
the trace on resume from suspension:

Fatal trap 12: page fault while in kernel mode
cpuid =3D 0; apic id =3D 00
fault virtual address   =3D 0x28
fault code              =3D supervisor read data, page not present
instruction pointer     =3D 0x20:0xffffffff80c92f18
stack pointer           =3D 0x28:0xfffffe0000571670
frame pointer           =3D 0x28:0xfffffe0000571690
code segment            =3D base 0x0, limit 0xfffff, type 0x1b
                        =3D DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        =3D interrupt enabled, resume, IOPL =3D 0
current process         =3D 16 (xenwatch)

Tracing pid 16 tid 100074 td 0xfffff80003890580
ether_output_frame() at ether_output_frame+0x58/frame 0xfffffe0000571690
ether_output() at ether_output+0x68b/frame 0xfffffe0000571730
arprequest() at arprequest+0x444/frame 0xfffffe0000571840
arp_ifinit() at arp_ifinit+0x58/frame 0xfffffe0000571880
netfront_backend_changed() at netfront_backend_changed+0x1b4/frame
0xfffffe0000571940
xenwatch_thread() at xenwatch_thread+0x182/frame 0xfffffe0000571970
fork_exit() at fork_exit+0x84/frame 0xfffffe00005719b0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe00005719b0

The code that triggers the bug in netfront is:

/**
 * If this interface has an ipv4 address, send an arp for it. This
 * helps to get the network going again after migrating hosts.
 */
static void
netfront_send_fake_arp(device_t dev, struct netfront_info *info)
{
        struct ifnet *ifp;
        struct ifaddr *ifa;

        ifp =3D info->xn_ifp;
        CK_STAILQ_FOREACH(ifa, &ifp->if_addrhead, ifa_link) {
                if (ifa->ifa_addr->sa_family =3D=3D AF_INET) {
                        arp_ifinit(ifp, ifa);
                }
        }
}

I really have no idea of what's missing here, so any help by people involved
with VIMAGE in order to fix this regression would be greatly appreciated.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-230845-227>