From: Alex Williamson <alex.williamson@redhat.com>
To: Joao Martins <joao.m.martins@oracle.com>
Cc: kvm@vger.kernel.org, Cornelia Huck <cohuck@redhat.com>,
Avihai Horon <avihaih@nvidia.com>,
Jason Gunthorpe <jgg@nvidia.com>
Subject: Re: [PATCH] vfio/iova_bitmap: refactor iova_bitmap_set() to better handle page boundaries
Date: Mon, 28 Nov 2022 15:48:12 -0700 [thread overview]
Message-ID: <20221128154812.48061660.alex.williamson@redhat.com> (raw)
In-Reply-To: <77c2ba5a-2b5c-9a47-32ae-13e5a6960d05@oracle.com>
On Mon, 28 Nov 2022 19:22:10 +0000
Joao Martins <joao.m.martins@oracle.com> wrote:
> On 28/11/2022 19:12, Alex Williamson wrote:
> > On Fri, 25 Nov 2022 17:29:56 +0000
> > Joao Martins <joao.m.martins@oracle.com> wrote:
> >
> >> Commit f38044e5ef58 ("vfio/iova_bitmap: Fix PAGE_SIZE unaligned bitmaps")
> >> had fixed the unaligned bitmaps by capping the remaining iterable set at
> >> the start of the bitmap. Although, that mistakenly worked around
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >> iova_bitmap_set() incorrectly setting bits across page boundary.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> >>
> >> Fix this by reworking the loop inside iova_bitmap_set() to iterate over a
^^^^^^^^^^^...
> >> range of bits to set (cur_bit .. last_bit) which may span different pinned
> >> pages, thus updating @page_idx and @offset as it sets the bits. The
> >> previous cap to the first page is now adjusted to be always accounted
> >> rather than when there's only a non-zero pgoff.
> >>
> >> While at it, make @page_idx , @offset and @nbits to be unsigned int given
> >> that it won't be more than 512 and 4096 respectively (even a bigger
> >> PAGE_SIZE or a smaller struct page size won't make this bigger than the
> >> above 32-bit max). Also, delete the stale kdoc on Return type.
> >>
> >> Cc: Avihai Horon <avihaih@nvidia.com>
> >> Co-developed-by: Jason Gunthorpe <jgg@nvidia.com>
> >> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> >> Signed-off-by: Joao Martins <joao.m.martins@oracle.com>
> >
> > Should this have:
> >
> > Fixes: f38044e5ef58 ("vfio/iova_bitmap: Fix PAGE_SIZE unaligned bitmaps")
> >
> > ?
>
> I was at two minds with the Fixes tag.
>
> The commit you referenced above is still a fix (or workaround), this patch is a
> better fix that superseeds as opposed to fixing a bug that commit f38044e5ef58
> introduced. So perhaps the right one ought to be:
>
> Fixes: 58ccf0190d19 ("vfio: Add an IOVA bitmap support")
The above highlighted text certainly suggests that there's a fix to
f38044e5ef58 here. We might still be iterating on a problem that was
originally introduced in 58ccf0190d19, but this more directly addresses
the version of that problem that exists after f38044e5ef58. I think
it's more helpful for backporters to see this progression rather than
two patches claiming to fix the same commit with one depending on
another. If you'd rather that stable have a different backport that
short circuits the interim fix in f38044e5ef58, that could be posted
separately, but imo it's better to follow the mainline progression.
Thanks,
Alex
next prev parent reply other threads:[~2022-11-28 22:49 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-25 17:29 [PATCH] vfio/iova_bitmap: refactor iova_bitmap_set() to better handle page boundaries Joao Martins
2022-11-28 13:21 ` Jason Gunthorpe
2022-11-28 19:12 ` Alex Williamson
2022-11-28 19:22 ` Joao Martins
2022-11-28 22:48 ` Alex Williamson [this message]
2022-11-29 11:28 ` Joao Martins
2022-11-29 13:16 ` Joao Martins
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221128154812.48061660.alex.williamson@redhat.com \
--to=alex.williamson@redhat.com \
--cc=avihaih@nvidia.com \
--cc=cohuck@redhat.com \
--cc=jgg@nvidia.com \
--cc=joao.m.martins@oracle.com \
--cc=kvm@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox