(Resend, my email client sent it as HTML. So sorry for the duplicate)
Hi,
> diff --git a/drivers/block/virtio_blk.c b/drivers/block/virtio_blk.c
> index 74c3a48cd1e5..e05748337dd1 100644
> --- a/drivers/block/virtio_blk.c
> +++ b/drivers/block/virtio_blk.c
> @@ -720,8 +720,8 @@ static int virtblk_probe(struct virtio_device *vdev)
> return -EINVAL;
> }
>
>- err = ida_simple_get(&vd_index_ida, 0, minor_to_index(1 << MINORBITS),
>- GFP_KERNEL);
>+ err = ida_alloc_max(&vd_index_ida, minor_to_index(1 << MINORBITS),
>+ GFP_KERNEL);
> if (err < 0)
> goto out;
> index = err;
this patch, already applied to -next, is wrong.
The upper bound of ida_simple_get() is exlcusive, while the one of
ida_alloc_max() is inclusive.
So, 'minor_to_index(1 << MINORBITS)' should be 'minor_to_index(1 <<
MINORBITS) - 1' here.
(adding keliu in cc: because he is proposing the same kind of patches,
so he will see how to to these changes that are slighly tricky)
CJ