diff options
author | Heinz Mauelshagen <heinzm@redhat.com> | 2023-02-01 21:17:44 +0100 |
---|---|---|
committer | Mike Snitzer <snitzer@kernel.org> | 2023-02-14 14:23:06 -0500 |
commit | d715fa23577cd5d36830c4ecd7e2bfcb4750b351 (patch) | |
tree | 996c4ce089ec9338a118706c219d6866690731e3 /drivers/md/dm-crypt.c | |
parent | 86a3238c7b9b759cb864f4f768ab2e24687dc0e6 (diff) | |
download | lwn-d715fa23577cd5d36830c4ecd7e2bfcb4750b351.tar.gz lwn-d715fa23577cd5d36830c4ecd7e2bfcb4750b351.zip |
dm: avoid assignment in if conditions
Signed-off-by: Heinz Mauelshagen <heinzm@redhat.com>
Signed-off-by: Mike Snitzer <snitzer@kernel.org>
Diffstat (limited to 'drivers/md/dm-crypt.c')
-rw-r--r-- | drivers/md/dm-crypt.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/md/dm-crypt.c b/drivers/md/dm-crypt.c index aeb8b19ddc34..ef97a28754cd 100644 --- a/drivers/md/dm-crypt.c +++ b/drivers/md/dm-crypt.c @@ -3416,9 +3416,12 @@ static int crypt_map(struct dm_target *ti, struct bio *bio) if (cc->on_disk_tag_size) { unsigned int tag_len = cc->on_disk_tag_size * (bio_sectors(bio) >> cc->sector_shift); - if (unlikely(tag_len > KMALLOC_MAX_SIZE) || - unlikely(!(io->integrity_metadata = kmalloc(tag_len, - GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN)))) { + if (unlikely(tag_len > KMALLOC_MAX_SIZE)) + io->integrity_metadata = NULL; + else + io->integrity_metadata = kmalloc(tag_len, GFP_NOIO | __GFP_NORETRY | __GFP_NOMEMALLOC | __GFP_NOWARN); + + if (unlikely(!io->integrity_metadata)) { if (bio_sectors(bio) > cc->tag_pool_max_sectors) dm_accept_partial_bio(bio, cc->tag_pool_max_sectors); io->integrity_metadata = mempool_alloc(&cc->tag_pool, GFP_NOIO); |