diff options
author | Toomas Soome <tsoome@me.com> | 2019-01-26 15:34:48 +0200 |
---|---|---|
committer | Toomas Soome <tsoome@me.com> | 2019-07-30 21:17:54 +0300 |
commit | 46fbc806d6e97aff59942e61f3f01b8abc70b716 (patch) | |
tree | 80fa15c7d517f1fe72d644e523de3931f11947ed | |
parent | 5cffb2606ed604b9f1f45d061bc8aa92e0536f70 (diff) | |
download | illumos-joyent-46fbc806d6e97aff59942e61f3f01b8abc70b716.tar.gz |
11417 rcm_daemon: NULL pointer errors
Reviewed by: Andy Fiddaman <andy@omniosce.org>
Approved by: Dan McDonald <danmcd@joyent.com>
-rw-r--r-- | usr/src/cmd/rcm_daemon/common/aggr_rcm.c | 22 | ||||
-rw-r--r-- | usr/src/cmd/rcm_daemon/common/ip_rcm.c | 36 | ||||
-rw-r--r-- | usr/src/cmd/rcm_daemon/common/network_rcm.c | 2 | ||||
-rw-r--r-- | usr/src/cmd/rcm_daemon/common/rcm_subr.c | 14 |
4 files changed, 36 insertions, 38 deletions
diff --git a/usr/src/cmd/rcm_daemon/common/aggr_rcm.c b/usr/src/cmd/rcm_daemon/common/aggr_rcm.c index d2aa27d735..5810709ad1 100644 --- a/usr/src/cmd/rcm_daemon/common/aggr_rcm.c +++ b/usr/src/cmd/rcm_daemon/common/aggr_rcm.c @@ -126,13 +126,13 @@ static int aggr_configure_all(rcm_handle_t *, datalink_id_t, boolean_t *); /* Module private routines */ -static int cache_update(rcm_handle_t *); -static void cache_remove(link_cache_t *); -static void cache_insert(link_cache_t *); -static void node_free(link_cache_t *); -static void aggr_list_remove(dl_aggr_t *); -static void aggr_list_insert(dl_aggr_t *); -static void aggr_list_free(); +static int cache_update(rcm_handle_t *); +static void cache_remove(link_cache_t *); +static void cache_insert(link_cache_t *); +static void node_free(link_cache_t *); +static void aggr_list_remove(dl_aggr_t *); +static void aggr_list_insert(dl_aggr_t *); +static void aggr_list_free(); static link_cache_t *cache_lookup(rcm_handle_t *, char *, char); static int aggr_consumer_offline(rcm_handle_t *, link_cache_t *, char **, uint_t, rcm_info_t **); @@ -140,8 +140,8 @@ static int aggr_consumer_online(rcm_handle_t *, link_cache_t *, char **, uint_t, rcm_info_t **); static int aggr_offline_port(link_cache_t *, cache_node_state_t); static int aggr_online_port(link_cache_t *, boolean_t *); -static char *aggr_usage(link_cache_t *); -static void aggr_log_err(datalink_id_t, char **, char *); +static char *aggr_usage(link_cache_t *); +static void aggr_log_err(datalink_id_t, char **, char *); static int aggr_consumer_notify(rcm_handle_t *, datalink_id_t, char **, uint_t, rcm_info_t **); @@ -177,12 +177,12 @@ rcm_mod_init(void) cache_head.vc_prev = NULL; cache_tail.vc_prev = &cache_head; cache_tail.vc_next = NULL; - (void) mutex_init(&cache_lock, 0, NULL); + (void) mutex_init(&cache_lock, USYNC_THREAD, NULL); aggr_head.da_next = &aggr_tail; aggr_head.da_prev = NULL; aggr_tail.da_prev = &aggr_head; aggr_tail.da_next = NULL; - (void) mutex_init(&aggr_list_lock, NULL, NULL); + (void) mutex_init(&aggr_list_lock, USYNC_THREAD, NULL); if ((status = dladm_open(&dld_handle)) != DLADM_STATUS_OK) { rcm_log_message(RCM_WARNING, diff --git a/usr/src/cmd/rcm_daemon/common/ip_rcm.c b/usr/src/cmd/rcm_daemon/common/ip_rcm.c index 28bca35c24..a389fc770d 100644 --- a/usr/src/cmd/rcm_daemon/common/ip_rcm.c +++ b/usr/src/cmd/rcm_daemon/common/ip_rcm.c @@ -121,7 +121,7 @@ typedef struct ip_pif { typedef struct ip_lif { struct ip_lif *li_next; /* ptr to next lif */ - struct ip_lif *li_prev; /* previous next ptr */ + struct ip_lif *li_prev; /* previous next ptr */ ip_pif_t *li_pif; /* back ptr to phy int */ ushort_t li_ifnum; /* interface number */ union { @@ -180,20 +180,20 @@ static int ip_notify_event(rcm_handle_t *, char *, id_t, uint_t, char **, nvlist_t *, rcm_info_t **); /* Module private routines */ -static void free_cache(); -static int update_cache(rcm_handle_t *); -static void cache_remove(ip_cache_t *); +static void free_cache(); +static int update_cache(rcm_handle_t *); +static void cache_remove(ip_cache_t *); static ip_cache_t *cache_lookup(rcm_handle_t *, char *, char); -static void free_node(ip_cache_t *); -static void cache_insert(ip_cache_t *); -static char *ip_usage(ip_cache_t *); -static int update_pif(rcm_handle_t *, int, int, struct ifaddrs *); -static int ip_ipmp_offline(ip_cache_t *); +static void free_node(ip_cache_t *); +static void cache_insert(ip_cache_t *); +static char *ip_usage(ip_cache_t *); +static int update_pif(rcm_handle_t *, int, int, struct ifaddrs *); +static int ip_ipmp_offline(ip_cache_t *); static int ip_ipmp_undo_offline(ip_cache_t *); static int if_cfginfo(ip_cache_t *, uint_t); static int if_unplumb(ip_cache_t *); static int if_replumb(ip_cache_t *); -static void ip_log_err(ip_cache_t *, char **, char *); +static void ip_log_err(ip_cache_t *, char **, char *); static char *get_link_resource(const char *); static void clr_cfg_state(ip_pif_t *); static int modop(char *, char *, int, char); @@ -204,7 +204,7 @@ static int ip_onlinelist(rcm_handle_t *, ip_cache_t *, char **, uint_t, rcm_info_t **); static int ip_offlinelist(rcm_handle_t *, ip_cache_t *, char **, uint_t, rcm_info_t **); -static char **ip_get_addrlist(ip_cache_t *); +static char **ip_get_addrlist(ip_cache_t *); static void ip_free_addrlist(char **); static void ip_consumer_notify(rcm_handle_t *, datalink_id_t, char **, uint_t, rcm_info_t **); @@ -251,7 +251,7 @@ rcm_mod_init(void) cache_head.ip_prev = NULL; cache_tail.ip_prev = &cache_head; cache_tail.ip_next = NULL; - (void) mutex_init(&cache_lock, NULL, NULL); + (void) mutex_init(&cache_lock, USYNC_THREAD, NULL); if ((status = dladm_open(&dld_handle)) != DLADM_STATUS_OK) { rcm_log_message(RCM_WARNING, @@ -654,7 +654,7 @@ ip_get_info(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, /*ARGSUSED*/ static int ip_suspend(rcm_handle_t *hd, char *rsrc, id_t id, timespec_t *interval, - uint_t flags, char **errorp, rcm_info_t **depend_info) + uint_t flags, char **errorp, rcm_info_t **depend_info) { /* Guard against bad arguments */ assert(hd != NULL); @@ -674,7 +674,7 @@ ip_suspend(rcm_handle_t *hd, char *rsrc, id_t id, timespec_t *interval, /*ARGSUSED*/ static int ip_resume(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, - char **errorp, rcm_info_t ** depend_info) + char **errorp, rcm_info_t ** depend_info) { /* Guard against bad arguments */ assert(hd != NULL); @@ -694,7 +694,7 @@ ip_resume(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, /*ARGSUSED*/ static int ip_remove(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, - char **errorp, rcm_info_t **depend_info) + char **errorp, rcm_info_t **depend_info) { ip_cache_t *node; @@ -735,7 +735,7 @@ ip_remove(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, /*ARGSUSED*/ static int ip_notify_event(rcm_handle_t *hd, char *rsrc, id_t id, uint_t flags, - char **errorp, nvlist_t *nvl, rcm_info_t **depend_info) + char **errorp, nvlist_t *nvl, rcm_info_t **depend_info) { datalink_id_t linkid; nvpair_t *nvp = NULL; @@ -2091,7 +2091,7 @@ ip_plink(int mux_fd, int muxid_fd, int fd, struct lifreq *lifr) /*ARGSUSED*/ static int ip_onlinelist(rcm_handle_t *hd, ip_cache_t *node, char **errorp, uint_t flags, - rcm_info_t **depend_info) + rcm_info_t **depend_info) { char **addrlist; int ret = RCM_SUCCESS; @@ -2120,7 +2120,7 @@ ip_onlinelist(rcm_handle_t *hd, ip_cache_t *node, char **errorp, uint_t flags, /*ARGSUSED*/ static int ip_offlinelist(rcm_handle_t *hd, ip_cache_t *node, char **errorp, uint_t flags, - rcm_info_t **depend_info) + rcm_info_t **depend_info) { char **addrlist; int ret = RCM_SUCCESS; diff --git a/usr/src/cmd/rcm_daemon/common/network_rcm.c b/usr/src/cmd/rcm_daemon/common/network_rcm.c index dbb60775fa..792d4549f1 100644 --- a/usr/src/cmd/rcm_daemon/common/network_rcm.c +++ b/usr/src/cmd/rcm_daemon/common/network_rcm.c @@ -141,7 +141,7 @@ rcm_mod_init(void) cache_head.prev = NULL; cache_tail.prev = &cache_head; cache_tail.next = NULL; - (void) mutex_init(&cache_lock, NULL, NULL); + (void) mutex_init(&cache_lock, USYNC_THREAD, NULL); if ((status = dladm_open(&dld_handle)) != DLADM_STATUS_OK) { rcm_log_message(RCM_WARNING, diff --git a/usr/src/cmd/rcm_daemon/common/rcm_subr.c b/usr/src/cmd/rcm_daemon/common/rcm_subr.c index 82234e1894..4c150f3205 100644 --- a/usr/src/cmd/rcm_daemon/common/rcm_subr.c +++ b/usr/src/cmd/rcm_daemon/common/rcm_subr.c @@ -22,8 +22,6 @@ * Use is subject to license terms. */ -#pragma ident "%Z%%M% %I% %E% SMI" - #include "rcm_impl.h" #include "rcm_module.h" @@ -235,7 +233,7 @@ module_load(char *modname) if (module->dlhandle == NULL) { rcm_log_message(RCM_NOTICE, - gettext("cannot open module %s\n"), modname); + gettext("cannot open module %s\n"), modname); goto fail; } @@ -243,9 +241,9 @@ module_load(char *modname) * dlsym rcm_mod_init/fini/info() entry points */ module->init = (struct rcm_mod_ops *(*)())dlsym( - module->dlhandle, "rcm_mod_init"); + module->dlhandle, "rcm_mod_init"); module->fini = (int (*)())dlsym( - module->dlhandle, "rcm_mod_fini"); + module->dlhandle, "rcm_mod_fini"); module->info = (const char *(*)())dlsym(module->dlhandle, "rcm_mod_info"); if (module->init == NULL || module->fini == NULL || @@ -266,7 +264,7 @@ module_load(char *modname) if ((module->modops = module_init(module)) == NULL) { if (module->dlhandle) rcm_log_message(RCM_ERROR, - gettext("cannot init module %s\n"), modname); + gettext("cannot init module %s\n"), modname); goto fail; } @@ -1566,7 +1564,7 @@ rcmd_db_init() module_t *module; if (strcmp(entp->d_name, ".") == 0 || - strcmp(entp->d_name, "..") == 0) + strcmp(entp->d_name, "..") == 0) continue; if (rcm_script == 0) { @@ -1750,7 +1748,7 @@ rcmd_db_clean() rcm_log_message(RCM_DEBUG, "rcm_db_clean(): launch thread to clean database\n"); - if (thr_create(NULL, NULL, (void *(*)(void *))db_clean, + if (thr_create(NULL, 0, (void *(*)(void *))db_clean, NULL, THR_DETACHED, NULL) != 0) { rcm_log_message(RCM_WARNING, gettext("failed to create cleanup thread %s\n"), |