Commit a60e78e5 authored by Subhash Peddamallu's avatar Subhash Peddamallu Committed by Jens Axboe

fs/bio: bio_alloc_bioset: pass right object ptr to mempool_free

When freeing from bio pool use right ptr to account for bs->front_pad,
instead of bio ptr,
Signed-off-by: default avatarSubhash Peddamallu <subhash.peddamallu@gmail.com>
Signed-off-by: default avatarJens Axboe <jens.axboe@oracle.com>
parent 93dbb393
......@@ -302,9 +302,10 @@ void bio_init(struct bio *bio)
struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs)
{
struct bio *bio = NULL;
void *p;
if (bs) {
void *p = mempool_alloc(bs->bio_pool, gfp_mask);
p = mempool_alloc(bs->bio_pool, gfp_mask);
if (p)
bio = p + bs->front_pad;
......@@ -329,7 +330,7 @@ struct bio *bio_alloc_bioset(gfp_t gfp_mask, int nr_iovecs, struct bio_set *bs)
}
if (unlikely(!bvl)) {
if (bs)
mempool_free(bio, bs->bio_pool);
mempool_free(p, bs->bio_pool);
else
kfree(bio);
bio = NULL;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment