]> granicus.if.org Git - zfs/commitdiff
Fix coverity defects: CID 147575, 147577, 147578, 147579
authorcao <cao.xuewen@zte.com.cn>
Mon, 7 Nov 2016 22:54:32 +0000 (06:54 +0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Mon, 7 Nov 2016 22:54:32 +0000 (14:54 -0800)
CID 147575, Type:Unintentional integer overflow
CID 147577, Type:Unintentional integer overflow
CID 147578, Type:Unintentional integer overflow
CID 147579, Type:Unintentional integer overflow

Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: cao.xuewen <cao.xuewen@zte.com.cn>
Closes #5365

lib/libzfs/libzfs_sendrecv.c
module/zfs/dmu_tx.c
module/zfs/dnode_sync.c
module/zfs/metaslab.c

index 21d67e74d391c3c2393b18a7ff4e178e7865cbea..8926d11735a54100ac07d589f8ff06ded8368c7b 100644 (file)
@@ -259,7 +259,7 @@ cksummer(void *arg)
         * a power of 2 if necessary.
         */
        if (!ISP2(numbuckets))
-               numbuckets = 1 << high_order_bit(numbuckets);
+               numbuckets = 1ULL << high_order_bit(numbuckets);
 
        ddt.dedup_hash_array = calloc(numbuckets, sizeof (dedup_entry_t *));
        ddt.ddecache = umem_cache_create("dde", sizeof (dedup_entry_t), 0,
index 3ee9468854d012a35f6bdd68eb6c785ac2ea319b..f0119963ced493c802f83ca9174508d12fec946e 100644 (file)
@@ -755,7 +755,7 @@ dmu_tx_hold_zap(dmu_tx_t *tx, uint64_t object, int add, const char *name)
                 * block.  So there will be at most 2 blocks total,
                 * including the header block.
                 */
-               dmu_tx_count_write(txh, 0, 2 << fzap_default_block_shift);
+               dmu_tx_count_write(txh, 0, 2ULL << fzap_default_block_shift);
                return;
        }
 
index 6d1fa3339ae6646e5858cecccab2f186f4faf710..52770710426e8ec9036725346ae8eff0932d3183 100644 (file)
@@ -292,7 +292,7 @@ free_children(dmu_buf_impl_t *db, uint64_t blkid, uint64_t nblks,
        }
 
        /* If this whole block is free, free ourself too. */
-       for (i = 0, bp = db->db.db_data; i < 1 << epbs; i++, bp++) {
+       for (i = 0, bp = db->db.db_data; i < 1ULL << epbs; i++, bp++) {
                if (!BP_IS_HOLE(bp))
                        break;
        }
index 37fa9a7a3c320dc7535b1a0ad30c107ac50d233d..27a758ee007c66e1e0be5c13e196a61f6738aa61 100644 (file)
@@ -1769,7 +1769,7 @@ metaslab_should_condense(metaslab_t *msp)
        range_seg_t *rs;
        uint64_t size, entries, segsz, object_size, optimal_size, record_size;
        dmu_object_info_t doi;
-       uint64_t vdev_blocksize = 1 << msp->ms_group->mg_vd->vdev_ashift;
+       uint64_t vdev_blocksize = 1ULL << msp->ms_group->mg_vd->vdev_ashift;
 
        ASSERT(MUTEX_HELD(&msp->ms_lock));
        ASSERT(msp->ms_loaded);