|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Fix a BUG_ON issue
>>> On 29.08.16 at 11:14, <feng.wu@xxxxxxxxx> wrote:
> --- a/xen/drivers/passthrough/io.c
> +++ b/xen/drivers/passthrough/io.c
> @@ -243,7 +243,7 @@ static struct vcpu *vector_hashing_dest(const struct
> domain *d,
> for ( i = 0; i <= mod; i++ )
> {
> idx = find_next_bit(dest_vcpu_bitmap, d->max_vcpus, idx) + 1;
> - BUG_ON(idx >= d->max_vcpus);
> + BUG_ON(idx > d->max_vcpus);
> }
>
> dest = d->vcpu[idx - 1];
Wouldn't it be better to change the code to
unsigned int idx = -1;
for ( i = 0; i <= mod; i++ )
{
idx = find_next_bit(dest_vcpu_bitmap, d->max_vcpus, idx + 1);
BUG_ON(idx >= d->max_vcpus);
}
dest = d->vcpu[idx];
or, not utilizing wrapping
unsigned int idx = find_first_bit(dest_vcpu_bitmap, d->max_vcpus);
for ( i = 0; i < mod; i++ )
idx = find_next_bit(dest_vcpu_bitmap, d->max_vcpus, idx + 1);
BUG_ON(idx >= d->max_vcpus);
dest = d->vcpu[idx];
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |