|
Description
|
There is a race between network rcm module and the softmac kernel module when a
physical device is attached. In particular, when the device note is attached, the
kernel generates a ESC_DEVFS_DEVI_ADD event which is consumed by devfsadmd, and
devfsadmd in turn calls rcm_notify_event() to inform the RCM framework of the new
device. This RCM event is consumed by network_rcm module, which calls dladm_dev2linkid()
to get the device's accociated linkid.
But because the ESC_DEVFS_DEVI_ADD event is generated before the post_attach routine
of the device, which requests the dlmgmtd to allocate the device's linkid, so there is
a chance that when the network_rcm module calls dladm_dev2linkid() function, dlmgmtd
is not aware of this new device yet.
This race will become more obvious with the fix of 6696737, since the upcall to
allocate the linkid will be done through a taskq.
|