Re: [PATCH 1/2] bio: Remove the incorrect test for idx in __bio_clone_fast

From: Minfei Huang
Date: Fri Dec 18 2015 - 10:31:08 EST


On 12/18/15 at 11:02P, Minfei Huang wrote:
> It is more lucky that kernel crash does not happen, since we test the
> bi_pool in function __bio_clone_fast. Now bi_flags is used to flag the
> idx, so it is incorrect to test the bi_pool.
>
> For now, the bio in function __bio_clone_fast may have its own bvec, if
> the caller is bio_clone_fast.
>
> Removing the test to fix this issue.
>
> Signed-off-by: Minfei Huang <mnfhuang@xxxxxxxxx>
> ---
> block/bio.c | 2 --
> 1 file changed, 2 deletions(-)
>
> diff --git a/block/bio.c b/block/bio.c
> index 4f184d9..70d9814 100644
> --- a/block/bio.c
> +++ b/block/bio.c
> @@ -573,8 +573,6 @@ EXPORT_SYMBOL(bio_phys_segments);
> */
> void __bio_clone_fast(struct bio *bio, struct bio *bio_src)
> {
> - BUG_ON(bio->bi_pool && BIO_POOL_IDX(bio) != BIO_POOL_NONE);
> -

Sorry to bother you, since I have missed the nr_iovecs in function
bio_clone_fast.

Will update this patch to make test correct, instead of removing it.

Thanks
Minfei

> /*
> * most users will be overriding ->bi_bdev with a new target,
> * so we don't set nor calculate new physical/hw segment counts here
> --
> 2.6.3
>
--
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/