CC: kbuild-...@lists.01.org
In-Reply-To: <20200630023003.1858066-1-p...@darkrain42.org>
References: <20200630023003.1858066-1-p...@darkrain42.org>
TO: Paul Aurich <p...@darkrain42.org>

Hi Paul,

Thank you for the patch! Perhaps something to improve:

[auto build test WARNING on cifs/for-next]
[also build test WARNING on v5.8-rc3 next-20200629]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use  as documented in
https://git-scm.com/docs/git-format-patch]

url:    
https://github.com/0day-ci/linux/commits/Paul-Aurich/cifs-Fix-leak-when-handling-lease-break-for-cached-root-fid/20200630-103420
base:   git://git.samba.org/sfrench/cifs-2.6.git for-next
:::::: branch date: 5 hours ago
:::::: commit date: 5 hours ago
config: sparc-randconfig-s031-20200630 (attached as .config)
compiler: sparc-linux-gcc (GCC) 9.3.0
reproduce:
        wget 
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O 
~/bin/make.cross
        chmod +x ~/bin/make.cross
        # apt-get install sparse
        # sparse version: v0.6.2-3-gfa153962-dirty
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross C= 
CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=sparc 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <l...@intel.com>


sparse warnings: (new ones prefixed by >>)

         |     ^~~~~~~~~~~~~~~
   fs/cifs/ioctl.c: In function 'cifs_ioctl':
   fs/cifs/ioctl.c:174:10: warning: variable 'caps' set but not used 
[-Wunused-but-set-variable]
     174 |  __u64   caps;
         |          ^~~~
   In file included from fs/btrfs/zstd.c:19:
   include/linux/zstd.h:798:21: warning: 'ZSTD_skippableHeaderSize' defined but 
not used [-Wunused-const-variable=]
     798 | static const size_t ZSTD_skippableHeaderSize = 8;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:796:21: warning: 'ZSTD_frameHeaderSize_max' defined but 
not used [-Wunused-const-variable=]
     796 | static const size_t ZSTD_frameHeaderSize_max = 
ZSTD_FRAMEHEADERSIZE_MAX;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:795:21: warning: 'ZSTD_frameHeaderSize_min' defined but 
not used [-Wunused-const-variable=]
     795 | static const size_t ZSTD_frameHeaderSize_min = 
ZSTD_FRAMEHEADERSIZE_MIN;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:794:21: warning: 'ZSTD_frameHeaderSize_prefix' defined 
but not used [-Wunused-const-variable=]
     794 | static const size_t ZSTD_frameHeaderSize_prefix = 5;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rculist_bl.h:24:33: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:24:33: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:24:33: sparse:    struct hlist_bl_node *
   include/linux/rculist_bl.h:17:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node *
   include/linux/rculist_bl.h:17:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node *
   In file included from fs/btrfs/compression.c:22:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/signalfd.c:66:33: sparse: sparse: incorrect type in argument 2 (different 
address spaces) @@     expected struct wait_queue_head [usertype] *wait_address 
@@     got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:66:33: sparse:     expected struct wait_queue_head [usertype] 
*wait_address
   fs/signalfd.c:66:33: sparse:     got struct wait_queue_head [noderef] __rcu *
   fs/signalfd.c:68:31: sparse: sparse: incorrect type in argument 1 (different 
address spaces) @@     expected struct spinlock [usertype] *lock @@     got 
struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:68:31: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:68:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:73:33: sparse: sparse: incorrect type in argument 1 (different 
address spaces) @@     expected struct spinlock [usertype] *lock @@     got 
struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:73:33: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:73:33: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:108:32: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:125:33: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:131:33: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:150:32: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:154:38: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:172:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:172:31: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:172:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:181:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:181:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:181:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:185:32: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:185:32: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:185:32: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/signalfd.c:195:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:195:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:195:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:197:39: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:197:39: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:197:39: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:199:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:199:33: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:199:33: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:201:35: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:201:35: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:201:35: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/signalfd.c:301:39: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:301:39: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:301:39: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:303:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:303:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:303:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:305:17: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:305:17: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:305:17: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'tree' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'offset' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'next_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'prev_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'p_ret' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'parent_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'tree' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'start' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'start_ret' 
not described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'end_ret' 
not described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'bits' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'tree' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'start' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'start_ret' 
not described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'end_ret' 
not described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'bits' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:4152: warning: Function parameter or member 'epd' not 
described in 'extent_write_cache_pages'
   fs/btrfs/extent_io.c:4152: warning: Excess function parameter 'data' 
description in 'extent_write_cache_pages'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'root' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'inode' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'ctl' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'block_group' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'io_ctl' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'trans' not described in '__btrfs_write_out_cache'
   fs/cifs/smb2misc.c:630:47: sparse: sparse: undefined identifier 'lw'
>> fs/cifs/smb2misc.c:542:24: sparse: sparse: context imbalance in 
>> 'smb2_tcon_has_lease' - unexpected unlock
>> fs/cifs/smb2misc.c:594:1: sparse: sparse: context imbalance in 
>> 'smb2_is_valid_lease_break' - wrong count at exit
   fs/cifs/smb2misc.c: In function 'smb2_is_valid_lease_break':
   fs/cifs/smb2misc.c:630:12: error: 'lw' undeclared (first use in this 
function)
     630 |      kfree(lw);
         |            ^~
   fs/cifs/smb2misc.c:630:12: note: each undeclared identifier is reported only 
once for each function it appears in
   make[3]: *** [scripts/Makefile.build:281: fs/cifs/smb2misc.o] Error 1
   fs/gfs2/inode.c:297: warning: Function parameter or member 'dir' not 
described in 'gfs2_lookupi'
   fs/gfs2/inode.c:297: warning: Excess function parameter 'd_gh' description 
in 'gfs2_lookupi'
   fs/gfs2/inode.c:297: warning: Excess function parameter 'i_gh' description 
in 'gfs2_lookupi'
   fs/gfs2/inode.c:478: warning: Excess function parameter 'bhp' description in 
'init_dinode'
   fs/gfs2/inode.c:599: warning: Function parameter or member 'excl' not 
described in 'gfs2_create_inode'
   fs/gfs2/inode.c:845: warning: Function parameter or member 'excl' not 
described in 'gfs2_create'
   fs/gfs2/inode.c:1089: warning: Function parameter or member 'dentry' not 
described in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1089: warning: Excess function parameter 'name' description 
in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1089: warning: Excess function parameter 'inode' description 
in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1834: warning: Excess function parameter 'flags' description 
in 'gfs2_permission'
   fs/gfs2/inode.c:1875: warning: Function parameter or member 'inode' not 
described in 'gfs2_setattr_simple'
   In file included from fs/btrfs/delayed-ref.c:9:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/gfs2/recovery.c:165: warning: Function parameter or member 'head' not 
described in 'get_log_header'
   fs/gfs2/recovery.c:165: warning: Excess function parameter 'lh' description 
in 'get_log_header'
   fs/gfs2/recovery.c:195: warning: Function parameter or member 'pass' not 
described in 'foreach_descriptor'
   fs/btrfs/delayed-ref.c:80: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_delayed_refs_rsv_release'
   fs/btrfs/delayed-ref.c:80: warning: Function parameter or member 'nr' not 
described in 'btrfs_delayed_refs_rsv_release'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 'src' not 
described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 
'num_bytes' not described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:174: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_delayed_refs_rsv_refill'
   fs/btrfs/delayed-ref.c:174: warning: Function parameter or member 'flush' 
not described in 'btrfs_delayed_refs_rsv_refill'
   fs/eventpoll.c:1131: warning: Function parameter or member 'new' not 
described in 'list_add_tail_lockless'
   fs/eventpoll.c:1131: warning: Function parameter or member 'head' not 
described in 'list_add_tail_lockless'
   fs/eventpoll.c:1171: warning: Function parameter or member 'epi' not 
described in 'chain_epi_lockless'
   fs/btrfs/inode.c:2953: warning: Function parameter or member 'fs_info' not 
described in 'btrfs_wait_on_delayed_iputs'
   In file included from fs/btrfs/relocation.c:13:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/xfs/xfs_extent_busy.c:572:33: sparse: sparse: context imbalance in 
'xfs_extent_busy_clear' - unexpected unlock
   fs/io_uring.c:2350:24: sparse: sparse: incorrect type in return expression 
(different address spaces) @@     expected void [noderef] __user * @@     got 
struct io_buffer *[assigned] kbuf @@
   fs/io_uring.c:2350:24: sparse:     expected void [noderef] __user *
   fs/io_uring.c:2350:24: sparse:     got struct io_buffer *[assigned] kbuf
   fs/io_uring.c:2518:40: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected void [noderef] __user *[assigned] 
iov_base @@     got void * @@
   fs/io_uring.c:2518:40: sparse:     expected void [noderef] __user 
*[assigned] iov_base
   fs/io_uring.c:2518:40: sparse:     got void *
   fs/io_uring.c:2901:37: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected long long [noderef] [usertype] 
__user *off_in @@     got long long [usertype] *[assigned] poff_in @@
   fs/io_uring.c:2901:37: sparse:     expected long long [noderef] [usertype] 
__user *off_in
   fs/io_uring.c:2901:37: sparse:     got long long [usertype] *[assigned] 
poff_in
   fs/io_uring.c:2901:51: sparse: sparse: incorrect type in argument 4 
(different address spaces) @@     expected long long [noderef] [usertype] 
__user *off_out @@     got long long [usertype] *[assigned] poff_out @@
   fs/io_uring.c:2901:51: sparse:     expected long long [noderef] [usertype] 
__user *off_out
   fs/io_uring.c:2901:51: sparse:     got long long [usertype] *[assigned] 
poff_out
   fs/io_uring.c:4085:72: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[usertype] mask @@
   fs/io_uring.c:4085:72: sparse:     expected int mask
   fs/io_uring.c:4085:72: sparse:     got restricted __poll_t [usertype] mask
   fs/io_uring.c:4090:21: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned int [usertype] result @@     
got restricted __poll_t [usertype] mask @@
   fs/io_uring.c:4090:21: sparse:     expected unsigned int [usertype] result
   fs/io_uring.c:4090:21: sparse:     got restricted __poll_t [usertype] mask
   fs/io_uring.c:4116:29: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned int [usertype] result @@     
got restricted __poll_t @@
   fs/io_uring.c:4116:29: sparse:     expected unsigned int [usertype] result
   fs/io_uring.c:4116:29: sparse:     got restricted __poll_t
   fs/io_uring.c:4166:34: sparse: sparse: incorrect type in argument 2 
(different base types) @@     expected restricted __poll_t [usertype] mask @@   
  got unsigned int [usertype] result @@
   fs/io_uring.c:4166:34: sparse:     expected restricted __poll_t [usertype] 
mask
   fs/io_uring.c:4166:34: sparse:     got unsigned int [usertype] result
   fs/io_uring.c:4344:41: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[usertype] @@
   fs/io_uring.c:4344:41: sparse:     expected int mask
   fs/io_uring.c:4344:41: sparse:     got restricted __poll_t [usertype]
   fs/io_uring.c:4429:22: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4429:22: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4429:22: sparse:    right side has type int
   fs/io_uring.c:4431:22: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4431:22: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4431:22: sparse:    right side has type int
   fs/io_uring.c:4432:14: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4432:14: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4432:14: sparse:    right side has type int
   fs/io_uring.c:4450:67: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[assigned] [usertype] mask @@
   fs/io_uring.c:4450:67: sparse:     expected int mask
   fs/io_uring.c:4450:67: sparse:     got restricted __poll_t [assigned] 
[usertype] mask
   fs/io_uring.c:4451:52: sparse: sparse: incorrect type in argument 5 
(different base types) @@     expected int events @@     got restricted 
__poll_t [usertype] events @@
   fs/io_uring.c:4451:52: sparse:     expected int events
   fs/io_uring.c:4451:52: sparse:     got restricted __poll_t [usertype] events
   fs/btrfs/scrub.c:1180:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:1180:25: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:1180:25: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:1189:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:1189:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:1189:17: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:703:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:703:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:703:17: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:717:9: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:717:9: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:717:9: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:775:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:775:25: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:775:25: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:2136:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:2136:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:2136:17: sparse:    struct rcu_string *
--
         |     ^~~~~~~~~~~~~~~
   fs/cifs/ioctl.c: In function 'cifs_ioctl':
   fs/cifs/ioctl.c:174:10: warning: variable 'caps' set but not used 
[-Wunused-but-set-variable]
     174 |  __u64   caps;
         |          ^~~~
   In file included from fs/btrfs/zstd.c:19:
   include/linux/zstd.h:798:21: warning: 'ZSTD_skippableHeaderSize' defined but 
not used [-Wunused-const-variable=]
     798 | static const size_t ZSTD_skippableHeaderSize = 8;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:796:21: warning: 'ZSTD_frameHeaderSize_max' defined but 
not used [-Wunused-const-variable=]
     796 | static const size_t ZSTD_frameHeaderSize_max = 
ZSTD_FRAMEHEADERSIZE_MAX;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:795:21: warning: 'ZSTD_frameHeaderSize_min' defined but 
not used [-Wunused-const-variable=]
     795 | static const size_t ZSTD_frameHeaderSize_min = 
ZSTD_FRAMEHEADERSIZE_MIN;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/zstd.h:794:21: warning: 'ZSTD_frameHeaderSize_prefix' defined 
but not used [-Wunused-const-variable=]
     794 | static const size_t ZSTD_frameHeaderSize_prefix = 5;
         |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/linux/rculist_bl.h:24:33: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:24:33: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:24:33: sparse:    struct hlist_bl_node *
   include/linux/rculist_bl.h:17:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node *
   include/linux/rculist_bl.h:17:9: sparse: sparse: incompatible types in 
comparison expression (different address spaces):
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node [noderef] 
__rcu *
   include/linux/rculist_bl.h:17:9: sparse:    struct hlist_bl_node *
   In file included from fs/btrfs/compression.c:22:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/signalfd.c:66:33: sparse: sparse: incorrect type in argument 2 (different 
address spaces) @@     expected struct wait_queue_head [usertype] *wait_address 
@@     got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:66:33: sparse:     expected struct wait_queue_head [usertype] 
*wait_address
   fs/signalfd.c:66:33: sparse:     got struct wait_queue_head [noderef] __rcu *
   fs/signalfd.c:68:31: sparse: sparse: incorrect type in argument 1 (different 
address spaces) @@     expected struct spinlock [usertype] *lock @@     got 
struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:68:31: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:68:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:73:33: sparse: sparse: incorrect type in argument 1 (different 
address spaces) @@     expected struct spinlock [usertype] *lock @@     got 
struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:73:33: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:73:33: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:108:32: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:125:33: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:131:33: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:150:32: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:154:38: sparse: sparse: cast removes address space '__user' of 
expression
   fs/signalfd.c:172:31: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:172:31: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:172:31: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:181:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:181:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:181:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:185:32: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:185:32: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:185:32: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/signalfd.c:195:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:195:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:195:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:197:39: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:197:39: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:197:39: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:199:33: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:199:33: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:199:33: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:201:35: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:201:35: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:201:35: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/signalfd.c:301:39: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:301:39: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:301:39: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:303:41: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct spinlock [usertype] *lock @@  
   got struct spinlock [noderef] __rcu * @@
   fs/signalfd.c:303:41: sparse:     expected struct spinlock [usertype] *lock
   fs/signalfd.c:303:41: sparse:     got struct spinlock [noderef] __rcu *
   fs/signalfd.c:305:17: sparse: sparse: incorrect type in argument 1 
(different address spaces) @@     expected struct wait_queue_head *wq_head @@   
  got struct wait_queue_head [noderef] __rcu * @@
   fs/signalfd.c:305:17: sparse:     expected struct wait_queue_head *wq_head
   fs/signalfd.c:305:17: sparse:     got struct wait_queue_head [noderef] __rcu 
*
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'tree' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'offset' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'next_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'prev_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'p_ret' not 
described in '__etree_search'
   fs/btrfs/extent_io.c:414: warning: Function parameter or member 'parent_ret' 
not described in '__etree_search'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'tree' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'start' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'start_ret' 
not described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'end_ret' 
not described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1616: warning: Function parameter or member 'bits' not 
described in 'find_contiguous_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'tree' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'start' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'start_ret' 
not described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'end_ret' 
not described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:1653: warning: Function parameter or member 'bits' not 
described in 'find_first_clear_extent_bit'
   fs/btrfs/extent_io.c:4152: warning: Function parameter or member 'epd' not 
described in 'extent_write_cache_pages'
   fs/btrfs/extent_io.c:4152: warning: Excess function parameter 'data' 
description in 'extent_write_cache_pages'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'root' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'inode' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'ctl' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'block_group' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'io_ctl' not described in '__btrfs_write_out_cache'
   fs/btrfs/free-space-cache.c:1260: warning: Function parameter or member 
'trans' not described in '__btrfs_write_out_cache'
   fs/cifs/smb2misc.c:630:47: sparse: sparse: undefined identifier 'lw'
>> fs/cifs/smb2misc.c:542:24: sparse: sparse: context imbalance in 
>> 'smb2_tcon_has_lease' - unexpected unlock
>> fs/cifs/smb2misc.c:594:1: sparse: sparse: context imbalance in 
>> 'smb2_is_valid_lease_break' - wrong count at exit
   fs/cifs/smb2misc.c: In function 'smb2_is_valid_lease_break':
   fs/cifs/smb2misc.c:630:12: error: 'lw' undeclared (first use in this 
function)
     630 |      kfree(lw);
         |            ^~
   fs/cifs/smb2misc.c:630:12: note: each undeclared identifier is reported only 
once for each function it appears in
   make[3]: *** [scripts/Makefile.build:281: fs/cifs/smb2misc.o] Error 1
   fs/gfs2/inode.c:297: warning: Function parameter or member 'dir' not 
described in 'gfs2_lookupi'
   fs/gfs2/inode.c:297: warning: Excess function parameter 'd_gh' description 
in 'gfs2_lookupi'
   fs/gfs2/inode.c:297: warning: Excess function parameter 'i_gh' description 
in 'gfs2_lookupi'
   fs/gfs2/inode.c:478: warning: Excess function parameter 'bhp' description in 
'init_dinode'
   fs/gfs2/inode.c:599: warning: Function parameter or member 'excl' not 
described in 'gfs2_create_inode'
   fs/gfs2/inode.c:845: warning: Function parameter or member 'excl' not 
described in 'gfs2_create'
   fs/gfs2/inode.c:1089: warning: Function parameter or member 'dentry' not 
described in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1089: warning: Excess function parameter 'name' description 
in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1089: warning: Excess function parameter 'inode' description 
in 'gfs2_unlink_inode'
   fs/gfs2/inode.c:1834: warning: Excess function parameter 'flags' description 
in 'gfs2_permission'
   fs/gfs2/inode.c:1875: warning: Function parameter or member 'inode' not 
described in 'gfs2_setattr_simple'
   In file included from fs/btrfs/delayed-ref.c:9:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/gfs2/recovery.c:165: warning: Function parameter or member 'head' not 
described in 'get_log_header'
   fs/gfs2/recovery.c:165: warning: Excess function parameter 'lh' description 
in 'get_log_header'
   fs/gfs2/recovery.c:195: warning: Function parameter or member 'pass' not 
described in 'foreach_descriptor'
   fs/btrfs/delayed-ref.c:80: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_delayed_refs_rsv_release'
   fs/btrfs/delayed-ref.c:80: warning: Function parameter or member 'nr' not 
described in 'btrfs_delayed_refs_rsv_release'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 'src' not 
described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:128: warning: Function parameter or member 
'num_bytes' not described in 'btrfs_migrate_to_delayed_refs_rsv'
   fs/btrfs/delayed-ref.c:174: warning: Function parameter or member 'fs_info' 
not described in 'btrfs_delayed_refs_rsv_refill'
   fs/btrfs/delayed-ref.c:174: warning: Function parameter or member 'flush' 
not described in 'btrfs_delayed_refs_rsv_refill'
   fs/eventpoll.c:1131: warning: Function parameter or member 'new' not 
described in 'list_add_tail_lockless'
   fs/eventpoll.c:1131: warning: Function parameter or member 'head' not 
described in 'list_add_tail_lockless'
   fs/eventpoll.c:1171: warning: Function parameter or member 'epi' not 
described in 'chain_epi_lockless'
   fs/btrfs/inode.c:2953: warning: Function parameter or member 'fs_info' not 
described in 'btrfs_wait_on_delayed_iputs'
   In file included from fs/btrfs/relocation.c:13:
   fs/btrfs/ctree.h:2217:8: warning: type qualifiers ignored on function return 
type [-Wignored-qualifiers]
    2217 | size_t __const btrfs_get_num_csums(void);
         |        ^~~~~~~
   fs/xfs/xfs_extent_busy.c:572:33: sparse: sparse: context imbalance in 
'xfs_extent_busy_clear' - unexpected unlock
   fs/io_uring.c:2350:24: sparse: sparse: incorrect type in return expression 
(different address spaces) @@     expected void [noderef] __user * @@     got 
struct io_buffer *[assigned] kbuf @@
   fs/io_uring.c:2350:24: sparse:     expected void [noderef] __user *
   fs/io_uring.c:2350:24: sparse:     got struct io_buffer *[assigned] kbuf
   fs/io_uring.c:2518:40: sparse: sparse: incorrect type in assignment 
(different address spaces) @@     expected void [noderef] __user *[assigned] 
iov_base @@     got void * @@
   fs/io_uring.c:2518:40: sparse:     expected void [noderef] __user 
*[assigned] iov_base
   fs/io_uring.c:2518:40: sparse:     got void *
   fs/io_uring.c:2901:37: sparse: sparse: incorrect type in argument 2 
(different address spaces) @@     expected long long [noderef] [usertype] 
__user *off_in @@     got long long [usertype] *[assigned] poff_in @@
   fs/io_uring.c:2901:37: sparse:     expected long long [noderef] [usertype] 
__user *off_in
   fs/io_uring.c:2901:37: sparse:     got long long [usertype] *[assigned] 
poff_in
   fs/io_uring.c:2901:51: sparse: sparse: incorrect type in argument 4 
(different address spaces) @@     expected long long [noderef] [usertype] 
__user *off_out @@     got long long [usertype] *[assigned] poff_out @@
   fs/io_uring.c:2901:51: sparse:     expected long long [noderef] [usertype] 
__user *off_out
   fs/io_uring.c:2901:51: sparse:     got long long [usertype] *[assigned] 
poff_out
   fs/io_uring.c:4085:72: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[usertype] mask @@
   fs/io_uring.c:4085:72: sparse:     expected int mask
   fs/io_uring.c:4085:72: sparse:     got restricted __poll_t [usertype] mask
   fs/io_uring.c:4090:21: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned int [usertype] result @@     
got restricted __poll_t [usertype] mask @@
   fs/io_uring.c:4090:21: sparse:     expected unsigned int [usertype] result
   fs/io_uring.c:4090:21: sparse:     got restricted __poll_t [usertype] mask
   fs/io_uring.c:4116:29: sparse: sparse: incorrect type in assignment 
(different base types) @@     expected unsigned int [usertype] result @@     
got restricted __poll_t @@
   fs/io_uring.c:4116:29: sparse:     expected unsigned int [usertype] result
   fs/io_uring.c:4116:29: sparse:     got restricted __poll_t
   fs/io_uring.c:4166:34: sparse: sparse: incorrect type in argument 2 
(different base types) @@     expected restricted __poll_t [usertype] mask @@   
  got unsigned int [usertype] result @@
   fs/io_uring.c:4166:34: sparse:     expected restricted __poll_t [usertype] 
mask
   fs/io_uring.c:4166:34: sparse:     got unsigned int [usertype] result
   fs/io_uring.c:4344:41: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[usertype] @@
   fs/io_uring.c:4344:41: sparse:     expected int mask
   fs/io_uring.c:4344:41: sparse:     got restricted __poll_t [usertype]
   fs/io_uring.c:4429:22: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4429:22: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4429:22: sparse:    right side has type int
   fs/io_uring.c:4431:22: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4431:22: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4431:22: sparse:    right side has type int
   fs/io_uring.c:4432:14: sparse: sparse: invalid assignment: |=
   fs/io_uring.c:4432:14: sparse:    left side has type restricted __poll_t
   fs/io_uring.c:4432:14: sparse:    right side has type int
   fs/io_uring.c:4450:67: sparse: sparse: incorrect type in argument 4 
(different base types) @@     expected int mask @@     got restricted __poll_t 
[assigned] [usertype] mask @@
   fs/io_uring.c:4450:67: sparse:     expected int mask
   fs/io_uring.c:4450:67: sparse:     got restricted __poll_t [assigned] 
[usertype] mask
   fs/io_uring.c:4451:52: sparse: sparse: incorrect type in argument 5 
(different base types) @@     expected int events @@     got restricted 
__poll_t [usertype] events @@
   fs/io_uring.c:4451:52: sparse:     expected int events
   fs/io_uring.c:4451:52: sparse:     got restricted __poll_t [usertype] events
   fs/btrfs/scrub.c:1180:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:1180:25: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:1180:25: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:1189:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:1189:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:1189:17: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:703:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:703:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:703:17: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:717:9: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:717:9: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:717:9: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:775:25: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:775:25: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:775:25: sparse:    struct rcu_string *
   fs/btrfs/scrub.c:2136:17: sparse: sparse: incompatible types in comparison 
expression (different address spaces):
   fs/btrfs/scrub.c:2136:17: sparse:    struct rcu_string [noderef] __rcu *
   fs/btrfs/scrub.c:2136:17: sparse:    struct rcu_string *
--
   fs/cifs/cifsglob.h:1903:41: sparse: sparse: symbol 'cifs_tcp_ses_list' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1915:41: sparse: sparse: symbol 'cifs_tcp_ses_lock' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1927:28: sparse: sparse: symbol 'GlobalCurrentXid' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1928:28: sparse: sparse: symbol 'GlobalTotalActiveXid' 
was not declared. Should it be static?
   fs/cifs/cifsglob.h:1929:28: sparse: sparse: symbol 'GlobalMaxActiveXid' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1930:26: sparse: sparse: symbol 'GlobalMid_Lock' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1935:24: sparse: sparse: symbol 'sesInfoAllocCount' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1936:24: sparse: sparse: symbol 'tconInfoAllocCount' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1937:24: sparse: sparse: symbol 'tcpSesAllocCount' was 
not declared. Should it be static?
   fs/cifs/cifsglob.h:1938:24: sparse: sparse: symbol 'tcpSesReconnectCount' 
was not declared. Should it be static?
   fs/cifs/cifsglob.h:1939:24: sparse: sparse: symbol 'tconInfoReconnectCount' 
was not declared. Should it be static?
   fs/cifs/cifsglob.h:1942:24: sparse: sparse: symbol 'bufAllocCount' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1948:24: sparse: sparse: symbol 'smBufAllocCount' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1949:24: sparse: sparse: symbol 'midCount' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1964:30: sparse: sparse: symbol 'uidtree' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1965:30: sparse: sparse: symbol 'gidtree' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1966:26: sparse: sparse: symbol 'siduidlock' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1967:26: sparse: sparse: symbol 'sidgidlock' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1968:30: sparse: sparse: symbol 'siduidtree' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1969:30: sparse: sparse: symbol 'sidgidtree' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1970:26: sparse: sparse: symbol 'uidsidlock' was not 
declared. Should it be static?
   fs/cifs/cifsglob.h:1971:26: sparse: sparse: symbol 'gidsidlock' was not 
declared. Should it be static?
   fs/cifs/connect.c:2925: warning: Function parameter or member 'ses' not 
described in 'cifs_setup_ipc'
   fs/cifs/connect.c:2925: warning: Function parameter or member 'volume_info' 
not described in 'cifs_setup_ipc'
   fs/cifs/connect.c:2984: warning: Function parameter or member 'ses' not 
described in 'cifs_free_ipc'
   fs/cifs/connect.c:3233: warning: Function parameter or member 'server' not 
described in 'cifs_get_smb_ses'
   fs/cifs/connect.c:3233: warning: Function parameter or member 'volume_info' 
not described in 'cifs_get_smb_ses'
   fs/cifs/connect.c:3446: warning: Function parameter or member 'ses' not 
described in 'cifs_get_tcon'
   fs/cifs/connect.c:3446: warning: Function parameter or member 'volume_info' 
not described in 'cifs_get_tcon'
   fs/cifs/connect.c:4426: warning: Function parameter or member 'xid' not 
described in 'expand_dfs_referral'
   fs/cifs/connect.c:4426: warning: Function parameter or member 'ses' not 
described in 'expand_dfs_referral'
   fs/cifs/connect.c:4426: warning: Function parameter or member 'volume_info' 
not described in 'expand_dfs_referral'
   fs/cifs/connect.c:4426: warning: Function parameter or member 'cifs_sb' not 
described in 'expand_dfs_referral'
   fs/cifs/connect.c:4426: warning: Function parameter or member 'check_prefix' 
not described in 'expand_dfs_referral'
   fs/cifs/inode.c: In function 'smb311_posix_get_inode_info':
   fs/cifs/inode.c:1089:26: warning: variable 'server' set but not used 
[-Wunused-but-set-variable]
    1089 |  struct TCP_Server_Info *server;
         |                          ^~~~~~
   fs/cifs/file.c:421: warning: Function parameter or member 'cifs_file' not 
described in 'cifsFileInfo_put'
   fs/cifs/file.c:440: warning: Function parameter or member 'cifs_file' not 
described in '_cifsFileInfo_put'
   fs/cifs/file.c:440: warning: Function parameter or member 
'wait_oplock_handler' not described in '_cifsFileInfo_put'
   fs/cifs/file.c:440: warning: Function parameter or member 'offload' not 
described in '_cifsFileInfo_put'
   fs/cifs/inode.c:804: warning: Function parameter or member 'xid' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:804: warning: Function parameter or member 'tcon' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:804: warning: Function parameter or member 'sb' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:804: warning: Function parameter or member 'full_path' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:804: warning: Function parameter or member 'resp_buf' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:804: warning: Function parameter or member 'data' not 
described in 'cifs_backup_query_path_info'
   fs/cifs/inode.c:2211: warning: Function parameter or member 'key' not 
described in 'cifs_wait_bit_killable'
   fs/cifs/inode.c:2211: warning: Function parameter or member 'mode' not 
described in 'cifs_wait_bit_killable'
   fs/cifs/inode.c:2211: warning: Excess function parameter 'word' description 
in 'cifs_wait_bit_killable'
   fs/cifs/misc.c:613: warning: Function parameter or member 'cfile' not 
described in 'cifs_queue_oplock_break'
   fs/cifs/misc.c:928: warning: Function parameter or member 'name' not 
described in 'cifs_alloc_hash'
   fs/cifs/misc.c:928: warning: Function parameter or member 'shash' not 
described in 'cifs_alloc_hash'
   fs/cifs/misc.c:928: warning: Function parameter or member 'sdesc' not 
described in 'cifs_alloc_hash'
   fs/cifs/misc.c:964: warning: Function parameter or member 'shash' not 
described in 'cifs_free_hash'
   fs/cifs/misc.c:964: warning: Function parameter or member 'sdesc' not 
described in 'cifs_free_hash'
   fs/cifs/misc.c:979: warning: Function parameter or member 'rqst' not 
described in 'rqst_page_get_length'
   fs/cifs/misc.c:979: warning: Function parameter or member 'page' not 
described in 'rqst_page_get_length'
   fs/cifs/misc.c:979: warning: Function parameter or member 'len' not 
described in 'rqst_page_get_length'
   fs/cifs/misc.c:979: warning: Function parameter or member 'offset' not 
described in 'rqst_page_get_length'
   fs/cifs/misc.c:1012: warning: Function parameter or member 'dst' not 
described in 'copy_path_name'
   fs/cifs/misc.c:1012: warning: Function parameter or member 'src' not 
described in 'copy_path_name'
   fs/cifs/ioctl.c: In function 'cifs_ioctl':
   fs/cifs/ioctl.c:174:10: warning: variable 'caps' set but not used 
[-Wunused-but-set-variable]
     174 |  __u64   caps;
         |          ^~~~
   fs/cifs/smb2misc.c:630:47: sparse: sparse: undefined identifier 'lw'
>> fs/cifs/smb2misc.c:542:24: sparse: sparse: context imbalance in 
>> 'smb2_tcon_has_lease' - unexpected unlock
>> fs/cifs/smb2misc.c:594:1: sparse: sparse: context imbalance in 
>> 'smb2_is_valid_lease_break' - wrong count at exit
   fs/cifs/smb2misc.c: In function 'smb2_is_valid_lease_break':
   fs/cifs/smb2misc.c:630:12: error: 'lw' undeclared (first use in this 
function)
     630 |      kfree(lw);
         |            ^~
   fs/cifs/smb2misc.c:630:12: note: each undeclared identifier is reported only 
once for each function it appears in
   make[3]: *** [scripts/Makefile.build:281: fs/cifs/smb2misc.o] Error 1
   make[3]: Target '__build' not remade because of errors.
--
   fs/cifs/smb2misc.c:630:47: sparse: sparse: undefined identifier 'lw'
>> fs/cifs/smb2misc.c:542:24: sparse: sparse: context imbalance in 
>> 'smb2_tcon_has_lease' - unexpected unlock
>> fs/cifs/smb2misc.c:594:1: sparse: sparse: context imbalance in 
>> 'smb2_is_valid_lease_break' - wrong count at exit

# 
https://github.com/0day-ci/linux/commit/7a32ab08f9e865fa52cfb802786e6fd39df45ea3
git remote add linux-review https://github.com/0day-ci/linux
git remote update linux-review
git checkout 7a32ab08f9e865fa52cfb802786e6fd39df45ea3
vim +/smb2_tcon_has_lease +542 fs/cifs/smb2misc.c

233839b1df65a2 Pavel Shilovsky 2012-09-19  506  
0822f51426b51b Pavel Shilovsky 2012-09-19  507  static bool
7a32ab08f9e865 Paul Aurich     2020-06-29  508  smb2_tcon_has_lease(struct 
cifs_tcon *tcon, struct smb2_lease_break *rsp)
0822f51426b51b Pavel Shilovsky 2012-09-19  509  {
933d4b36576c95 Pavel Shilovsky 2013-09-05  510          bool found;
933d4b36576c95 Pavel Shilovsky 2013-09-05  511          __u8 lease_state;
933d4b36576c95 Pavel Shilovsky 2013-09-05  512          struct list_head *tmp;
0822f51426b51b Pavel Shilovsky 2012-09-19  513          struct cifsFileInfo 
*cfile;
233839b1df65a2 Pavel Shilovsky 2012-09-19  514          struct 
cifs_pending_open *open;
933d4b36576c95 Pavel Shilovsky 2013-09-05  515          struct cifsInodeInfo 
*cinode;
12e8a20824677f Steve French    2012-09-19  516          int ack_req = 
le32_to_cpu(rsp->Flags &
12e8a20824677f Steve French    2012-09-19  517                                  
  SMB2_NOTIFY_BREAK_LEASE_FLAG_ACK_REQUIRED);
7a32ab08f9e865 Paul Aurich     2020-06-29  518          struct 
smb2_lease_break_work *lw;
7a32ab08f9e865 Paul Aurich     2020-06-29  519          struct tcon_link *tlink;
7a32ab08f9e865 Paul Aurich     2020-06-29  520          __u8 
lease_key[SMB2_LEASE_KEY_SIZE];
233839b1df65a2 Pavel Shilovsky 2012-09-19  521  
53ef1016fd0e4b Pavel Shilovsky 2013-09-05  522          lease_state = 
le32_to_cpu(rsp->NewLeaseState);
0822f51426b51b Pavel Shilovsky 2012-09-19  523  
7a32ab08f9e865 Paul Aurich     2020-06-29  524          
spin_lock(&tcon->open_file_lock);
933d4b36576c95 Pavel Shilovsky 2013-09-05  525          list_for_each(tmp, 
&tcon->openFileList) {
933d4b36576c95 Pavel Shilovsky 2013-09-05  526                  cfile = 
list_entry(tmp, struct cifsFileInfo, tlist);
2b0143b5c986be David Howells   2015-03-17  527                  cinode = 
CIFS_I(d_inode(cfile->dentry));
0822f51426b51b Pavel Shilovsky 2012-09-19  528  
0822f51426b51b Pavel Shilovsky 2012-09-19  529                  if 
(memcmp(cinode->lease_key, rsp->LeaseKey,
0822f51426b51b Pavel Shilovsky 2012-09-19  530                                  
                        SMB2_LEASE_KEY_SIZE))
0822f51426b51b Pavel Shilovsky 2012-09-19  531                          
continue;
0822f51426b51b Pavel Shilovsky 2012-09-19  532  
f96637be081141 Joe Perches     2013-05-04  533                  cifs_dbg(FYI, 
"found in the open list\n");
59b04c5df75bd7 Steve French    2014-08-02  534                  cifs_dbg(FYI, 
"lease key match, lease break 0x%x\n",
9bd45408366840 Pavel Shilovsky 2019-10-29  535                           
lease_state);
0822f51426b51b Pavel Shilovsky 2012-09-19  536  
233839b1df65a2 Pavel Shilovsky 2012-09-19  537                  if (ack_req)
0822f51426b51b Pavel Shilovsky 2012-09-19  538                          
cfile->oplock_break_cancelled = false;
0822f51426b51b Pavel Shilovsky 2012-09-19  539                  else
0822f51426b51b Pavel Shilovsky 2012-09-19  540                          
cfile->oplock_break_cancelled = true;
0822f51426b51b Pavel Shilovsky 2012-09-19  541  
7b9b9edb49ad37 Pavel Shilovsky 2019-02-13 @542                  
set_bit(CIFS_INODE_PENDING_OPLOCK_BREAK, &cinode->flags);
7b9b9edb49ad37 Pavel Shilovsky 2019-02-13  543  
9bd45408366840 Pavel Shilovsky 2019-10-29  544                  
cfile->oplock_epoch = le16_to_cpu(rsp->Epoch);
9bd45408366840 Pavel Shilovsky 2019-10-29  545                  
cfile->oplock_level = lease_state;
7b9b9edb49ad37 Pavel Shilovsky 2019-02-13  546  
b98749cac4a695 Aurelien Aptel  2019-03-29  547                  
cifs_queue_oplock_break(cfile);
7a32ab08f9e865 Paul Aurich     2020-06-29  548                  
spin_unlock(&tcon->open_file_lock);
7a32ab08f9e865 Paul Aurich     2020-06-29  549                  
spin_unlock(&cifs_tcp_ses_lock);
0822f51426b51b Pavel Shilovsky 2012-09-19  550                  return true;
0822f51426b51b Pavel Shilovsky 2012-09-19  551          }
233839b1df65a2 Pavel Shilovsky 2012-09-19  552  
233839b1df65a2 Pavel Shilovsky 2012-09-19  553          found = false;
233839b1df65a2 Pavel Shilovsky 2012-09-19  554          
list_for_each_entry(open, &tcon->pending_opens, olist) {
233839b1df65a2 Pavel Shilovsky 2012-09-19  555                  if 
(memcmp(open->lease_key, rsp->LeaseKey,
233839b1df65a2 Pavel Shilovsky 2012-09-19  556                             
SMB2_LEASE_KEY_SIZE))
233839b1df65a2 Pavel Shilovsky 2012-09-19  557                          
continue;
233839b1df65a2 Pavel Shilovsky 2012-09-19  558  
233839b1df65a2 Pavel Shilovsky 2012-09-19  559                  if (!found && 
ack_req) {
233839b1df65a2 Pavel Shilovsky 2012-09-19  560                          found = 
true;
7a32ab08f9e865 Paul Aurich     2020-06-29  561                          
memcpy(lease_key, open->lease_key,
233839b1df65a2 Pavel Shilovsky 2012-09-19  562                                 
SMB2_LEASE_KEY_SIZE);
7a32ab08f9e865 Paul Aurich     2020-06-29  563                          tlink = 
cifs_get_tlink(open->tlink);
233839b1df65a2 Pavel Shilovsky 2012-09-19  564                  }
233839b1df65a2 Pavel Shilovsky 2012-09-19  565  
f96637be081141 Joe Perches     2013-05-04  566                  cifs_dbg(FYI, 
"found in the pending open list\n");
59b04c5df75bd7 Steve French    2014-08-02  567                  cifs_dbg(FYI, 
"lease key match, lease break 0x%x\n",
9bd45408366840 Pavel Shilovsky 2019-10-29  568                           
lease_state);
233839b1df65a2 Pavel Shilovsky 2012-09-19  569  
933d4b36576c95 Pavel Shilovsky 2013-09-05  570                  open->oplock = 
lease_state;
933d4b36576c95 Pavel Shilovsky 2013-09-05  571          }
a93864d93977b9 Ronnie Sahlberg 2018-06-14  572  
7a32ab08f9e865 Paul Aurich     2020-06-29  573          
spin_unlock(&tcon->open_file_lock);
7a32ab08f9e865 Paul Aurich     2020-06-29  574          if (found) {
7a32ab08f9e865 Paul Aurich     2020-06-29  575                  
spin_unlock(&cifs_tcp_ses_lock);
7a32ab08f9e865 Paul Aurich     2020-06-29  576  
7a32ab08f9e865 Paul Aurich     2020-06-29  577                  lw = 
kmalloc(sizeof(struct smb2_lease_break_work), GFP_KERNEL);
7a32ab08f9e865 Paul Aurich     2020-06-29  578                  if (!lw) {
7a32ab08f9e865 Paul Aurich     2020-06-29  579                          
cifs_put_tlink(tlink);
7a32ab08f9e865 Paul Aurich     2020-06-29  580                          return 
true;
7a32ab08f9e865 Paul Aurich     2020-06-29  581                  }
7a32ab08f9e865 Paul Aurich     2020-06-29  582  
7a32ab08f9e865 Paul Aurich     2020-06-29  583                  
INIT_WORK(&lw->lease_break, cifs_ses_oplock_break);
7a32ab08f9e865 Paul Aurich     2020-06-29  584                  lw->tlink = 
tlink;
7a32ab08f9e865 Paul Aurich     2020-06-29  585                  lw->lease_state 
= rsp->NewLeaseState;
7a32ab08f9e865 Paul Aurich     2020-06-29  586                  
memcpy(lw->lease_key, lease_key, SMB2_LEASE_KEY_SIZE);
7a32ab08f9e865 Paul Aurich     2020-06-29  587                  
queue_work(cifsiod_wq, &lw->lease_break);
7a32ab08f9e865 Paul Aurich     2020-06-29  588          }
7a32ab08f9e865 Paul Aurich     2020-06-29  589  
933d4b36576c95 Pavel Shilovsky 2013-09-05  590          return found;
233839b1df65a2 Pavel Shilovsky 2012-09-19  591  }
933d4b36576c95 Pavel Shilovsky 2013-09-05  592  
933d4b36576c95 Pavel Shilovsky 2013-09-05  593  static bool
933d4b36576c95 Pavel Shilovsky 2013-09-05 @594  smb2_is_valid_lease_break(char 
*buffer)
933d4b36576c95 Pavel Shilovsky 2013-09-05  595  {
933d4b36576c95 Pavel Shilovsky 2013-09-05  596          struct smb2_lease_break 
*rsp = (struct smb2_lease_break *)buffer;
933d4b36576c95 Pavel Shilovsky 2013-09-05  597          struct list_head *tmp, 
*tmp1, *tmp2;
933d4b36576c95 Pavel Shilovsky 2013-09-05  598          struct TCP_Server_Info 
*server;
933d4b36576c95 Pavel Shilovsky 2013-09-05  599          struct cifs_ses *ses;
933d4b36576c95 Pavel Shilovsky 2013-09-05  600          struct cifs_tcon *tcon;
933d4b36576c95 Pavel Shilovsky 2013-09-05  601  
933d4b36576c95 Pavel Shilovsky 2013-09-05  602          cifs_dbg(FYI, "Checking 
for lease break\n");
933d4b36576c95 Pavel Shilovsky 2013-09-05  603  
933d4b36576c95 Pavel Shilovsky 2013-09-05  604          /* look up tcon based 
on tid & uid */
933d4b36576c95 Pavel Shilovsky 2013-09-05  605          
spin_lock(&cifs_tcp_ses_lock);
933d4b36576c95 Pavel Shilovsky 2013-09-05  606          list_for_each(tmp, 
&cifs_tcp_ses_list) {
933d4b36576c95 Pavel Shilovsky 2013-09-05  607                  server = 
list_entry(tmp, struct TCP_Server_Info, tcp_ses_list);
933d4b36576c95 Pavel Shilovsky 2013-09-05  608  
933d4b36576c95 Pavel Shilovsky 2013-09-05  609                  
list_for_each(tmp1, &server->smb_ses_list) {
933d4b36576c95 Pavel Shilovsky 2013-09-05  610                          ses = 
list_entry(tmp1, struct cifs_ses, smb_ses_list);
933d4b36576c95 Pavel Shilovsky 2013-09-05  611  
933d4b36576c95 Pavel Shilovsky 2013-09-05  612                          
list_for_each(tmp2, &ses->tcon_list) {
933d4b36576c95 Pavel Shilovsky 2013-09-05  613                                  
tcon = list_entry(tmp2, struct cifs_tcon,
933d4b36576c95 Pavel Shilovsky 2013-09-05  614                                  
                  tcon_list);
933d4b36576c95 Pavel Shilovsky 2013-09-05  615                                  
cifs_stats_inc(
933d4b36576c95 Pavel Shilovsky 2013-09-05  616                                  
    &tcon->stats.cifs_stats.num_oplock_brks);
7a32ab08f9e865 Paul Aurich     2020-06-29  617                                  
if (smb2_tcon_has_lease(tcon, rsp)) {
233839b1df65a2 Pavel Shilovsky 2012-09-19  618                                  
        return true;
233839b1df65a2 Pavel Shilovsky 2012-09-19  619                                  
}
a93864d93977b9 Ronnie Sahlberg 2018-06-14  620  
a93864d93977b9 Ronnie Sahlberg 2018-06-14  621                                  
if (tcon->crfid.is_valid &&
a93864d93977b9 Ronnie Sahlberg 2018-06-14  622                                  
    !memcmp(rsp->LeaseKey,
a93864d93977b9 Ronnie Sahlberg 2018-06-14  623                                  
            tcon->crfid.fid->lease_key,
a93864d93977b9 Ronnie Sahlberg 2018-06-14  624                                  
            SMB2_LEASE_KEY_SIZE)) {
a93864d93977b9 Ronnie Sahlberg 2018-06-14  625                                  
        INIT_WORK(&tcon->crfid.lease_break,
a93864d93977b9 Ronnie Sahlberg 2018-06-14  626                                  
                  smb2_cached_lease_break);
a93864d93977b9 Ronnie Sahlberg 2018-06-14  627                                  
        queue_work(cifsiod_wq,
a93864d93977b9 Ronnie Sahlberg 2018-06-14  628                                  
                   &tcon->crfid.lease_break);
a93864d93977b9 Ronnie Sahlberg 2018-06-14  629                                  
        spin_unlock(&cifs_tcp_ses_lock);
d6ac9c584a6902 Paul Aurich     2020-06-26 @630                                  
        kfree(lw);
a93864d93977b9 Ronnie Sahlberg 2018-06-14  631                                  
        return true;
a93864d93977b9 Ronnie Sahlberg 2018-06-14  632                                  
}
0822f51426b51b Pavel Shilovsky 2012-09-19  633                          }
0822f51426b51b Pavel Shilovsky 2012-09-19  634                  }
933d4b36576c95 Pavel Shilovsky 2013-09-05  635          }
0822f51426b51b Pavel Shilovsky 2012-09-19  636          
spin_unlock(&cifs_tcp_ses_lock);
f96637be081141 Joe Perches     2013-05-04  637          cifs_dbg(FYI, "Can not 
process lease break - no lease matched\n");
0822f51426b51b Pavel Shilovsky 2012-09-19  638          return false;
0822f51426b51b Pavel Shilovsky 2012-09-19  639  }
0822f51426b51b Pavel Shilovsky 2012-09-19  640  

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org

Attachment: .config.gz
Description: application/gzip

_______________________________________________
kbuild mailing list -- kbuild@lists.01.org
To unsubscribe send an email to kbuild-le...@lists.01.org

Reply via email to