]> err.no Git - linux-2.6/commit
[PATCH] namespace.c: fix mnt_namespace clearing
authorMiklos Szeredi <miklos@szeredi.hu>
Fri, 8 Jul 2005 00:57:22 +0000 (17:57 -0700)
committerLinus Torvalds <torvalds@g5.osdl.org>
Fri, 8 Jul 2005 01:23:51 +0000 (18:23 -0700)
commit202322e6f7cd12e82b5ff0fa92bbdf517fcf0947
tree82c1f7b4b97d5b31654157a8f427a5c8d546504f
parent6f50142e4b092a469920a0008fc23121c3d99f2f
[PATCH] namespace.c: fix mnt_namespace clearing

This patch clears mnt_namespace on unmount.

Not clearing mnt_namespace has two effects:

   1) It is possible to attach a new mount to a detached mount,
      because check_mnt() returns true.

      This means, that when no other references to the detached mount
      remain, it still can't be freed.  This causes a resource leak,
      and possibly un-removable modules.

   2) If mnt_namespace is dereferenced (only in mark_mounts_for_expiry())
      after the namspace has been freed, it can cause an Oops, memory
      corruption, etc.

1) has been tested before and after the patch, 2) is only speculation.

Signed-off-by: Miklos Szeredi <miklos@szeredi.hu>
Acked-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
fs/namespace.c