tree:
https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
for-next.radical6j
head: 7b8c8263459404aea0c41574ef44e827d7ea1215
commit: cd52bd209f8ecfa145ace8ed08d19877ef38d43e [22/26] gfs2: Call state machine directly
in clear_glock
config: x86_64-randconfig-s022-20210311 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-262-g5e674421-dirty
#
https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git/commi...
git remote add gfs2
https://git.kernel.org/pub/scm/linux/kernel/git/gfs2/linux-gfs2.git
git fetch --no-tags gfs2 for-next.radical6j
git checkout cd52bd209f8ecfa145ace8ed08d19877ef38d43e
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=x86_64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
"sparse warnings: (new ones prefixed by >>)"
fs/gfs2/glock.c: note: in included file:
fs/gfs2/glock.h:222:36: sparse: sparse: context imbalance in '__gfs2_glock_put'
- unexpected unlock
fs/gfs2/glock.c:973:9: sparse: sparse: context imbalance in 'state_machine' -
wrong count at exit
fs/gfs2/glock.c:1949:26: sparse: sparse: context imbalance in
'gfs2_dispose_glock_lru' - different lock contexts for basic block
> fs/gfs2/glock.c:2137:9: sparse: sparse: context imbalance in
'clear_glock' - wrong count at exit
vim +/clear_glock +2137 fs/gfs2/glock.c
2123
2124 /**
2125 * clear_glock - look at a glock and see if we can free it from glock cache
2126 * @gl: the glock to look at
2127 *
2128 */
2129
2130 static void clear_glock(struct gfs2_glock *gl)
2131 {
2132 gfs2_glock_remove_from_lru(gl);
2133
2134 spin_lock(&gl->gl_lockref.lock);
2135 if (gl->gl_state != LM_ST_UNLOCKED)
2136 request_unlock(gl);
2137 if (!__state_machine(gl, GL_ST_RUN_QUEUE))
2138 spin_unlock(&gl->gl_lockref.lock);
2139 }
2140
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org