Re: [lkp] [block] bcf2843b3f8: BUG: KASan: use after free in dio_bio_complete+0x15a/0x190 at addr ffff88001114e6f8

From: Christoph Hellwig
Date: Thu Jul 30 2015 - 02:22:14 EST


On Thu, Jul 30, 2015 at 10:53:19AM +0800, Huang Ying wrote:
> FYI, we noticed the below changes on

This should fix it:


diff --git a/fs/direct-io.c b/fs/direct-io.c
index e1639c8..31b2d35 100644
--- a/fs/direct-io.c
+++ b/fs/direct-io.c
@@ -458,9 +458,10 @@ static struct bio *dio_await_one(struct dio *dio)
static int dio_bio_complete(struct dio *dio, struct bio *bio)
{
struct bio_vec *bvec;
+ int error = bio->bi_error;
unsigned i;

- if (bio->bi_error)
+ if (error)
dio->io_error = -EIO;

if (dio->is_async && dio->rw == READ) {
@@ -475,7 +476,7 @@ static int dio_bio_complete(struct dio *dio, struct bio *bio)
}
bio_put(bio);
}
- return bio->bi_error;
+ return error;
}

/*
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/