From: Baolin Wang Date: Fri, 1 Nov 2024 01:56:29 +0000 (+0800) Subject: mm-shmem-fallback-to-page-size-splice-if-large-folio-has-poisoned-pages-fix X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=c066ab115b9aa8641b7814d0f9b8353e935a0a53;p=users%2Fjedix%2Flinux-maple.git mm-shmem-fallback-to-page-size-splice-if-large-folio-has-poisoned-pages-fix code layout cleaup, per dhowells Link: https://lkml.kernel.org/r/32dd938c-3531-49f7-93e4-b7ff21fec569@linux.alibaba.com Signed-off-by: Baolin Wang Suggested-by: David Howells Cc: David Hildenbrand Cc: Hugh Dickins Cc: Kefeng Wang Cc: Matthew Wilcox (Oracle) Cc: Yang Shi Signed-off-by: Andrew Morton --- diff --git a/mm/shmem.c b/mm/shmem.c index 275251abd596..5afc5b1f7ae1 100644 --- a/mm/shmem.c +++ b/mm/shmem.c @@ -3332,12 +3332,11 @@ static ssize_t shmem_file_splice_read(struct file *in, loff_t *ppos, * Fallback to PAGE_SIZE splice if the large folio has hwpoisoned * pages. */ - if (likely(!fallback_page_splice)) { - size = len; - } else { + size = len; + if (unlikely(fallback_page_splice)) { size_t offset = *ppos & ~PAGE_MASK; - size = min_t(loff_t, PAGE_SIZE - offset, len); + size = umin(size, PAGE_SIZE - offset); } part = min_t(loff_t, isize - *ppos, size);