X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=fs%2Fproc%2Finode.c;h=8bb03f056c282ec1c0b4b256c5f4ed4551182f1c;hb=66833d5f3934a19d0988b7d0de58149bfd7a5884;hp=b37f25dc45a58030b43893169879ad67dcfeed4b;hpb=7f268a2ba7c884a239713696238dd4207a57dd9a;p=linux-2.6 diff --git a/fs/proc/inode.c b/fs/proc/inode.c index b37f25dc45..8bb03f056c 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c @@ -17,6 +17,7 @@ #include #include #include +#include #include #include @@ -65,6 +66,8 @@ static void proc_delete_inode(struct inode *inode) module_put(de->owner); de_put(de); } + if (PROC_I(inode)->sysctl) + sysctl_head_put(PROC_I(inode)->sysctl); clear_inode(inode); } @@ -84,6 +87,8 @@ static struct inode *proc_alloc_inode(struct super_block *sb) ei->fd = 0; ei->op.proc_get_link = NULL; ei->pde = NULL; + ei->sysctl = NULL; + ei->sysctl_entry = NULL; inode = &ei->vfs_inode; inode->i_mtime = inode->i_atime = inode->i_ctime = CURRENT_TIME; return inode;