Re: [PATCH] [fs/9p] Check for NULL fid in v9fs_dir_release()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Aneesh Kumar K. V wrote:
> On Wed, 25 Aug 2010 09:26:21 -0700, "Venkateswararao Jujjuri (JV)" <jvrao@xxxxxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxxxxx>
>> ---
>>  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


--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux