From 814e7298d2cac68e7d15905df9bcb7dde9175811 Mon Sep 17 00:00:00 2001 From: Toomas Soome Date: Sat, 19 Jan 2019 20:54:59 +0200 Subject: 10729 dev: NULL pointer errors Reviewed by: Andy Stormont Reviewed by: Robert Mustacchi Approved by: Dan McDonald --- usr/src/uts/common/fs/dev/sdev_ipnetops.c | 2 +- usr/src/uts/common/fs/dev/sdev_netops.c | 2 +- usr/src/uts/common/fs/dev/sdev_profile.c | 4 ++-- usr/src/uts/common/fs/dev/sdev_ptsops.c | 2 +- usr/src/uts/common/fs/dev/sdev_vtops.c | 11 +++-------- usr/src/uts/common/fs/dev/sdev_zvolops.c | 4 ++-- 6 files changed, 10 insertions(+), 15 deletions(-) (limited to 'usr/src') diff --git a/usr/src/uts/common/fs/dev/sdev_ipnetops.c b/usr/src/uts/common/fs/dev/sdev_ipnetops.c index 8d348a31d9..86422ed79d 100644 --- a/usr/src/uts/common/fs/dev/sdev_ipnetops.c +++ b/usr/src/uts/common/fs/dev/sdev_ipnetops.c @@ -158,7 +158,7 @@ devipnet_filldir(struct sdev_node *ddv) sdev_node_t *dv, *next; ASSERT(RW_READ_HELD(&ddv->sdev_contents)); - if (rw_tryupgrade(&ddv->sdev_contents) == NULL) { + if (rw_tryupgrade(&ddv->sdev_contents) == 0) { rw_exit(&ddv->sdev_contents); rw_enter(&ddv->sdev_contents, RW_WRITER); /* diff --git a/usr/src/uts/common/fs/dev/sdev_netops.c b/usr/src/uts/common/fs/dev/sdev_netops.c index 4eaf38f484..a426eeaf10 100644 --- a/usr/src/uts/common/fs/dev/sdev_netops.c +++ b/usr/src/uts/common/fs/dev/sdev_netops.c @@ -251,7 +251,7 @@ devnet_filldir(struct sdev_node *ddv) datalink_id_t linkid; ASSERT(RW_READ_HELD(&ddv->sdev_contents)); - if (rw_tryupgrade(&ddv->sdev_contents) == NULL) { + if (rw_tryupgrade(&ddv->sdev_contents) == 0) { rw_exit(&ddv->sdev_contents); rw_enter(&ddv->sdev_contents, RW_WRITER); } diff --git a/usr/src/uts/common/fs/dev/sdev_profile.c b/usr/src/uts/common/fs/dev/sdev_profile.c index a4811649ce..df9f019ee0 100644 --- a/usr/src/uts/common/fs/dev/sdev_profile.c +++ b/usr/src/uts/common/fs/dev/sdev_profile.c @@ -214,7 +214,7 @@ prof_make_dir(char *name, struct sdev_node **gdirp, struct sdev_node **dirp) NULL, 0, NULL, kcred, NULL, NULL, NULL); if (error == 0) { *gdirp = VTOSDEV(gnewdir); - } else { /* it's ok if there no global dir */ + } else { /* it's ok if there no global dir */ *gdirp = NULL; } } @@ -897,7 +897,7 @@ copyin_nvlist(char *packed_usr, size_t packed_sz, nvlist_t **nvlp) /* simple sanity check */ if (packed_usr == NULL || packed_sz == 0) - return (NULL); + return (err); /* copyin packed profile nvlist */ packed = kmem_alloc(packed_sz, KM_NOSLEEP); diff --git a/usr/src/uts/common/fs/dev/sdev_ptsops.c b/usr/src/uts/common/fs/dev/sdev_ptsops.c index af98df755d..4d8f47397b 100644 --- a/usr/src/uts/common/fs/dev/sdev_ptsops.c +++ b/usr/src/uts/common/fs/dev/sdev_ptsops.c @@ -228,7 +228,7 @@ devpts_prunedir(struct sdev_node *ddv) vtor = (int (*)(struct sdev_node *))sdev_get_vtor(ddv); ASSERT(vtor); - if (rw_tryupgrade(&ddv->sdev_contents) == NULL) { + if (rw_tryupgrade(&ddv->sdev_contents) == 0) { rw_exit(&ddv->sdev_contents); rw_enter(&ddv->sdev_contents, RW_WRITER); } diff --git a/usr/src/uts/common/fs/dev/sdev_vtops.c b/usr/src/uts/common/fs/dev/sdev_vtops.c index e29262d257..101908d266 100644 --- a/usr/src/uts/common/fs/dev/sdev_vtops.c +++ b/usr/src/uts/common/fs/dev/sdev_vtops.c @@ -362,15 +362,10 @@ devvt_cleandir(struct vnode *dvp, struct cred *cred) cnt = VC_INSTANCES_COUNT; mutex_exit(&vc_lock); -/* We have to fool warlock this way, otherwise it will complain */ -#ifndef __lock_lint - if (rw_tryupgrade(&sdvp->sdev_contents) == NULL) { + if (rw_tryupgrade(&sdvp->sdev_contents) == 0) { rw_exit(&sdvp->sdev_contents); rw_enter(&sdvp->sdev_contents, RW_WRITER); } -#else - rw_enter(&sdvp->sdev_contents, RW_WRITER); -#endif /* 1. prune invalid nodes and rebuild stale symlinks */ devvt_prunedir(sdvp); @@ -408,9 +403,9 @@ devvt_cleandir(struct vnode *dvp, struct cred *cred) /* validate only ready nodes */ if (dv->sdev_state != SDEV_READY) continue; - if ((strcmp(dv->sdev_name, DEVVT_ACTIVE_NAME) == NULL)) + if ((strcmp(dv->sdev_name, DEVVT_ACTIVE_NAME) == 0)) found |= 0x01; - if ((strcmp(dv->sdev_name, DEVVT_CONSUSER_NAME) == NULL)) + if ((strcmp(dv->sdev_name, DEVVT_CONSUSER_NAME) == 0)) found |= 0x02; if ((found & 0x01) && (found & 0x02)) diff --git a/usr/src/uts/common/fs/dev/sdev_zvolops.c b/usr/src/uts/common/fs/dev/sdev_zvolops.c index f75d5c3c4e..8f22ef32f0 100644 --- a/usr/src/uts/common/fs/dev/sdev_zvolops.c +++ b/usr/src/uts/common/fs/dev/sdev_zvolops.c @@ -183,7 +183,7 @@ devzvol_objset_check(char *dsname, dmu_objset_type_t *type) boolean_t ispool, is_snapshot; zfs_cmd_t *zc; int rc; - nvlist_t *nvl; + nvlist_t *nvl; size_t nvsz; ispool = (strchr(dsname, '/') == NULL); @@ -462,7 +462,7 @@ devzvol_create_pool_dirs(struct vnode *dvp) kmem_free((void *)(uintptr_t)devzvol_zclist, devzvol_zclist_size); devzvol_gen = 0; - devzvol_zclist = NULL; + devzvol_zclist = 0; devzvol_zclist_size = 0; goto out; } -- cgit v1.2.3