> Can someone take a look of of the fixes of the following bugs:
>
> 6729044 race between network_rcm and softmac when a physical device is
> attached
> 6696737 ndi_devi_enter() can deadlock with stopped threads, hanging system
> 6729144 dlmgmtd process_db_write() leaks dlmgmt_link_t
>
> The webrev is here:
>
> http://cr.opensolaris.org/~yun/webrev_6729044/
>
> If you have the swan access, this is the internal link:
>
> http://jurassic.sfbay/net/lido.sfbay/export/home/cathy/onnv-bugfix/webrev_internal/
>
> The cscope is build in
>
> /net/lido.sfbay/export/home/cathy/onnv-bugfix/usr/src/
This looks great. A few small things:
cmd/devfsadm/devfsadm.c:
* After your changes, looks like the RCM_* and MISSING_SYMBOLS
#defines can be removed from cmd/devfsadm/message.h.
cmd/syseventd/modules/Makefile:
* 37: List was previously alphabetically sorted.
lib/libdevinfo/device_info.h:
* 182: Should probably keep a commented-out 0x00000020 here
so it's clear this flag value can be recycled.
cmd/syseventd/modules/datalink_mod/datalink_mod.c:
* 36: I presume <string.h> was meant?
* 39: Seems like <errno.h> should be included.
* 70: Why 10 instead of SE_MAX_RETRY_LIMIT?
cmd/dlmgmtd/dlmgmt_db.c:
* 651: s/we've/we're/
cmd/dlmgmtd/dlmgmt_door.c:
* 77: Why define this function to return a value, then ignore
the return value? And why isn't this function `static'?
* 78: Prefer `const char *subclass'.
* 88: Will this `goto done' work correctly if nvlist_alloc()
fails? Seems like the `nvl' passed into nvlist_free()
may be uninitialized.
* 94: Would prefer `progname' over a hardcoded "dlmgmtd".
* 207: s/datalink/the datalink/
* 208: s/notify/generates/ s/new_link/RCM_RESOURCE_LINK_NEW/
* 215: Is there a need for the sysevent to be generated while
the table is locked? If not, can we move the unlock up to
line 201?
cmd/rcm_daemon/common/network_rcm.c:
* 59-61: PROP_NV_DDI_NETWORK no longer needed.
* 83-88: devfs_minor_data no longer needed.
* 807-811: This comment needs to be revised (e.g., we no longer
pass up events for the resources here).
lib/libdladm/common/libdllink.h:
* This constant seems out-of-place, both in name and purpose;
seems like it should be under <sys/sysevent/>. Also, the
comment says it's used for RCM, but it seems like that use
is covered by RCM_NV_LINKID.
lib/libdladm/common/libdlmgmt.h:
* This file appears to be unchanged.
uts/common/io/softmac/softmac_main.c:
* Comment on lines 296-297 seems redundant given 276-277.
* 292-294: I'm confused by the comment here -- no upcalls when
the device is attached, or when it's being attached?
* 415: s/First provide/Provide/
* 417: We no longer explain the EBADF logic (and why does ENOENT
no longer apply?)
cmd/dlmgmtd/Makefile:
cmd/syseventd/modules/datalink_mod/Makefile:
cmd/rcm_daemon/common/aggr_rcm.c:
cmd/rcm_daemon/common/ip_rcm.c:
cmd/rcm_daemon/common/vlan_rcm.c:
pkgdefs/SUNWcsu/prototype_com
lib/librcm/librcm.h:
lib/libdladm/common/libdllink.c:
* No comments.
--
meem