On Thu, 23 May 2024 01:39:05 -0500 Donet Tom <donettom@xxxxxxxxxxxxx> 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 stable@xxxxxxxxxxxxxxx in the mail headers, so I assume you're proposing this for backporting. When doing this, please include Cc: <stable@xxxxxxxxxxxxxxx> in the changelog footers and also include a Fixes: target. I'm assuming the suitable Fixes: target for this patch is 38b43539d64b?