Author: mm
Date: Sat Feb 23 11:21:05 2013
New Revision: 247187
URL: http://svnweb.freebsd.org/changeset/base/247187

Log:
  MFV r246653:
  Import vendor change to avoid "unitialized variable" warnings.
  
  Illumos ZFS issues:
    3522 zfs module should not allow uninitialized variables
  
  References:
    https://www.illumos.org/issues/3522

Modified:
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
  head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
Directory Properties:
  head/sys/cddl/contrib/opensolaris/   (props changed)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Feb 23 
09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/arc.c   Sat Feb 23 
11:21:05 2013        (r247187)
@@ -3045,7 +3045,7 @@ arc_read(zio_t *pio, spa_t *spa, const b
     const zbookmark_t *zb)
 {
        arc_buf_hdr_t *hdr;
-       arc_buf_t *buf;
+       arc_buf_t *buf = NULL;
        kmutex_t *hash_lock;
        zio_t *rzio;
        uint64_t guid = spa_load_guid(spa);
@@ -3127,7 +3127,7 @@ top:
                uint64_t size = BP_GET_LSIZE(bp);
                arc_callback_t  *acb;
                vdev_t *vd = NULL;
-               uint64_t addr;
+               uint64_t addr = 0;
                boolean_t devw = B_FALSE;
 
                if (hdr == NULL) {
@@ -3245,6 +3245,10 @@ top:
                                cb->l2rcb_zb = *zb;
                                cb->l2rcb_flags = zio_flags;
 
+                               ASSERT(addr >= VDEV_LABEL_START_SIZE &&
+                                   addr + size < vd->vdev_psize -
+                                   VDEV_LABEL_END_SIZE);
+
                                /*
                                 * l2arc read.  The SCL_L2ARC lock will be
                                 * released by l2arc_read_done().
@@ -3440,8 +3444,8 @@ arc_release(arc_buf_t *buf, void *tag)
        if (l2hdr) {
                mutex_enter(&l2arc_buflist_mtx);
                hdr->b_l2hdr = NULL;
-               buf_size = hdr->b_size;
        }
+       buf_size = hdr->b_size;
 
        /*
         * Do we have more than one buf?
@@ -4544,7 +4548,7 @@ l2arc_read_done(zio_t *zio)
 static list_t *
 l2arc_list_locked(int list_num, kmutex_t **lock)
 {
-       list_t *list;
+       list_t *list = NULL;
        int idx;
 
        ASSERT(list_num >= 0 && list_num < 2 * ARC_BUFC_NUMLISTS);

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c   Sat Feb 23 
09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu.c   Sat Feb 23 
11:21:05 2013        (r247187)
@@ -408,8 +408,7 @@ dmu_buf_hold_array_by_dnode(dnode_t *dn,
 
        if (dn->dn_objset->os_dsl_dataset)
                dp = dn->dn_objset->os_dsl_dataset->ds_dir->dd_pool;
-       if (dp && dsl_pool_sync_context(dp))
-               start = gethrtime();
+       start = gethrtime();
        zio = zio_root(dn->dn_objset->os_spa, NULL, NULL, ZIO_FLAG_CANFAIL);
        blkid = dbuf_whichblock(dn, offset);
        for (i = 0; i < nblks; i++) {

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c    Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c    Sat Feb 
23 11:21:05 2013        (r247187)
@@ -1323,7 +1323,8 @@ dmu_objset_userquota_get_ids(dnode_t *dn
        objset_t *os = dn->dn_objset;
        void *data = NULL;
        dmu_buf_impl_t *db = NULL;
-       uint64_t *user, *group;
+       uint64_t *user = NULL;
+       uint64_t *group = NULL;
        int flags = dn->dn_id_flags;
        int error;
        boolean_t have_spill = B_FALSE;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c   Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c   Sat Feb 
23 11:21:05 2013        (r247187)
@@ -382,7 +382,7 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint
 
        ds = dmu_buf_get_user(dbuf);
        if (ds == NULL) {
-               dsl_dataset_t *winner;
+               dsl_dataset_t *winner = NULL;
 
                ds = kmem_zalloc(sizeof (dsl_dataset_t), KM_SLEEP);
                ds->ds_dbuf = dbuf;
@@ -467,11 +467,8 @@ dsl_dataset_get_ref(dsl_pool_t *dp, uint
                        ds->ds_reserved = ds->ds_quota = 0;
                }
 
-               if (err == 0) {
-                       winner = dmu_buf_set_user_ie(dbuf, ds, &ds->ds_phys,
-                           dsl_dataset_evict);
-               }
-               if (err || winner) {
+               if (err != 0 || (winner = dmu_buf_set_user_ie(dbuf, ds,
+                   &ds->ds_phys, dsl_dataset_evict)) != NULL) {
                        bplist_destroy(&ds->ds_pending_deadlist);
                        dsl_deadlist_close(&ds->ds_deadlist);
                        if (ds->ds_prev)

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c      Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c      Sat Feb 
23 11:21:05 2013        (r247187)
@@ -1658,7 +1658,8 @@ dsl_scan_scrub_cb(dsl_pool_t *dp,
                zio_priority = ZIO_PRIORITY_SCRUB;
                needs_io = B_TRUE;
                scan_delay = zfs_scrub_delay;
-       } else if (scn->scn_phys.scn_func == POOL_SCAN_RESILVER) {
+       } else {
+               ASSERT3U(scn->scn_phys.scn_func, ==, POOL_SCAN_RESILVER);
                zio_flags |= ZIO_FLAG_RESILVER;
                zio_priority = ZIO_PRIORITY_RESILVER;
                needs_io = B_FALSE;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c  Sat Feb 23 
09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/lzjb.c  Sat Feb 23 
11:21:05 2013        (r247187)
@@ -38,6 +38,7 @@
 
 #include <sys/zfs_context.h>
 #include <sys/types.h>
+#include <sys/param.h>
 
 #define        MATCH_BITS      6
 #define        MATCH_MIN       3
@@ -51,7 +52,8 @@ lzjb_compress(void *s_start, void *d_sta
 {
        uchar_t *src = s_start;
        uchar_t *dst = d_start;
-       uchar_t *cpy, *copymap;
+       uchar_t *cpy;
+       uchar_t *copymap = NULL;
        int copymask = 1 << (NBBY - 1);
        int mlen, offset, hash;
        uint16_t *hp;
@@ -100,7 +102,8 @@ lzjb_decompress(void *s_start, void *d_s
        uchar_t *src = s_start;
        uchar_t *dst = d_start;
        uchar_t *d_end = (uchar_t *)d_start + d_len;
-       uchar_t *cpy, copymap;
+       uchar_t *cpy;
+       uchar_t copymap = 0;
        int copymask = 1 << (NBBY - 1);
 
        while (dst < d_end) {

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c      Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/refcount.c      Sat Feb 
23 11:21:05 2013        (r247187)
@@ -110,7 +110,7 @@ refcount_count(refcount_t *rc)
 int64_t
 refcount_add_many(refcount_t *rc, uint64_t number, void *holder)
 {
-       reference_t *ref;
+       reference_t *ref = NULL;
        int64_t count;
 
        if (reference_tracking_enable) {

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c    Sat Feb 23 
09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/sa.c    Sat Feb 23 
11:21:05 2013        (r247187)
@@ -660,7 +660,8 @@ sa_build_layouts(sa_handle_t *hdl, sa_bu
        int buf_space;
        sa_attr_type_t *attrs, *attrs_start;
        int i, lot_count;
-       int hdrsize, spillhdrsize;
+       int hdrsize;
+       int spillhdrsize = 0;
        int used;
        dmu_object_type_t bonustype;
        sa_lot_t *lot;
@@ -837,7 +838,7 @@ sa_attr_table_setup(objset_t *os, sa_att
 {
        sa_os_t *sa = os->os_sa;
        uint64_t sa_attr_count = 0;
-       uint64_t sa_reg_count;
+       uint64_t sa_reg_count = 0;
        int error = 0;
        uint64_t attr_value;
        sa_attr_table_t *tb;
@@ -1645,7 +1646,8 @@ sa_modify_attrs(sa_handle_t *hdl, sa_att
        sa_bulk_attr_t *attr_desc;
        void *old_data[2];
        int bonus_attr_count = 0;
-       int bonus_data_size, spill_data_size;
+       int bonus_data_size = 0;
+       int spill_data_size = 0;
        int spill_attr_count = 0;
        int error;
        uint16_t length;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c   Sat Feb 23 
09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c   Sat Feb 23 
11:21:05 2013        (r247187)
@@ -383,7 +383,7 @@ spa_prop_validate(spa_t *spa, nvlist_t *
 {
        nvpair_t *elem;
        int error = 0, reset_bootfs = 0;
-       uint64_t objnum;
+       uint64_t objnum = 0;
        boolean_t has_feature = B_FALSE;
 
        elem = NULL;
@@ -1389,6 +1389,7 @@ spa_load_l2cache(spa_t *spa)
                newvdevs = kmem_alloc(nl2cache * sizeof (void *), KM_SLEEP);
        } else {
                nl2cache = 0;
+               newvdevs = NULL;
        }
 
        oldvdevs = sav->sav_vdevs;
@@ -4702,7 +4703,7 @@ spa_vdev_detach(spa_t *spa, uint64_t gui
        vdev_t *rvd = spa->spa_root_vdev;
        vdev_t *vd, *pvd, *cvd, *tvd;
        boolean_t unspare = B_FALSE;
-       uint64_t unspare_guid;
+       uint64_t unspare_guid = 0;
        char *vdpath;
 
        ASSERT(spa_writeable(spa));

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c    Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_raidz.c    Sat Feb 
23 11:21:05 2013        (r247187)
@@ -1198,7 +1198,8 @@ vdev_raidz_matrix_reconstruct(raidz_map_
        uint64_t ccount;
        uint8_t *dst[VDEV_RAIDZ_MAXPARITY];
        uint64_t dcount[VDEV_RAIDZ_MAXPARITY];
-       uint8_t log, val;
+       uint8_t log = 0;
+       uint8_t val;
        int ll;
        uint8_t *invlog[VDEV_RAIDZ_MAXPARITY];
        uint8_t *p, *pp;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c      Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zap_leaf.c      Sat Feb 
23 11:21:05 2013        (r247187)
@@ -220,7 +220,7 @@ zap_leaf_array_create(zap_leaf_t *l, con
        uint16_t chunk_head;
        uint16_t *chunkp = &chunk_head;
        int byten = 0;
-       uint64_t value;
+       uint64_t value = 0;
        int shift = (integer_size-1)*8;
        int len = num_integers;
 

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c  Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_byteswap.c  Sat Feb 
23 11:21:05 2013        (r247187)
@@ -51,7 +51,7 @@ zfs_ace_byteswap(void *buf, size_t size,
 {
        caddr_t end;
        caddr_t ptr;
-       zfs_ace_t *zacep;
+       zfs_ace_t *zacep = NULL;
        ace_t *acep;
        uint16_t entry_type;
        size_t entry_size;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c      Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_fuid.c      Sat Feb 
23 11:21:05 2013        (r247187)
@@ -560,9 +560,9 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64
        uint32_t fuid_idx = FUID_INDEX(id);
        uint32_t rid;
        idmap_stat status;
-       uint64_t idx;
+       uint64_t idx = 0;
        zfs_fuid_t *zfuid = NULL;
-       zfs_fuid_info_t *fuidp;
+       zfs_fuid_info_t *fuidp = NULL;
 
        /*
         * If POSIX ID, or entry is already a FUID then
@@ -587,6 +587,9 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64
                if (fuidp == NULL)
                        return (UID_NOBODY);
 
+               VERIFY3U(type, >=, ZFS_OWNER);
+               VERIFY3U(type, <=, ZFS_ACE_GROUP);
+
                switch (type) {
                case ZFS_ACE_USER:
                case ZFS_ACE_GROUP:
@@ -603,7 +606,7 @@ zfs_fuid_create(zfsvfs_t *zfsvfs, uint64
                        idx = FUID_INDEX(fuidp->z_fuid_group);
                        break;
                };
-               domain = fuidp->z_domain_table[idx -1];
+               domain = fuidp->z_domain_table[idx - 1];
        } else {
                if (type == ZFS_OWNER || type == ZFS_ACE_USER)
                        status = kidmap_getsidbyuid(crgetzone(cr), id,

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c       Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_log.c       Sat Feb 
23 11:21:05 2013        (r247187)
@@ -243,7 +243,7 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t 
        itx_t *itx;
        lr_create_t *lr;
        lr_acl_create_t *lracl;
-       size_t aclsize;
+       size_t aclsize = (vsecp != NULL) ? vsecp->vsa_aclentsz : 0;
        size_t xvatsize = 0;
        size_t txsize;
        xvattr_t *xvap = (xvattr_t *)vap;
@@ -273,7 +273,6 @@ zfs_log_create(zilog_t *zilog, dmu_tx_t 
                txsize = sizeof (*lr) + namesize + fuidsz + xvatsize;
                lrsize = sizeof (*lr);
        } else {
-               aclsize = (vsecp) ? vsecp->vsa_aclentsz : 0;
                txsize =
                    sizeof (lr_acl_create_t) + namesize + fuidsz +
                    ZIL_ACE_LENGTH(aclsize) + xvatsize;

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c     Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_rlock.c     Sat Feb 
23 11:21:05 2013        (r247187)
@@ -463,7 +463,7 @@ static void
 zfs_range_unlock_reader(znode_t *zp, rl_t *remove)
 {
        avl_tree_t *tree = &zp->z_range_avl;
-       rl_t *rl, *next;
+       rl_t *rl, *next = NULL;
        uint64_t len;
 
        /*

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c    Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vfsops.c    Sat Feb 
23 11:21:05 2013        (r247187)
@@ -389,11 +389,18 @@ zfs_register_callbacks(vfs_t *vfsp)
        objset_t *os = NULL;
        zfsvfs_t *zfsvfs = NULL;
        uint64_t nbmand;
-       int readonly, do_readonly = B_FALSE;
-       int setuid, do_setuid = B_FALSE;
-       int exec, do_exec = B_FALSE;
-       int xattr, do_xattr = B_FALSE;
-       int atime, do_atime = B_FALSE;
+       boolean_t readonly = B_FALSE;
+       boolean_t do_readonly = B_FALSE;
+       boolean_t setuid = B_FALSE;
+       boolean_t do_setuid = B_FALSE;
+       boolean_t exec = B_FALSE;
+       boolean_t do_exec = B_FALSE;
+       boolean_t devices = B_FALSE;
+       boolean_t do_devices = B_FALSE;
+       boolean_t xattr = B_FALSE;
+       boolean_t do_xattr = B_FALSE;
+       boolean_t atime = B_FALSE;
+       boolean_t do_atime = B_FALSE;
        int error = 0;
 
        ASSERT(vfsp);

Modified: head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c
==============================================================================
--- head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Sat Feb 
23 09:16:22 2013        (r247186)
+++ head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_vnops.c     Sat Feb 
23 11:21:05 2013        (r247187)
@@ -644,7 +644,7 @@ zfs_read(vnode_t *vp, uio_t *uio, int io
        zfsvfs_t        *zfsvfs = zp->z_zfsvfs;
        objset_t        *os;
        ssize_t         n, nbytes;
-       int             error;
+       int             error = 0;
        rl_t            *rl;
        xuio_t          *xuio = NULL;
 
@@ -804,9 +804,9 @@ zfs_write(vnode_t *vp, uio_t *uio, int i
        ssize_t         n, nbytes;
        rl_t            *rl;
        int             max_blksz = zfsvfs->z_max_blksz;
-       int             error;
+       int             error = 0;
        arc_buf_t       *abuf;
-       iovec_t         *aiov;
+       iovec_t         *aiov = NULL;
        xuio_t          *xuio = NULL;
        int             i_iov = 0;
        int             iovcnt = uio->uio_iovcnt;
@@ -2476,6 +2476,7 @@ zfs_readdir(vnode_t *vp, uio_t *uio, cre
                odp = (struct dirent64 *)outbuf;
        } else {
                bufsize = bytes_wanted;
+               outbuf = NULL;
                odp = (struct dirent64 *)iovp->iov_base;
        }
        eodp = (struct edirent *)odp;
@@ -2959,7 +2960,7 @@ zfs_setattr(vnode_t *vp, vattr_t *vap, i
        vattr_t         oldva;
        xvattr_t        tmpxvattr;
        uint_t          mask = vap->va_mask;
-       uint_t          saved_mask;
+       uint_t          saved_mask = 0;
        uint64_t        saved_mode;
        int             trim_mask = 0;
        uint64_t        new_mode;
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to