On Wed, Jun 28, 2017 at 01:10:31PM -0400, Keith Busch wrote: > On Wed, Jun 28, 2017 at 11:32:51AM -0500, wenxi...@linux.vnet.ibm.com wrote: > > diff --git a/fs/block_dev.c b/fs/block_dev.c > > index 519599d..e871444 100644 > > --- a/fs/block_dev.c > > +++ b/fs/block_dev.c > > @@ -264,6 +264,10 @@ static void blkdev_bio_end_io_simple(struct bio *bio) > > > > if (unlikely(bio.bi_error)) > > return bio.bi_error; > > + > > + if (bio_integrity(&bio)) > > + bio_integrity_free(&bio); > > + > > return ret; > > } > > We don't want to leak the integrity payload in case of bi_error either.
And we should just call __bio_free. Which btw every user of bio_init probably needs.