Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

dm: avoid assignment in if conditions

Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>

authored by

Heinz Mauelshagen and committed by
Mike Snitzer
d715fa23 86a3238c

+17 -9
+6 -3
drivers/md/dm-crypt.c
··· 3416 3416 if (cc->on_disk_tag_size) { 3417 3417 unsigned int tag_len = cc->on_disk_tag_size * (bio_sectors(bio) >> cc->sector_shift); 3418 3418 3419 - if (unlikely(tag_len > KMALLOC_MAX_SIZE) || 3420 - unlikely(!(io->integrity_metadata = kmalloc(tag_len, 3421 - GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN)))) { 3419 + if (unlikely(tag_len > KMALLOC_MAX_SIZE)) 3420 + io->integrity_metadata = NULL; 3421 + else 3422 + io->integrity_metadata = kmalloc(tag_len, GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN); 3423 + 3424 + if (unlikely(!io->integrity_metadata)) { 3422 3425 if (bio_sectors(bio) > cc->tag_pool_max_sectors) 3423 3426 dm_accept_partial_bio(bio, cc->tag_pool_max_sectors); 3424 3427 io->integrity_metadata = mempool_alloc(&cc->tag_pool, GFP_NOIO);
+2 -1
drivers/md/dm-stats.c
··· 1046 1046 else if (!strncasecmp(a, "histogram:", 10)) { 1047 1047 if (n_histogram_entries) 1048 1048 goto ret_einval; 1049 - if ((r = parse_histogram(a + 10, &n_histogram_entries, &histogram_boundaries))) 1049 + r = parse_histogram(a + 10, &n_histogram_entries, &histogram_boundaries); 1050 + if (r) 1050 1051 goto ret; 1051 1052 } else 1052 1053 goto ret_einval;
+2 -1
drivers/md/dm-table.c
··· 374 374 if (!dd) 375 375 return -ENOMEM; 376 376 377 - if ((r = dm_get_table_device(t->md, dev, mode, &dd->dm_dev))) { 377 + r = dm_get_table_device(t->md, dev, mode, &dd->dm_dev); 378 + if (r) { 378 379 kfree(dd); 379 380 return r; 380 381 }
+7 -4
drivers/md/dm-writecache.c
··· 1832 1832 wb->wc = wc; 1833 1833 bio->bi_end_io = writecache_writeback_endio; 1834 1834 bio->bi_iter.bi_sector = read_original_sector(wc, e); 1835 - if (max_pages <= WB_LIST_INLINE || 1836 - unlikely(!(wb->wc_list = kmalloc_array(max_pages, sizeof(struct wc_entry *), 1837 - GFP_NOIO | __GFP_NORETRY | 1838 - __GFP_NOMEMALLOC | __GFP_NOWARN)))) { 1835 + 1836 + if (unlikely(max_pages > WB_LIST_INLINE)) 1837 + wb->wc_list = kmalloc_array(max_pages, sizeof(struct wc_entry *), 1838 + GFP_NOIO | __GFP_NORETRY | 1839 + __GFP_NOMEMALLOC | __GFP_NOWARN); 1840 + 1841 + if (likely(max_pages <= WB_LIST_INLINE) || unlikely(!wb->wc_list)) { 1839 1842 wb->wc_list = wb->wc_list_inline; 1840 1843 max_pages = WB_LIST_INLINE; 1841 1844 }