diff options
author | Gustavo A. R. Silva <gustavo@embeddedor.com> | 2020-06-17 18:31:45 +0200 |
---|---|---|
committer | Mike Snitzer <snitzer@redhat.com> | 2020-06-17 18:31:45 +0200 |
commit | da8996250a7cb9fd6a262dc899258ad0f4021b68 (patch) | |
tree | 093294762be5cacc3f87547b99bbf1beafef43ab | |
parent | dm writecache: skip writecache_wait when using pmem mode (diff) | |
download | linux-da8996250a7cb9fd6a262dc899258ad0f4021b68.tar.xz linux-da8996250a7cb9fd6a262dc899258ad0f4021b68.zip |
dm ioctl: use struct_size() helper in retrieve_deps()
One of the more common cases of allocation size calculations is finding
the size of a structure that has a zero-sized array at the end, along
with memory for some number of elements for that array. For example:
struct dm_target_deps {
...
__u64 dev[0]; /* out */
};
Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.
This code was detected with the help of Coccinelle.
Signed-off-by: Gustavo A. R. Silva <gustavo@embeddedor.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
-rw-r--r-- | drivers/md/dm-ioctl.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/md/dm-ioctl.c b/drivers/md/dm-ioctl.c index ac83f5002ce5..489935d5f22d 100644 --- a/drivers/md/dm-ioctl.c +++ b/drivers/md/dm-ioctl.c @@ -1471,7 +1471,7 @@ static void retrieve_deps(struct dm_table *table, /* * Check we have enough space. */ - needed = sizeof(*deps) + (sizeof(*deps->dev) * count); + needed = struct_size(deps, dev, count); if (len < needed) { param->flags |= DM_BUFFER_FULL_FLAG; return; |