]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
fuse: use offset_in_page() for page offset calculations
authorJoanne Koong <joannelkoong@gmail.com>
Tue, 20 Jan 2026 22:44:49 +0000 (14:44 -0800)
committerMiklos Szeredi <mszeredi@redhat.com>
Tue, 3 Mar 2026 16:43:33 +0000 (17:43 +0100)
Replace open-coded (x & ~PAGE_MASK) with offset_in_page().

Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Horst Birthelmer <hbirthelmer@ddn.com>
Signed-off-by: Joanne Koong <joannelkoong@gmail.com>
Reviewed-by: Jingbo Xu <jefflexu@linux.alibaba.com>
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
fs/fuse/readdir.c

index c2aae2eef0868bfac5bacf1c10af42f4d27e6b1a..c88194e52d18ffe51767fe1509d7bf04c0bad5c0 100644 (file)
@@ -52,7 +52,7 @@ static void fuse_add_dirent_to_cache(struct file *file,
        }
        version = fi->rdc.version;
        size = fi->rdc.size;
-       offset = size & ~PAGE_MASK;
+       offset = offset_in_page(size);
        index = size >> PAGE_SHIFT;
        /* Dirent doesn't fit in current page?  Jump to next page. */
        if (offset + reclen > PAGE_SIZE) {
@@ -392,7 +392,7 @@ static enum fuse_parse_result fuse_parse_cache(struct fuse_file *ff,
                                               void *addr, unsigned int size,
                                               struct dir_context *ctx)
 {
-       unsigned int offset = ff->readdir.cache_off & ~PAGE_MASK;
+       unsigned int offset = offset_in_page(ff->readdir.cache_off);
        enum fuse_parse_result res = FOUND_NONE;
 
        WARN_ON(offset >= size);
@@ -518,13 +518,13 @@ retry_locked:
        index = ff->readdir.cache_off >> PAGE_SHIFT;
 
        if (index == (fi->rdc.size >> PAGE_SHIFT))
-               size = fi->rdc.size & ~PAGE_MASK;
+               size = offset_in_page(fi->rdc.size);
        else
                size = PAGE_SIZE;
        spin_unlock(&fi->rdc.lock);
 
        /* EOF? */
-       if ((ff->readdir.cache_off & ~PAGE_MASK) == size)
+       if (offset_in_page(ff->readdir.cache_off) == size)
                return 0;
 
        page = find_get_page_flags(file->f_mapping, index,