diff options
author | Patrick Mooney <pmooney@pfmooney.com> | 2020-07-24 18:46:55 +0000 |
---|---|---|
committer | Patrick Mooney <pmooney@oxide.computer> | 2020-07-27 17:39:07 +0000 |
commit | c65bd18728f347251dbeb256af17dbac88a50e8c (patch) | |
tree | ecbacb16021bdc6efb68b2dff13f890b8681d8c0 /usr | |
parent | dde7ba523f4198e0f5b40039179233749a87f105 (diff) | |
download | illumos-joyent-c65bd18728f347251dbeb256af17dbac88a50e8c.tar.gz |
12981 vdev_hold prone to NULL dereference
Reviewed by: Andy Fiddaman <andy@omniosce.org>
Reviewed by: Toomas Soome <tsoome@me.com>
Reviewed by: Igor Kozhukhov <igor@dilos.org>
Approved by: Dan McDonald <danmcd@joyent.com>
Diffstat (limited to 'usr')
-rw-r--r-- | usr/src/uts/common/fs/zfs/vdev.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/usr/src/uts/common/fs/zfs/vdev.c b/usr/src/uts/common/fs/zfs/vdev.c index 487379aba4..e82b309537 100644 --- a/usr/src/uts/common/fs/zfs/vdev.c +++ b/usr/src/uts/common/fs/zfs/vdev.c @@ -2135,7 +2135,7 @@ vdev_hold(vdev_t *vd) for (int c = 0; c < vd->vdev_children; c++) vdev_hold(vd->vdev_child[c]); - if (vd->vdev_ops->vdev_op_leaf) + if (vd->vdev_ops->vdev_op_leaf && vd->vdev_ops->vdev_op_hold != NULL) vd->vdev_ops->vdev_op_hold(vd); } @@ -2148,7 +2148,7 @@ vdev_rele(vdev_t *vd) for (int c = 0; c < vd->vdev_children; c++) vdev_rele(vd->vdev_child[c]); - if (vd->vdev_ops->vdev_op_leaf) + if (vd->vdev_ops->vdev_op_leaf && vd->vdev_ops->vdev_op_rele != NULL) vd->vdev_ops->vdev_op_rele(vd); } |