mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
dm stripe: fix potential for leak in stripe_ctr error path
Fix a potential struct stripe_c leak that would occur if the chunk_size exceeded the maximum allowed by dm_set_target_max_io_len (UINT_MAX). However, in practice there is no possibility of this occuring given that chunk_size is of type uint32_t. But it is good to fix this to future-proof in case dm_set_target_max_io_len's implementation were to change. Signed-off-by: Pavitra Kumar <pavitrak@nvidia.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
56ec16cb1e
commit
a3f2af2547
@ -159,8 +159,10 @@ static int stripe_ctr(struct dm_target *ti, unsigned int argc, char **argv)
|
||||
sc->stripes_shift = __ffs(stripes);
|
||||
|
||||
r = dm_set_target_max_io_len(ti, chunk_size);
|
||||
if (r)
|
||||
if (r) {
|
||||
kfree(sc);
|
||||
return r;
|
||||
}
|
||||
|
||||
ti->num_flush_bios = stripes;
|
||||
ti->num_discard_bios = stripes;
|
||||
|
Loading…
Reference in New Issue
Block a user