[merged] proc-ns-use-d_set_d_op-api-to-set-dentry-ops-in-proc_ns_instantiate.patch removed from -mm tree

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

 



The patch titled
     Subject: proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().
has been removed from the -mm tree.  Its filename was
     proc-ns-use-d_set_d_op-api-to-set-dentry-ops-in-proc_ns_instantiate.patch

This patch was dropped because it was merged into mainline or a subsystem tree

The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/

------------------------------------------------------
From: Pravin B Shelar <pshelar@xxxxxxxxxx>
Subject: proc-ns: use d_set_d_op() API to set dentry ops in proc_ns_instantiate().

The namespace cleanup path leaks a dentry which holds a reference count on
a network namespace.  Keeping that network namespace from being freed when
the last user goes away.  Leaving things like vlan devices in the leaked network namespace.

If you use ip netns add for much real work this problem becomes apparent
pretty quickly.  It light testing the problem hides because frequently you
simply don't notice the leak.

Use d_set_d_op() so that DCACHE_OP_* flags are set correctly.

This issue exists back to 3.0.

Acked-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
Reported-by: Justin Pettit <jpettit@xxxxxxxxxx>
Signed-off-by: Pravin B Shelar <pshelar@xxxxxxxxxx>
Signed-off-by: Jesse Gross <jesse@xxxxxxxxxx>
Cc: David Miller <davem@xxxxxxxxxxxxx>
Cc: <stable@xxxxxxxxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

 fs/proc/namespaces.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff -puN fs/proc/namespaces.c~proc-ns-use-d_set_d_op-api-to-set-dentry-ops-in-proc_ns_instantiate fs/proc/namespaces.c
--- a/fs/proc/namespaces.c~proc-ns-use-d_set_d_op-api-to-set-dentry-ops-in-proc_ns_instantiate
+++ a/fs/proc/namespaces.c
@@ -53,7 +53,7 @@ static struct dentry *proc_ns_instantiat
 	ei->ns_ops    = ns_ops;
 	ei->ns	      = ns;
 
-	dentry->d_op = &pid_dentry_operations;
+	d_set_d_op(dentry, &pid_dentry_operations);
 	d_add(dentry, inode);
 	/* Close the race of the process dying before we return the dentry */
 	if (pid_revalidate(dentry, NULL))
_

Patches currently in -mm which might be from pshelar@xxxxxxxxxx are

origin.patch

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


[Index of Archives]     [Kernel Newbies FAQ]     [Kernel Archive]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [Bugtraq]     [Photo]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]

  Powered by Linux