afs_vnode is currently cleared with 2 memsets after allocation and 1 in constructor (afs_i_init_once). -This patch calls zalloc for explicit zero fill. -Fix some typos.
Signed-off-by: Fabian Frederick <f...@skynet.be> --- fs/afs/super.c | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/fs/afs/super.c b/fs/afs/super.c index c486155..e1fc569 100644 --- a/fs/afs/super.c +++ b/fs/afs/super.c @@ -76,7 +76,7 @@ static const match_table_t afs_options_list = { }; /* - * initialise the filesystem + * Initialize the filesystem */ int __init afs_fs_init(void) { @@ -448,19 +448,19 @@ error: static void afs_kill_super(struct super_block *sb) { struct afs_super_info *as = sb->s_fs_info; + kill_anon_super(sb); afs_put_volume(as->volume); kfree(as); } /* - * initialise an inode cache slab element prior to any use + * Initialize an inode cache slab element prior to any use */ static void afs_i_init_once(void *_vnode) { struct afs_vnode *vnode = _vnode; - memset(vnode, 0, sizeof(*vnode)); inode_init_once(&vnode->vfs_inode); init_waitqueue_head(&vnode->update_waitq); mutex_init(&vnode->permits_lock); @@ -481,15 +481,12 @@ static struct inode *afs_alloc_inode(struct super_block *sb) { struct afs_vnode *vnode; - vnode = kmem_cache_alloc(afs_inode_cachep, GFP_KERNEL); + vnode = kmem_cache_zalloc(afs_inode_cachep, GFP_KERNEL); if (!vnode) return NULL; atomic_inc(&afs_count_active_inodes); - memset(&vnode->fid, 0, sizeof(vnode->fid)); - memset(&vnode->status, 0, sizeof(vnode->status)); - vnode->volume = NULL; vnode->update_cnt = 0; vnode->flags = 1 << AFS_VNODE_UNSET; @@ -503,6 +500,7 @@ static void afs_i_callback(struct rcu_head *head) { struct inode *inode = container_of(head, struct inode, i_rcu); struct afs_vnode *vnode = AFS_FS_I(inode); + kmem_cache_free(afs_inode_cachep, vnode); } -- 1.8.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/