On Thu, 23 May 2024 01:39:05 -0500 Donet Tom <donet...@linux.ibm.com> wrote:

> Commit 1b151e2435fc ("block: Remove special-casing of compound
> pages") caused a change in behaviour when releasing the pages
> if the buffer does not start at the beginning of the page. This
> was because the calculation of the number of pages to release
> was incorrect.
> This was fixed by commit 38b43539d64b ("block: Fix page refcounts
> for unaligned buffers in __bio_release_pages()").
> 
> We pin the user buffer during direct I/O writes. If this buffer is a
> hugepage, bio_release_page() will unpin it and decrement all references
> and pin counts at ->bi_end_io. However, if any references to the hugepage
> remain post-I/O, the hugepage will not be freed upon unmap, leading
> to a memory leak.
> 
> This patch verifies that a hugepage, used as a user buffer for DIO
> operations, is correctly freed upon unmapping, regardless of whether
> the offsets are aligned or unaligned w.r.t page boundary.
> 

You have sta...@vger.kernel.org in the mail headers, so I assume you're
proposing this for backporting.  When doing this, please include 

Cc: <sta...@vger.kernel.org>

in the changelog footers and also include a Fixes: target.  I'm
assuming the suitable Fixes: target for this patch is 38b43539d64b?

Reply via email to