From: "Venkateswararao Jujjuri (JV)" <jvrao@linux.vnet.ibm.com>
To: "Aneesh Kumar K. V" <aneesh.kumar@linux.vnet.ibm.com>
Cc: v9fs-developer@lists.sourceforge.net, linux-fsdevel@vger.kernel.org
Subject: Re: [PATCH] [fs/9p] Check for NULL fid in v9fs_dir_release()
Date: Thu, 26 Aug 2010 08:13:41 -0700 [thread overview]
Message-ID: <4C7684A5.9080204@linux.vnet.ibm.com> (raw)
In-Reply-To: <m38w3tyjur.fsf@linux.vnet.ibm.com>
Aneesh Kumar K. V wrote:
> On Wed, 25 Aug 2010 09:26:21 -0700, "Venkateswararao Jujjuri (JV)" <jvrao@linux.vnet.ibm.com> wrote:
>> NULL fid should be handled in cases where we endup calling v9fs_dir_release()
>> before even we instantiate the fid in filp.
>>
>> Signed-off-by: Venkateswararao Jujjuri <jvrao@linux.vnet.ibm.com>
>> ---
>> fs/9p/vfs_dir.c | 6 ++++--
>> 1 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/fs/9p/vfs_dir.c b/fs/9p/vfs_dir.c
>> index 16c8a2a..899f168 100644
>> --- a/fs/9p/vfs_dir.c
>> +++ b/fs/9p/vfs_dir.c
>> @@ -292,9 +292,11 @@ int v9fs_dir_release(struct inode *inode, struct file *filp)
>>
>> fid = filp->private_data;
>> P9_DPRINTK(P9_DEBUG_VFS,
>> - "inode: %p filp: %p fid: %d\n", inode, filp, fid->fid);
>> + "v9fs_dir_release: inode: %p filp: %p fid: %d\n",
>> + inode, filp, fid ? fid->fid : -1);
>> filemap_write_and_wait(inode->i_mapping);
>> - p9_client_clunk(fid);
>> + if (fid)
>> + p9_client_clunk(fid);
>> return 0;
>> }
>>
>
> Can you get a stack trace where we end up calling dir_release with null
> fid
Aneesh, I posted the stack trace few days back... Subject of that patch might be
different..
as we moved the fix between dir_release() and clunk(). Here is the stack.
Call Trace:
[<ffffffff81209cb1>] v9fs_dir_release+0x29/0x2f
[<ffffffff81105985>] fput+0x13a/0x1ec
[<ffffffff81207e97>] ? v9fs_open_created+0x0/0xd
[<ffffffff811031bd>] __dentry_open+0x1d3/0x29e
[<ffffffff811033d3>] lookup_instantiate_filp+0x6b/0x8c
[<ffffffff81208fc6>] v9fs_vfs_create_dotl+0x1a7/0x20d
[<ffffffff8110e30a>] vfs_create+0x70/0x92
[<ffffffff8110eddc>] do_last+0x2e0/0x605
[<ffffffff8110f553>] do_filp_open+0x1f8/0x5f8
[<ffffffff811019e7>] ? mem_cgroup_charge_common+0x6a/0x7a
[<ffffffff8125e933>] ? might_fault+0x21/0x23
[<ffffffff8125ea32>] ? __strncpy_from_user+0x1e/0x49
[<ffffffff81118ec2>] ? alloc_fd+0x7b/0x124
[<ffffffff81102ef2>] do_sys_open+0x63/0x10f
[<ffffffff81102fd1>] sys_open+0x20/0x22
[<ffffffff81009c32>] system_call_fastpath+0x16/0x1b
>
> -aneesh
prev parent reply other threads:[~2010-08-26 15:13 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-08-25 16:26 [PATCH] [fs/9p] Check for NULL fid in v9fs_dir_release() Venkateswararao Jujjuri (JV)
2010-08-26 6:21 ` Aneesh Kumar K. V
2010-08-26 15:13 ` Venkateswararao Jujjuri (JV) [this message]
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=4C7684A5.9080204@linux.vnet.ibm.com \
--to=jvrao@linux.vnet.ibm.com \
--cc=aneesh.kumar@linux.vnet.ibm.com \
--cc=linux-fsdevel@vger.kernel.org \
--cc=v9fs-developer@lists.sourceforge.net \
/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;
as well as URLs for NNTP newsgroup(s).