kern/73038: if_sk.c seems to need IFF_NEEDSGIANT on 5.3-BETA/RC1

Arjan de Vet devet at devet.org
Thu Nov 4 01:32:23 PST 2004


I'm happy to report that the following patch by Peter Edwards (posted to
a.o. current) fixes the symptoms I reported. My sk0 interface is now
running 12+ hours without debug.mpsafenet=0 in /boot/loader.conf without
problems.

From: Peter Edwards <peadar.edwards at gmail.com>
CC: FreeBSD current mailing list <current at freebsd.org>
CC: freebsd-amd64 at freebsd.org
Subject: Re: if_sk patch to get more info from people with problems

[...]

--- /tmp/if_sk.c        Tue Nov  2 17:49:26 2004
+++ if_sk.c     Tue Nov  2 17:52:20 2004
@@ -1115,12 +1115,14 @@
        if ((i < 0) || (i >= SK_JSLOTS))
                panic("sk_jfree: asked to free buffer that we don't manage!");
 
+       SK_LOCK(sc_if->sk_softc);
        entry = SLIST_FIRST(&sc_if->sk_jinuse_listhead);
        if (entry == NULL)
                panic("sk_jfree: buffer not in use!");
        entry->slot = i;
        SLIST_REMOVE_HEAD(&sc_if->sk_jinuse_listhead, jpool_entries);
        SLIST_INSERT_HEAD(&sc_if->sk_jfree_listhead, entry, jpool_entries);
+       SK_UNLOCK(sc_if->sk_softc);
 
        return;
 }

Arjan

-- 
Arjan de Vet, Eindhoven, The Netherlands               <devet at devet.org>
URL : http://www.devet.org/                     <Arjan.deVet at adv.iae.nl>
Work: http://www.madison-gurkha.com/  (Security, Open Source, Education)


More information about the freebsd-bugs mailing list