Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 29 Jul 2004 19:00:24 GMT
From:      Doug White <dwhite@gumbysoft.com>
To:        freebsd-bugs@FreeBSD.org
Subject:   Re: kern/69752: LOR in sk(4) when booting
Message-ID:  <200407291900.i6TJ0O1s071977@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/69752; it has been noted by GNATS.

From: Doug White <dwhite@gumbysoft.com>
To: Maxim Maximov <mcsi@mcsi.pp.ru>
Cc: "Bjoern A. Zeeb" <bzeeb-lists@lists.zabbadoz.net>,
	freebsd-gnats-submit@FreeBSD.org, freebsd-bugs@FreeBSD.org
Subject: Re: kern/69752: LOR in sk(4) when booting
Date: Thu, 29 Jul 2004 11:53:33 -0700 (PDT)

 On Thu, 29 Jul 2004, Maxim Maximov wrote:
 
 > > Which LORs are you getting? The patch should get rid of a number of them.
 > > I think I have some additional patches at home to clean up some of the
 > > other bits.
 > >
 >
 > This is the one and only I saw. And it is still there even after
 > applying your patch.
 
 Wierd. I thought I dropped the lock across child attach.  If I get back to
 revising the patch I'll try to confirm this.
 
 99% of the LORs on skc0 are harmless; skc used to grab the lock in the
 beginning of every function and hold it for the duration, even though it
 wasn't necessarily protecting anything.
 
 >
 > lock order reversal
 >   1st 0xc1b8f8c0 skc0 (network driver) @ /usr/src/sys/pci/if_sk.c:673
 >   2nd 0xc08d4d00 kernel environment (kernel environment) @
 > /usr/src/sys/kern/kern_environment.c:285
 > KDB: stack backtrace:
 > kdb_backtrace(0,ffffffff,c08e1b78,c08e2500,c0871a38) at kdb_backtrace+0x29
 > witness_checkorder(c08d4d00,1,c080fc8c,11d) at witness_checkorder+0x544
 > _sx_slock(c08d4d00,c080fc8c,11d,c0c21878,a) at _sx_slock+0x50
 > getenv(c07f60de,c1bd1470,c1b8f900,c1b8f900,0) at getenv+0x2f
 > getenv_quad(c07f60de,c0c218b8,c083ae90,c083ae90,c0c218e0) at
 > getenv_quad+0x11
 > getenv_int(c07f60de,c08cb2c8,c083ae90,c1b8f900,c1b8f900) at getenv_int+0x12
 > e1000phy_attach(c1b8f900) at e1000phy_attach+0x18
 > device_attach(c1b8f900,c0651a34,c1b8f900,c1bbe8c0,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f900) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f700,c1bbe8c0,f0000000,c0718104,c0718134) at
 > bus_generic_attach+0x16
 > miibus_attach(c1b8f700) at miibus_attach+0x3d
 > device_attach(c1b8f700,c0716fcc,c1b8f700,0,c1b8f780) at device_attach+0x58
 > device_probe_and_attach(c1b8f700) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f780,c1b8f8c0,c1bce000,c1bce000,c0c219d8) at
 > bus_generic_attach+0x16
 > mii_phy_probe(c1b8f780,c1bce234,c0718104,c0718134) at mii_phy_probe+0xd4
 > sk_attach(c1b8f780) at sk_attach+0x379
 > device_attach(c1b8f780,c1b8fb00,c1b8f780,c1b8f880,c1b8fc00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8f780) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fc00,0,1700,0,c1b8fc00) at bus_generic_attach+0x16
 > skc_attach(c1b8fc00) at skc_attach+0x3ce
 > device_attach(c1b8fc00,c1a93060,c1b8fc00,c1b8fb00,c1b8fb00) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8fc00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8fb00,6,c1a93060,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8fb00) at acpi_pci_attach+0xec
 > device_attach(c1b8fb00,c1b8f480,c1b8fb00,c1b8a980,0) at device_attach+0x58
 > device_probe_and_attach(c1b8fb00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8a980,c1b8a980,c1bbf5f0,2,c0a25dcd) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1b8a980,c1bbf5f0,2,c1b8a980,c1a93060) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_pci_attach(c1b8a980) at acpi_pcib_pci_attach+0x88
 > device_attach(c1b8a980,c1b8a900,c1b8a980,c1b8f480,c1b8f480) at
 > device_attach+0x58
 > device_probe_and_attach(c1b8a980) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1b8f480,6,c1a425c0,1,c0a26154) at
 > bus_generic_attach+0x16
 > acpi_pci_attach(c1b8f480) at acpi_pci_attach+0xec
 > device_attach(c1b8f480,c1ad9600,c1b8f480,c1a6da00,0) at device_attach+0x58
 > device_probe_and_attach(c1b8f480) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1a6da00,c1a6da00,c1b801d4,0,0) at
 > bus_generic_attach+0x16
 > acpi_pcib_attach(c1a6da00,c1b801d4,0,c0c21c5c,c0654ca0) at
 > acpi_pcib_attach+0x14e
 > acpi_pcib_acpi_attach(c1a6da00) at acpi_pcib_acpi_attach+0x20a
 > device_attach(c1a6da00,c0a3c948,c1a6da00,c1ad9600,0) at device_attach+0x58
 > device_probe_and_attach(c1a6da00) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9600,c1ad9600,c1a50160,1,c1ad9580) at
 > bus_generic_attach+0x16
 > acpi_probe_children(c1ad9600,1ae90,c1ad9600,c1ad9600,0) at
 > acpi_probe_children+0x63
 > acpi_attach(c1ad9600) at acpi_attach+0x52b
 > device_attach(c1ad9600,c0a3bae0,c1ad9600,c1ad9780,0) at device_attach+0x58
 > device_probe_and_attach(c1ad9600) at device_probe_and_attach+0xb4
 > bus_generic_attach(c1ad9780,c1ad9780,c1ad9780,c0c21d44,c06510a0) at
 > bus_generic_attach+0x16
 > nexus_attach(c1ad9780) at nexus_attach+0x13
 > device_attach(c1ad9780,c08a85f0,c1ad9780,c08a85f0,c29000) at
 > device_attach+0x58
 > device_probe_and_attach(c1ad9780) at device_probe_and_attach+0xb4
 > root_bus_configure(c1ad9c80,c082edbc,0) at root_bus_configure+0x16
 > configure(0,c1ec00,c1e000,0,c0443195) at configure+0x1b
 > mi_startup() at mi_startup+0x96
 > begin() at begin+0x2c
 >
 >
 
 -- 
 Doug White                    |  FreeBSD: The Power to Serve
 dwhite@gumbysoft.com          |  www.FreeBSD.org



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