aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/cdns3/cdns3-ti.c
diff options
context:
space:
mode:
authorVishal Moola (Oracle) <[email protected]>2025-04-03 23:54:17 +0000
committerAndrew Morton <[email protected]>2025-04-12 00:32:40 +0000
commit8ab1b16023961dc640023b10436d282f905835ad (patch)
treeddb2ec2f6be6aa93e2b743f97780a4bf8b3c841d /drivers/usb/cdns3/cdns3-ti.c
parentmm/hugetlb: add a line break at the end of the format string (diff)
downloadkernel-8ab1b16023961dc640023b10436d282f905835ad.tar.gz
kernel-8ab1b16023961dc640023b10436d282f905835ad.zip
mm: fix filemap_get_folios_contig returning batches of identical folios
filemap_get_folios_contig() is supposed to return distinct folios found within [start, end]. Large folios in the Xarray become multi-index entries. xas_next() can iterate through the sub-indexes before finding a sibling entry and breaking out of the loop. This can result in a returned folio_batch containing an indeterminate number of duplicate folios, which forces the callers to skeptically handle the returned batch. This is inefficient and incurs a large maintenance overhead. We can fix this by calling xas_advance() after we have successfully adding a folio to the batch to ensure our Xarray is positioned such that it will correctly find the next folio - similar to filemap_get_read_batch(). Link: https://lkml.kernel.org/r/Z-8s1-kiIDkzgRbc@fedora Fixes: 35b471467f88 ("filemap: add filemap_get_folios_contig()") Signed-off-by: Vishal Moola (Oracle) <[email protected]> Reported-by: Qu Wenruo <[email protected]> Closes: https://lkml.kernel.org/r/[email protected] Tested-by: Qu Wenruo <[email protected]> Cc: Matthew Wilcox (Oracle) <[email protected]> Cc: Vivek Kasireddy <[email protected]> Cc: <[email protected]> Signed-off-by: Andrew Morton <[email protected]>
Diffstat (limited to 'drivers/usb/cdns3/cdns3-ti.c')
0 files changed, 0 insertions, 0 deletions