Re: [PATCH 2/3] nfsd: Support the server resetting the boot verifier

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

 



Hi Trond,

I love your patch! Perhaps something to improve:

[auto build test WARNING on nfsd/nfsd-next]
[cannot apply to v5.3-rc6 next-20190826]
[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/Trond-Myklebust/Handling-NFSv3-I-O-errors-in-knfsd/20190827-144324
base:   git://linux-nfs.org/~bfields/linux.git nfsd-next
config: sparc64-allmodconfig (attached as .config)
compiler: sparc64-linux-gcc (GCC) 7.4.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        GCC_VERSION=7.4.0 make.cross ARCH=sparc64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <lkp@xxxxxxxxx>

Note: it may well be a FALSE warning. FWIW you are at least aware of it now.
http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings

All warnings (new ones prefixed by >>):

   In file included from include/linux/time.h:6:0,
                    from include/linux/ktime.h:24,
                    from include/linux/timer.h:6,
                    from include/linux/workqueue.h:9,
                    from include/linux/rhashtable-types.h:15,
                    from include/linux/ipc.h:7,
                    from include/uapi/linux/sem.h:5,
                    from include/linux/sem.h:5,
                    from include/linux/sched.h:15,
                    from include/linux/sched/signal.h:7,
                    from fs/nfsd/nfssvc.c:10:
   fs/nfsd/nfssvc.c: In function 'nfsd_copy_boot_verifier':
>> include/linux/seqlock.h:528:13: warning: 'seq' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if (!(*seq & 1)) /* Even */
          ~~~~~~^~~~
   fs/nfsd/nfssvc.c:349:6: note: 'seq' was declared here
     int seq;
         ^~~
--
   In file included from include/linux/time.h:6:0,
                    from include/linux/ktime.h:24,
                    from include/linux/timer.h:6,
                    from include/linux/workqueue.h:9,
                    from include/linux/rhashtable-types.h:15,
                    from include/linux/ipc.h:7,
                    from include/uapi/linux/sem.h:5,
                    from include/linux/sem.h:5,
                    from include/linux/sched.h:15,
                    from include/linux/sched/signal.h:7,
                    from fs//nfsd/nfssvc.c:10:
   fs//nfsd/nfssvc.c: In function 'nfsd_copy_boot_verifier':
>> include/linux/seqlock.h:528:13: warning: 'seq' may be used uninitialized in this function [-Wmaybe-uninitialized]
     if (!(*seq & 1)) /* Even */
          ~~~~~~^~~~
   fs//nfsd/nfssvc.c:349:6: note: 'seq' was declared here
     int seq;
         ^~~

vim +/seq +528 include/linux/seqlock.h

1370e97bb2eb1e Waiman Long 2013-09-12  515  
2bc74feba12fbf Al Viro     2013-10-25  516  /**
2bc74feba12fbf Al Viro     2013-10-25  517   * read_seqbegin_or_lock - begin a sequence number check or locking block
2bc74feba12fbf Al Viro     2013-10-25  518   * @lock: sequence lock
2bc74feba12fbf Al Viro     2013-10-25  519   * @seq : sequence number to be checked
2bc74feba12fbf Al Viro     2013-10-25  520   *
2bc74feba12fbf Al Viro     2013-10-25  521   * First try it once optimistically without taking the lock. If that fails,
2bc74feba12fbf Al Viro     2013-10-25  522   * take the lock. The sequence number is also used as a marker for deciding
2bc74feba12fbf Al Viro     2013-10-25  523   * whether to be a reader (even) or writer (odd).
2bc74feba12fbf Al Viro     2013-10-25  524   * N.B. seq must be initialized to an even number to begin with.
2bc74feba12fbf Al Viro     2013-10-25  525   */
2bc74feba12fbf Al Viro     2013-10-25  526  static inline void read_seqbegin_or_lock(seqlock_t *lock, int *seq)
2bc74feba12fbf Al Viro     2013-10-25  527  {
2bc74feba12fbf Al Viro     2013-10-25 @528  	if (!(*seq & 1))	/* Even */
2bc74feba12fbf Al Viro     2013-10-25  529  		*seq = read_seqbegin(lock);
2bc74feba12fbf Al Viro     2013-10-25  530  	else			/* Odd */
2bc74feba12fbf Al Viro     2013-10-25  531  		read_seqlock_excl(lock);
2bc74feba12fbf Al Viro     2013-10-25  532  }
2bc74feba12fbf Al Viro     2013-10-25  533  

:::::: The code at line 528 was first introduced by commit
:::::: 2bc74feba12fbf052ec97aee8624c9f13593a9ac take read_seqbegin_or_lock() and friends to seqlock.h

:::::: TO: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
:::::: CC: Al Viro <viro@xxxxxxxxxxxxxxxxxx>

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux