iwlwifi: pnvm: Fix a memory leak in 'iwl_pnvm_get_from_fs()'
[linux-2.6-microblaze.git] / drivers / block / rbd.c
index 90b947c..e65c9d7 100644 (file)
@@ -1219,24 +1219,13 @@ static void rbd_dev_mapping_clear(struct rbd_device *rbd_dev)
        rbd_dev->mapping.size = 0;
 }
 
-static void zero_bvec(struct bio_vec *bv)
-{
-       void *buf;
-       unsigned long flags;
-
-       buf = bvec_kmap_irq(bv, &flags);
-       memset(buf, 0, bv->bv_len);
-       flush_dcache_page(bv->bv_page);
-       bvec_kunmap_irq(buf, &flags);
-}
-
 static void zero_bios(struct ceph_bio_iter *bio_pos, u32 off, u32 bytes)
 {
        struct ceph_bio_iter it = *bio_pos;
 
        ceph_bio_iter_advance(&it, off);
        ceph_bio_iter_advance_step(&it, bytes, ({
-               zero_bvec(&bv);
+               memzero_bvec(&bv);
        }));
 }
 
@@ -1246,7 +1235,7 @@ static void zero_bvecs(struct ceph_bvec_iter *bvec_pos, u32 off, u32 bytes)
 
        ceph_bvec_iter_advance(&it, off);
        ceph_bvec_iter_advance_step(&it, bytes, ({
-               zero_bvec(&bv);
+               memzero_bvec(&bv);
        }));
 }
 
@@ -2997,8 +2986,7 @@ static bool is_zero_bvecs(struct bio_vec *bvecs, u32 bytes)
        };
 
        ceph_bvec_iter_advance_step(&it, bytes, ({
-               if (memchr_inv(page_address(bv.bv_page) + bv.bv_offset, 0,
-                              bv.bv_len))
+               if (memchr_inv(bvec_virt(&bv), 0, bv.bv_len))
                        return false;
        }));
        return true;