Re: [PATCH v5 10/17] fanotify: cache fsid in fsnotify_mark_connector

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Amir,

url:    https://github.com/0day-ci/linux/commits/Amir-Goldstein/fanotify-add-support-for-more-event-types/20190111-090241

smatch warnings:
fs/notify/fanotify/fanotify.c:194 fanotify_encode_fid() error: uninitialized symbol 'type'.
fs/notify/fanotify/fanotify.c:194 fanotify_encode_fid() error: uninitialized symbol 'err'.

# https://github.com/0day-ci/linux/commit/48b7a1af51abcb893917d986bc5ae5bae2d21ad6
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 48b7a1af51abcb893917d986bc5ae5bae2d21ad6
vim +/type +194 fs/notify/fanotify/fanotify.c

1c529063 Eric Paris     2009-12-17  154  
688d9244 Amir Goldstein 2019-01-10  155  static int fanotify_encode_fid(struct fanotify_event *event,
48b7a1af Amir Goldstein 2019-01-10  156  			       const struct path *path, gfp_t gfp,
48b7a1af Amir Goldstein 2019-01-10  157  			       __kernel_fsid_t *fsid)
688d9244 Amir Goldstein 2019-01-10  158  {
688d9244 Amir Goldstein 2019-01-10  159  	struct fanotify_fid *fid = &event->fid;
688d9244 Amir Goldstein 2019-01-10  160  	int dwords, bytes = 0;
688d9244 Amir Goldstein 2019-01-10  161  	int err, type;
688d9244 Amir Goldstein 2019-01-10  162  
48b7a1af Amir Goldstein 2019-01-10  163  	if (!fsid)
48b7a1af Amir Goldstein 2019-01-10  164  		goto out_err;
48b7a1af Amir Goldstein 2019-01-10  165  
688d9244 Amir Goldstein 2019-01-10  166  	fid->ext_fh = NULL;
688d9244 Amir Goldstein 2019-01-10  167  	dwords = 0;
688d9244 Amir Goldstein 2019-01-10  168  	err = -ENOENT;
688d9244 Amir Goldstein 2019-01-10  169  	type = exportfs_encode_fh(path->dentry, NULL, &dwords,  0);
688d9244 Amir Goldstein 2019-01-10  170  	if (!dwords)
688d9244 Amir Goldstein 2019-01-10  171  		goto out_err;
688d9244 Amir Goldstein 2019-01-10  172  
688d9244 Amir Goldstein 2019-01-10  173  	bytes = dwords << 2;
688d9244 Amir Goldstein 2019-01-10  174  	if (bytes > FANOTIFY_INLINE_FH_LEN) {
688d9244 Amir Goldstein 2019-01-10  175  		/* Treat failure to allocate fh as failure to allocate event */
688d9244 Amir Goldstein 2019-01-10  176  		err = -ENOMEM;
688d9244 Amir Goldstein 2019-01-10  177  		fid->ext_fh = kmalloc(bytes, gfp);
688d9244 Amir Goldstein 2019-01-10  178  		if (!fid->ext_fh)
688d9244 Amir Goldstein 2019-01-10  179  			goto out_err;
688d9244 Amir Goldstein 2019-01-10  180  	}
688d9244 Amir Goldstein 2019-01-10  181  
688d9244 Amir Goldstein 2019-01-10  182  	type = exportfs_encode_fh(path->dentry, fanotify_fid_fh(fid, bytes),
688d9244 Amir Goldstein 2019-01-10  183  				  &dwords,  0);
688d9244 Amir Goldstein 2019-01-10  184  	err = -EINVAL;
688d9244 Amir Goldstein 2019-01-10  185  	if (!type || type == FILEID_INVALID || bytes != dwords << 2)
688d9244 Amir Goldstein 2019-01-10  186  		goto out_err;
688d9244 Amir Goldstein 2019-01-10  187  
48b7a1af Amir Goldstein 2019-01-10  188  	fid->fsid = *fsid;
688d9244 Amir Goldstein 2019-01-10  189  	event->fh_len = bytes;
688d9244 Amir Goldstein 2019-01-10  190  
688d9244 Amir Goldstein 2019-01-10  191  	return type;
688d9244 Amir Goldstein 2019-01-10  192  
688d9244 Amir Goldstein 2019-01-10  193  out_err:
688d9244 Amir Goldstein 2019-01-10 @194  	pr_warn_ratelimited("fanotify: failed to encode fid (fsid=%x.%x, type=%d, bytes=%d, err=%i)\n",
48b7a1af Amir Goldstein 2019-01-10  195  			    fsid ? fsid->val[0] : 0, fsid ? fsid->val[1] : 0,
688d9244 Amir Goldstein 2019-01-10  196  			    type, bytes, err);
688d9244 Amir Goldstein 2019-01-10  197  	kfree(fid->ext_fh);
688d9244 Amir Goldstein 2019-01-10  198  	fid->ext_fh = NULL;
688d9244 Amir Goldstein 2019-01-10  199  	event->fh_len = 0;
688d9244 Amir Goldstein 2019-01-10  200  
688d9244 Amir Goldstein 2019-01-10  201  	return FILEID_INVALID;
688d9244 Amir Goldstein 2019-01-10  202  }
688d9244 Amir Goldstein 2019-01-10  203  

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



[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]

  Powered by Linux