diff mbox series

[52/52] fuse: fix fuse_permission() for the default_permissions case

Message ID 20181210171318.16998-53-vgoyal@redhat.com (mailing list archive)
State New, archived
Headers show
Series virtio-fs: shared file system for virtual machines | expand

Commit Message

Vivek Goyal Dec. 10, 2018, 5:13 p.m. UTC
From: Miklos Szeredi <mszeredi@redhat.com>

Fixes: f064cab7f6ee ("fuse: add shared version support (virtio-fs only)")
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
---
 fs/fuse/dir.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

kernel test robot Dec. 19, 2018, 9:25 p.m. UTC | #1
Hi Miklos,

I love your patch! Yet something to improve:

[auto build test ERROR on fuse/for-next]
[cannot apply to v4.20-rc7 next-20181219]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Vivek-Goyal/virtio-fs-shared-file-system-for-virtual-machines/20181211-103034
base:   https://git.kernel.org/pub/scm/linux/kernel/git/mszeredi/fuse.git for-next
config: x86_64-allmodconfig (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All error/warnings (new ones prefixed by >>):

>> fs/ext2/inode.c:959:54: warning: incorrect type in argument 3 (different base types)
   fs/ext2/inode.c:959:54:    expected struct dax_device *dax_dev
   fs/ext2/inode.c:959:54:    got struct writeback_control *wbc
>> fs/ext2/inode.c:958:43: error: not enough arguments for function dax_writeback_mapping_range
   fs/ext2/inode.c: In function 'ext2_dax_writepages':
   fs/ext2/inode.c:959:33: error: passing argument 3 of 'dax_writeback_mapping_range' from incompatible pointer type [-Werror=incompatible-pointer-types]
       mapping->host->i_sb->s_bdev, wbc);
                                    ^~~
   In file included from fs/ext2/inode.c:29:0:
   include/linux/dax.h:87:5: note: expected 'struct dax_device *' but argument is of type 'struct writeback_control *'
    int dax_writeback_mapping_range(struct address_space *mapping,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext2/inode.c:958:9: error: too few arguments to function 'dax_writeback_mapping_range'
     return dax_writeback_mapping_range(mapping,
            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   In file included from fs/ext2/inode.c:29:0:
   include/linux/dax.h:87:5: note: declared here
    int dax_writeback_mapping_range(struct address_space *mapping,
        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   fs/ext2/inode.c:960:1: warning: control reaches end of non-void function [-Wreturn-type]
    }
    ^
   cc1: some warnings being treated as errors
--
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
   include/linux/slab.h:332:43: warning: dubious: x & !y
>> fs/fuse/file.c:3793:5: warning: symbol 'fuse_dax_reclaim_dmap_locked' was not declared. Should it be static?
>> fs/fuse/file.c:3825:25: warning: symbol 'fuse_dax_reclaim_first_mapping_locked' was not declared. Should it be static?
>> fs/fuse/file.c:3862:25: warning: symbol 'fuse_dax_reclaim_first_mapping' was not declared. Should it be static?
>> fs/fuse/file.c:3901:5: warning: symbol 'fuse_dax_free_one_mapping_locked' was not declared. Should it be static?
>> fs/fuse/file.c:3946:5: warning: symbol 'fuse_dax_free_one_mapping' was not declared. Should it be static?
>> fs/fuse/file.c:3967:5: warning: symbol 'fuse_dax_free_memory' was not declared. Should it be static?

vim +958 fs/ext2/inode.c

7f6d5b52 Ross Zwisler   2016-02-26  954  
fb094c90 Dan Williams   2017-12-21  955  static int
fb094c90 Dan Williams   2017-12-21  956  ext2_dax_writepages(struct address_space *mapping, struct writeback_control *wbc)
fb094c90 Dan Williams   2017-12-21  957  {
fb094c90 Dan Williams   2017-12-21 @958  	return dax_writeback_mapping_range(mapping,
fb094c90 Dan Williams   2017-12-21 @959  			mapping->host->i_sb->s_bdev, wbc);
^1da177e Linus Torvalds 2005-04-16  960  }
^1da177e Linus Torvalds 2005-04-16  961  

:::::: The code at line 958 was first introduced by commit
:::::: fb094c90748fbeba1063927eeb751add147b35b9 ext2, dax: introduce ext2_dax_aops

:::::: TO: Dan Williams <dan.j.williams@intel.com>
:::::: CC: Dan Williams <dan.j.williams@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox series

Patch

diff --git a/fs/fuse/dir.c b/fs/fuse/dir.c
index f9a91e782cf0..f1da787796e8 100644
--- a/fs/fuse/dir.c
+++ b/fs/fuse/dir.c
@@ -1324,7 +1324,7 @@  static int fuse_permission(struct inode *inode, int mask)
 
 	if (fc->default_permissions) {
 		err = -EACCES;
-		if (!refreshed && !fuse_shared_version_mismatch(inode))
+		if (refreshed || !fuse_shared_version_mismatch(inode))
 			err = generic_permission(inode, mask);
 
 		/* If permission is denied, try to refresh file