Hi Trond, url: https://github.com/0day-ci/linux/commits/Trond-Myklebust/Fix-up-soft-mounts-for-NFSv4-x/20190331-130454 base: git://git.linux-nfs.org/projects/trondmy/linux-nfs.git linux-next New smatch warnings: fs/nfs/pagelist.c:423 nfs_clear_request() warn: variable dereferenced before check 'l_ctx' (see line 417) # https://github.com/0day-ci/linux/commit/1f204cd821631257d43efaaf86b8d1541f818585 git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout 1f204cd821631257d43efaaf86b8d1541f818585 vim +/l_ctx +423 fs/nfs/pagelist.c ^1da177e Linus Torvalds 2005-04-16 405 4d65c520 Trond Myklebust 2011-03-25 406 /* ^1da177e Linus Torvalds 2005-04-16 407 * nfs_clear_request - Free up all resources allocated to the request ^1da177e Linus Torvalds 2005-04-16 408 * @req: ^1da177e Linus Torvalds 2005-04-16 409 * bb6fbc45 Trond Myklebust 2010-03-11 410 * Release page and open context resources associated with a read/write bb6fbc45 Trond Myklebust 2010-03-11 411 * request after it has completed. ^1da177e Linus Torvalds 2005-04-16 412 */ 4d65c520 Trond Myklebust 2011-03-25 413 static void nfs_clear_request(struct nfs_page *req) ^1da177e Linus Torvalds 2005-04-16 414 { cd52ed35 Trond Myklebust 2006-03-20 415 struct page *page = req->wb_page; f11ac8db Trond Myklebust 2010-06-25 416 struct nfs_lock_context *l_ctx = req->wb_lock_context; 1f204cd8 Trond Myklebust 2019-03-28 @417 struct nfs_open_context *ctx = l_ctx->open_context; ^^^^^^^^^^^^^^^^^^^ Dereferenced bb6fbc45 Trond Myklebust 2010-03-11 418 cd52ed35 Trond Myklebust 2006-03-20 419 if (page != NULL) { 09cbfeaf Kirill A. Shutemov 2016-04-01 420 put_page(page); ^1da177e Linus Torvalds 2005-04-16 421 req->wb_page = NULL; ^1da177e Linus Torvalds 2005-04-16 422 } f11ac8db Trond Myklebust 2010-06-25 @423 if (l_ctx != NULL) { ^^^^^^^^^^^^^ Check 7d6ddf88 Benjamin Coddington 2017-04-11 424 if (atomic_dec_and_test(&l_ctx->io_count)) { 723c921e Peter Zijlstra 2018-03-15 425 wake_up_var(&l_ctx->io_count); 7d6ddf88 Benjamin Coddington 2017-04-11 426 if (test_bit(NFS_CONTEXT_UNLOCK, &ctx->flags)) 7d6ddf88 Benjamin Coddington 2017-04-11 427 rpc_wake_up(&NFS_SERVER(d_inode(ctx->dentry))->uoc_rpcwaitq); 7d6ddf88 Benjamin Coddington 2017-04-11 428 } f11ac8db Trond Myklebust 2010-06-25 429 nfs_put_lock_context(l_ctx); f11ac8db Trond Myklebust 2010-06-25 430 req->wb_lock_context = NULL; f11ac8db Trond Myklebust 2010-06-25 431 } ^1da177e Linus Torvalds 2005-04-16 432 } ^1da177e Linus Torvalds 2005-04-16 433 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation