OpenSolaris

Printable Version Enter a New Search
Bug ID 6810814
Synopsis panic in proto_info_req() because of dsp->ds_mch is NULL
State 10-Fix Delivered (Fix available in build)
Category:Subcategory kernel:gld
Keywords NEW
Responsible Engineer Sebastien Roy
Reported Against
Duplicate Of
Introduced In solaris_nevada
Commit to Fix snv_111
Fixed In snv_111
Release Fixed solaris_nevada(snv_111)
Related Bugs 6797256
Submit Date 26-February-2009
Last Update Date 25-March-2009
Description
I ran into a panic when running GLDv3 test suite. Specifically, it panicked here:

> $C
000002a100bd4f01 mac_client_vid+4(0, 600109dc296, 0, ff, 0, 1912c00)
000002a100bd5041 proto_info_req+0x128(600113795f8, 2a100bd58f0, 7bf0c910, 
30025d6ae50, 3018d7e16e0, 600109dc230)
000002a100bd5111 dld_wput_nondata_task+0x74(60011379698, 3000984d240, 7bf0cb80, 
600113795f8, f749100, 7bf0c800)
000002a100bd51c1 taskq_d_thread+0xbc(3000984d250, 600102e92d8, 3000984d240, 
60010011598, 7bf0bc18, 18be2c8)
000002a100bd5291 thread_start+4(600102e92d8, 0, baddcafebaddcafe, 
baddcafebaddcafe, baddcafebaddcafe, baddcafebaddcafe)
> ::status
debugging crash dump vmcore.39 (64-bit) from data1
operating system: 5.11 onnv-clone (sun4u)
panic message: 
BAD TRAP: type=31 rp=2a100bd5660 addr=178 mmu_fsr=0 occurred in module "mac" due
 to a NULL pointer dereference
dump content: kernel pages only
> $C
000002a100bd4f01 mac_client_vid+4(0, 600109dc296, 0, ff, 0, 1912c00)
000002a100bd5041 proto_info_req+0x128(600113795f8, 2a100bd58f0, 7bf0c910, 
30025d6ae50, 3018d7e16e0, 600109dc230)
000002a100bd5111 dld_wput_nondata_task+0x74(60011379698, 3000984d240, 7bf0cb80, 
600113795f8, f749100, 7bf0c800)
000002a100bd51c1 taskq_d_thread+0xbc(3000984d250, 600102e92d8, 3000984d240, 
60010011598, 7bf0bc18, 18be2c8)
000002a100bd5291 thread_start+4(600102e92d8, 0, baddcafebaddcafe, 
baddcafebaddcafe, baddcafebaddcafe, baddcafebaddcafe)

It is due to NULL dsp->ds_mch in the following code:

        /* Only VLAN links and links that have a normal tag mode support QOS. */
        if (mac_client_vid(dsp->ds_mch) != VLAN_ID_NONE ||
            dsp->ds_dlp->dl_tagmode == LINK_TAGMODE_NORMAL) {
		...
	}

Note that at this time, dsp->ds_mch is NULL.
Work Around
N/A
Comments
N/A