On Fri, May 27, 2022 at 10:04:46AM +0200, Christophe JAILLET wrote: > (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 I will drop this for now, please resend with either a corrected version or a comment explaining why it's correct. Thanks! -- MST