Print this page
6659 nvlist_free(NULL) is a no-op

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/os/damap.c
          +++ new/usr/src/uts/common/os/damap.c
↓ open down ↓ 1102 lines elided ↑ open up ↑
1103 1103                      ddi_strid_id2str(mapp->dam_addr_hash, addrid),
1104 1104                      addrid, passp->da_ppriv, deact_rsn);
1105 1105  
1106 1106          /*
1107 1107           * clear the active bit and free the backing info for
1108 1108           * this address
1109 1109           */
1110 1110          mutex_enter(&mapp->dam_lock);
1111 1111          bitset_del(&mapp->dam_active_set, addrid);
1112 1112          passp->da_ppriv = NULL;
1113      -        if (passp->da_nvl)
1114      -                nvlist_free(passp->da_nvl);
     1113 +        nvlist_free(passp->da_nvl);
1115 1114          passp->da_nvl = NULL;
1116 1115          passp->da_ppriv_rpt = NULL;
1117      -        if (passp->da_nvl_rpt)
1118      -                nvlist_free(passp->da_nvl_rpt);
     1116 +        nvlist_free(passp->da_nvl_rpt);
1119 1117          passp->da_nvl_rpt = NULL;
1120 1118  
1121 1119          DTRACE_PROBE3(damap__addr__deactivate__end,
1122 1120              char *, mapp->dam_name, dam_t *, mapp,
1123 1121              char *, addrstr);
1124 1122  
1125 1123          (void) dam_addr_release(mapp, addrid);
1126 1124          mutex_exit(&mapp->dam_lock);
1127 1125  }
1128 1126  
↓ open down ↓ 522 lines elided ↑ open up ↑
1651 1649          bitset_del(&mapp->dam_report_set, addrid);
1652 1650          if (!DAM_IS_STABLE(mapp, addrid) && mapp->dam_deactivate_cb &&
1653 1651              passp->da_ppriv_rpt) {
1654 1652                  mutex_exit(&mapp->dam_lock);
1655 1653                  (*mapp->dam_deactivate_cb)(mapp->dam_activate_arg,
1656 1654                      ddi_strid_id2str(mapp->dam_addr_hash, addrid),
1657 1655                      addrid, passp->da_ppriv_rpt, DAMAP_DEACT_RSN_UNSTBL);
1658 1656                  mutex_enter(&mapp->dam_lock);
1659 1657          }
1660 1658          passp->da_ppriv_rpt = NULL;
1661      -        if (passp->da_nvl_rpt)
1662      -                nvlist_free(passp->da_nvl_rpt);
     1659 +        nvlist_free(passp->da_nvl_rpt);
1663 1660  }
1664 1661  
1665 1662  /*
1666 1663   * return the map ID of an address
1667 1664   */
1668 1665  static id_t
1669 1666  dam_get_addrid(dam_t *mapp, char *address)
1670 1667  {
1671 1668          damap_id_t addrid;
1672 1669          dam_da_t *passp;
↓ open down ↓ 59 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX