block: fix memory leak in bio_clone()
If bio_integrity_clone() fails, bio_clone() returns NULL without freeing the newly allocated bio. Signed-off-by: Li Zefan <lizf@cn.fujitsu.com> Signed-off-by: Jens Axboe <jens.axboe@oracle.com>
This commit is contained in:
parent
87092698c6
commit
059ea3318c
1 changed files with 3 additions and 1 deletions
4
fs/bio.c
4
fs/bio.c
|
@ -465,8 +465,10 @@ struct bio *bio_clone(struct bio *bio, gfp_t gfp_mask)
|
||||||
|
|
||||||
ret = bio_integrity_clone(b, bio, gfp_mask, fs_bio_set);
|
ret = bio_integrity_clone(b, bio, gfp_mask, fs_bio_set);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
|
bio_put(b);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return b;
|
return b;
|
||||||
|
|
Loading…
Add table
Reference in a new issue