| From: "Vishal Moola (Oracle)" <vishal.moola@gmail.com> |
| Subject: afs: fix dangling folio ref counts in writeback |
| Date: Wed, 7 Jun 2023 13:41:19 -0700 |
| |
| Commit acc8d8588cb7 converted afs_writepages_region() to write back a |
| folio batch. If writeback needs rescheduling, the function exits without |
| dropping the references to the folios in fbatch. This patch fixes that. |
| |
| Link: https://lkml.kernel.org/r/20230607204120.89416-1-vishal.moola@gmail.com |
| Fixes: acc8d8588cb7 ("afs: convert afs_writepages_region() to use filemap_get_folios_tag()") |
| Signed-off-by: Vishal Moola (Oracle) <vishal.moola@gmail.com> |
| Cc: David Howells <dhowells@redhat.com> |
| Cc: <stable@vger.kernel.org> |
| Signed-off-by: Andrew Morton <akpm@linux-foundation.org> |
| --- |
| |
| fs/afs/write.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/fs/afs/write.c~afs-fix-dangling-folio-ref-counts-in-writeback |
| +++ a/fs/afs/write.c |
| @@ -764,6 +764,7 @@ static int afs_writepages_region(struct |
| if (skips >= 5 || need_resched()) { |
| *_next = start; |
| _leave(" = 0 [%llx]", *_next); |
| + folio_batch_release(&fbatch); |
| return 0; |
| } |
| skips++; |
| _ |