From: Dan Carpenter <dan.carpenter@oracle.com>
To: kbuild@01.org, Trond Myklebust <trondmy@gmail.com>
Cc: kbuild-all@01.org, linux-nfs@vger.kernel.org
Subject: Re: [PATCH 25/25] NFS: Remove redundant open context from nfs_page
Date: Mon, 1 Apr 2019 09:37:54 +0300 [thread overview]
Message-ID: <20190401063753.GX32613@kadam> (raw)
In-Reply-To: <20190328205239.29674-26-trond.myklebust@hammerspace.com>
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
next prev parent reply other threads:[~2019-04-01 6:38 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-03-28 20:52 [PATCH 00/25] Fix up soft mounts for NFSv4.x Trond Myklebust
2019-03-28 20:52 ` [PATCH 01/25] SUNRPC: Fix up task signalling Trond Myklebust
2019-03-28 20:52 ` [PATCH 02/25] SUNRPC: Refactor rpc_restart_call/rpc_restart_call_prepare Trond Myklebust
2019-03-28 20:52 ` [PATCH 03/25] SUNRPC: Refactor xprt_request_wait_receive() Trond Myklebust
2019-03-28 20:52 ` [PATCH 04/25] SUNRPC: Refactor rpc_sleep_on() Trond Myklebust
2019-03-28 20:52 ` [PATCH 05/25] SUNRPC: Remove unused argument 'action' from rpc_sleep_on_priority() Trond Myklebust
2019-03-28 20:52 ` [PATCH 06/25] SUNRPC: Add function rpc_sleep_on_timeout() Trond Myklebust
2019-03-28 20:52 ` [PATCH 07/25] SUNRPC: Fix up tracking of timeouts Trond Myklebust
2019-03-28 20:52 ` [PATCH 08/25] SUNRPC: Ensure that the transport layer respect major timeouts Trond Myklebust
2019-03-28 20:52 ` [PATCH 09/25] SUNRPC: Add tracking of RPC level errors Trond Myklebust
2019-03-28 20:52 ` [PATCH 10/25] SUNRPC: Make "no retrans timeout" soft tasks behave like softconn for timeouts Trond Myklebust
2019-03-28 20:52 ` [PATCH 11/25] SUNRPC: Start the first major timeout calculation at task creation Trond Myklebust
2019-03-28 20:52 ` [PATCH 12/25] SUNRPC: Add the 'softerr' rpc_client flag Trond Myklebust
2019-03-28 20:52 ` [PATCH 13/25] NFS: Consider ETIMEDOUT to be a fatal error Trond Myklebust
2019-03-28 20:52 ` [PATCH 14/25] NFS: Move internal constants out of uapi/linux/nfs_mount.h Trond Myklebust
2019-03-28 20:52 ` [PATCH 15/25] NFS: Add a mount option "softerr" to allow clients to see ETIMEDOUT errors Trond Myklebust
2019-03-28 20:52 ` [PATCH 16/25] NFS: Don't interrupt file writeout due to fatal errors Trond Myklebust
2019-03-28 20:52 ` [PATCH 17/25] NFS: Don't call generic_error_remove_page() while holding locks Trond Myklebust
2019-03-28 20:52 ` [PATCH 18/25] NFS: Don't inadvertently clear writeback errors Trond Myklebust
2019-03-28 20:52 ` [PATCH 19/25] NFS: Replace custom error reporting mechanism with generic one Trond Myklebust
2019-03-28 20:52 ` [PATCH 20/25] NFS: Fix up NFS I/O subrequest creation Trond Myklebust
2019-03-28 20:52 ` [PATCH 21/25] NFS: Remove unused argument from nfs_create_request() Trond Myklebust
2019-03-28 20:52 ` [PATCH 22/25] pNFS: Add tracking to limit the number of pNFS retries Trond Myklebust
2019-03-28 20:52 ` [PATCH 23/25] NFS: Allow signal interruption of NFS4ERR_DELAYed operations Trond Myklebust
2019-03-28 20:52 ` [PATCH 24/25] NFS: Add a helper to return a pointer to the open context of a struct nfs_page Trond Myklebust
2019-03-28 20:52 ` [PATCH 25/25] NFS: Remove redundant open context from nfs_page Trond Myklebust
2019-04-01 6:37 ` Dan Carpenter [this message]
2019-04-01 6:36 ` [PATCH 19/25] NFS: Replace custom error reporting mechanism with generic one Dan Carpenter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190401063753.GX32613@kadam \
--to=dan.carpenter@oracle.com \
--cc=kbuild-all@01.org \
--cc=kbuild@01.org \
--cc=linux-nfs@vger.kernel.org \
--cc=trondmy@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox