diff options
author | Hugh Dickins <hughd@google.com> | 2023-07-23 14:05:54 -0700 |
---|---|---|
committer | Andrew Morton <akpm@linux-foundation.org> | 2023-07-27 13:07:03 -0700 |
commit | fa598952fac059054316dccb2213478ccb81a0d1 (patch) | |
tree | e1af0830fa7eb13a73c2688784a399704a9380a1 /mm/pagewalk.c | |
parent | 253e5df8b8f0145adb090f57c6f4e6efa52d738e (diff) | |
download | lwn-fa598952fac059054316dccb2213478ccb81a0d1.tar.gz lwn-fa598952fac059054316dccb2213478ccb81a0d1.zip |
shmem: minor fixes to splice-read implementation
HWPoison: my reading of folio_test_hwpoison() is that it only tests the
head page of a large folio, whereas splice_folio_into_pipe() will splice
as much of the folio as it can: so for safety we should also check the
has_hwpoisoned flag, set if any of the folio's pages are hwpoisoned.
(Perhaps that ugliness can be improved at the mm end later.)
The call to splice_zeropage_into_pipe() risked overrunning past EOF: ask
it for "part" not "len".
Link: https://lkml.kernel.org/r/32c72c9c-72a8-115f-407d-f0148f368@google.com
Fixes: bd194b187115 ("shmem: Implement splice-read")
Signed-off-by: Hugh Dickins <hughd@google.com>
Reviewed-by: David Howells <dhowells@redhat.com>
Cc: David Hildenbrand <david@redhat.com>
Cc: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm/pagewalk.c')
0 files changed, 0 insertions, 0 deletions