diff options
Diffstat (limited to 'fs/proc/inode.c')
| -rw-r--r-- | fs/proc/inode.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/fs/proc/inode.c b/fs/proc/inode.c index 722b9c463111..49dfb2ab783e 100644 --- a/fs/proc/inode.c +++ b/fs/proc/inode.c | |||
| @@ -58,14 +58,11 @@ static void de_put(struct proc_dir_entry *de) | |||
| 58 | static void proc_delete_inode(struct inode *inode) | 58 | static void proc_delete_inode(struct inode *inode) |
| 59 | { | 59 | { |
| 60 | struct proc_dir_entry *de; | 60 | struct proc_dir_entry *de; |
| 61 | struct task_struct *tsk; | ||
| 62 | 61 | ||
| 63 | truncate_inode_pages(&inode->i_data, 0); | 62 | truncate_inode_pages(&inode->i_data, 0); |
| 64 | 63 | ||
| 65 | /* Let go of any associated process */ | 64 | /* Stop tracking associated processes */ |
| 66 | tsk = PROC_I(inode)->task; | 65 | put_pid(PROC_I(inode)->pid); |
| 67 | if (tsk) | ||
| 68 | put_task_struct(tsk); | ||
| 69 | 66 | ||
| 70 | /* Let go of any associated proc directory entry */ | 67 | /* Let go of any associated proc directory entry */ |
| 71 | de = PROC_I(inode)->pde; | 68 | de = PROC_I(inode)->pde; |
| @@ -94,8 +91,8 @@ static struct inode *proc_alloc_inode(struct super_block *sb) | |||
| 94 | ei = (struct proc_inode *)kmem_cache_alloc(proc_inode_cachep, SLAB_KERNEL); | 91 | ei = (struct proc_inode *)kmem_cache_alloc(proc_inode_cachep, SLAB_KERNEL); |
| 95 | if (!ei) | 92 | if (!ei) |
| 96 | return NULL; | 93 | return NULL; |
| 97 | ei->task = NULL; | 94 | ei->pid = NULL; |
| 98 | ei->type = 0; | 95 | ei->fd = 0; |
| 99 | ei->op.proc_get_link = NULL; | 96 | ei->op.proc_get_link = NULL; |
| 100 | ei->pde = NULL; | 97 | ei->pde = NULL; |
| 101 | inode = &ei->vfs_inode; | 98 | inode = &ei->vfs_inode; |
| @@ -195,7 +192,7 @@ int proc_fill_super(struct super_block *s, void *data, int silent) | |||
| 195 | { | 192 | { |
| 196 | struct inode * root_inode; | 193 | struct inode * root_inode; |
| 197 | 194 | ||
| 198 | s->s_flags |= MS_NODIRATIME; | 195 | s->s_flags |= MS_NODIRATIME | MS_NOSUID | MS_NOEXEC; |
| 199 | s->s_blocksize = 1024; | 196 | s->s_blocksize = 1024; |
| 200 | s->s_blocksize_bits = 10; | 197 | s->s_blocksize_bits = 10; |
| 201 | s->s_magic = PROC_SUPER_MAGIC; | 198 | s->s_magic = PROC_SUPER_MAGIC; |
