summaryrefslogtreecommitdiffstats
path: root/mm
diff options
context:
space:
mode:
authorBrian Foster <bfoster@redhat.com>2022-11-28 16:56:32 +0100
committerAndrew Morton <akpm@linux-foundation.org>2022-12-12 03:12:11 +0100
commit3cd629e5775397103e0428f62ce64747741dbfe5 (patch)
treed47475287b33fe570304097a3a6d5dfd4efddbb4 /mm
parentfilemap: skip write and wait if end offset precedes start (diff)
downloadlinux-3cd629e5775397103e0428f62ce64747741dbfe5.tar.xz
linux-3cd629e5775397103e0428f62ce64747741dbfe5.zip
mm/fadvise: use LLONG_MAX instead of -1 for eof
generic_fadvise() sets endbyte = -1 to specify end of file (i.e. if length == 0 is passed from userspace). Most other callers to filemap_fdatawrite_range() use LLONG_MAX for this purpose, particularly if they also call fdatawait_range() (which requires end >= start). For example, sync_file_range(), vfs_fsync() (where the range is passed down through per-fs ->fsync() callbacks), filemap_flush(), etc. generic_fadvise() does not currently wait on writeback, but fix the call up to be consistent with other callers. Link: https://lkml.kernel.org/r/20221128155632.3950447-3-bfoster@redhat.com Signed-off-by: Brian Foster <bfoster@redhat.com> Reviewed-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Diffstat (limited to 'mm')
-rw-r--r--mm/fadvise.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/mm/fadvise.c b/mm/fadvise.c
index c76ee665355a..bf04fec87f35 100644
--- a/mm/fadvise.c
+++ b/mm/fadvise.c
@@ -72,7 +72,7 @@ int generic_fadvise(struct file *file, loff_t offset, loff_t len, int advice)
*/
endbyte = (u64)offset + (u64)len;
if (!len || endbyte < len)
- endbyte = -1;
+ endbyte = LLONG_MAX;
else
endbyte--; /* inclusive */