|
@@ -2255,27 +2255,6 @@ static const struct inode_operations proc_tgid_base_inode_operations = {
|
|
|
.setattr = proc_setattr,
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * proc_flush_task - Remove dcache entries for @task from the /proc dcache.
|
|
|
- *
|
|
|
- * @task: task that should be flushed.
|
|
|
- *
|
|
|
- * Looks in the dcache for
|
|
|
- * /proc/@pid
|
|
|
- * /proc/@tgid/task/@pid
|
|
|
- * if either directory is present flushes it and all of it'ts children
|
|
|
- * from the dcache.
|
|
|
- *
|
|
|
- * It is safe and reasonable to cache /proc entries for a task until
|
|
|
- * that task exits. After that they just clog up the dcache with
|
|
|
- * useless entries, possibly causing useful dcache entries to be
|
|
|
- * flushed instead. This routine is proved to flush those useless
|
|
|
- * dcache entries at process exit time.
|
|
|
- *
|
|
|
- * NOTE: This routine is just an optimization so it does not guarantee
|
|
|
- * that no dcache entries will exist at process exit time it
|
|
|
- * just makes it very unlikely that any will persist.
|
|
|
- */
|
|
|
static void proc_flush_task_mnt(struct vfsmount *mnt, pid_t pid, pid_t tgid)
|
|
|
{
|
|
|
struct dentry *dentry, *leader, *dir;
|
|
@@ -2322,10 +2301,29 @@ out:
|
|
|
return;
|
|
|
}
|
|
|
|
|
|
-/*
|
|
|
- * when flushing dentries from proc one need to flush them from global
|
|
|
+/**
|
|
|
+ * proc_flush_task - Remove dcache entries for @task from the /proc dcache.
|
|
|
+ * @task: task that should be flushed.
|
|
|
+ *
|
|
|
+ * When flushing dentries from proc, one needs to flush them from global
|
|
|
* proc (proc_mnt) and from all the namespaces' procs this task was seen
|
|
|
- * in. this call is supposed to make all this job.
|
|
|
+ * in. This call is supposed to do all of this job.
|
|
|
+ *
|
|
|
+ * Looks in the dcache for
|
|
|
+ * /proc/@pid
|
|
|
+ * /proc/@tgid/task/@pid
|
|
|
+ * if either directory is present flushes it and all of it'ts children
|
|
|
+ * from the dcache.
|
|
|
+ *
|
|
|
+ * It is safe and reasonable to cache /proc entries for a task until
|
|
|
+ * that task exits. After that they just clog up the dcache with
|
|
|
+ * useless entries, possibly causing useful dcache entries to be
|
|
|
+ * flushed instead. This routine is proved to flush those useless
|
|
|
+ * dcache entries at process exit time.
|
|
|
+ *
|
|
|
+ * NOTE: This routine is just an optimization so it does not guarantee
|
|
|
+ * that no dcache entries will exist at process exit time it
|
|
|
+ * just makes it very unlikely that any will persist.
|
|
|
*/
|
|
|
|
|
|
void proc_flush_task(struct task_struct *task)
|