diff options
author | Richard Yao <[email protected]> | 2022-09-14 15:50:03 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2022-09-14 12:50:03 -0700 |
commit | 4a6e8b99f5171705466b5a9542b47a935cad793d (patch) | |
tree | d1e9f068d1bc7c200ea64fbba9952dc4ab8f43d6 | |
parent | d954ca19ba8b0c505e88a74a9681c4c81e7cfc57 (diff) |
Add assertion to dsl_dataset_set_compression_sync
Coverity pointed out that if we somehow receive SPA_FEATURE_NONE, we
will use a negative number as an array index. A defensive assertion
seems appropriate.
Reviewed-by: Alexander Motin <[email protected]>
Reviewed-by: Neal Gompa <[email protected]>
Reviewed-by: Allan Jude <[email protected]>
Reviewed-by: Brian Behlendorf <[email protected]>
Signed-off-by: Richard Yao <[email protected]>
Closes #13872
-rw-r--r-- | module/zfs/dsl_dataset.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/module/zfs/dsl_dataset.c b/module/zfs/dsl_dataset.c index 44da6a3f0..94b77aa1b 100644 --- a/module/zfs/dsl_dataset.c +++ b/module/zfs/dsl_dataset.c @@ -4519,6 +4519,7 @@ dsl_dataset_set_compression_sync(void *arg, dmu_tx_t *tx) uint64_t compval = ZIO_COMPRESS_ALGO(ddsca->ddsca_value); spa_feature_t f = zio_compress_to_feature(compval); + ASSERT3S(f, !=, SPA_FEATURE_NONE); ASSERT3S(spa_feature_table[f].fi_type, ==, ZFEATURE_TYPE_BOOLEAN); VERIFY0(dsl_dataset_hold(dp, ddsca->ddsca_name, FTAG, &ds)); |