OSDN Git Service

dm crypt: use struct_size() when allocating encryption context
authorZhengyuan Liu <liuzhengyuan@kylinos.cn>
Wed, 12 Jun 2019 06:14:45 +0000 (14:14 +0800)
committerMike Snitzer <snitzer@redhat.com>
Tue, 9 Jul 2019 18:08:40 +0000 (14:08 -0400)
Use struct_size() to avoid open-coded equivalent that is prone to a type
mistake.

Signed-off-by: Zhengyuan Liu <liuzhengyuan@kylinos.cn>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm-crypt.c

index 1b16d34..2587e94 100644 (file)
@@ -2699,7 +2699,7 @@ static int crypt_ctr(struct dm_target *ti, unsigned int argc, char **argv)
                return -EINVAL;
        }
 
-       cc = kzalloc(sizeof(*cc) + key_size * sizeof(u8), GFP_KERNEL);
+       cc = kzalloc(struct_size(cc, key, key_size), GFP_KERNEL);
        if (!cc) {
                ti->error = "Cannot allocate encryption context";
                return -ENOMEM;