RE: [PATCH] vfio-pci: Allow to mmap sub-page MMIO BARs if the mmio page is exclusive

From: Tian, Kevin
Date: Tue May 03 2016 - 02:11:45 EST


> From: Yongji Xie [mailto:xyjxie@xxxxxxxxxxxxxxxxxx]
> Sent: Tuesday, May 03, 2016 1:52 PM
>
> >> +
> >> + if (!(res->start & ~PAGE_MASK)) {
> >> + /*
> >> + * Add shadow resource for sub-page bar whose mmio
> >> + * page is exclusive in case that hot-add device's
> >> + * bar is assigned into the mem hole.
> >> + */
> >> + shadow_res = kzalloc(sizeof(*shadow_res), GFP_KERNEL);
> >> + shadow_res->resource.start = res->end + 1;
> >> + shadow_res->resource.end = res->start + PAGE_SIZE - 1;
> > What about res->start not page aligned so you end up still having
> > a portion before res->start not exclusively reserved?
>
> Do you mean add a 'dummy' resource to reserve the portion
> before res->start if res->start not page aligned?
>
> But would it happen that there is a mem hole in the portion
> before res->start? The resource should have been assigned
> into the hole at the beginning.
>

Just a quick thought. Another device might occupy that range
before initializing this device, and then 'another device' is hot
removed later...

Thanks
Kevin