]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
Kill unsharing fs_struct in __set_personality()
authorAl Viro <viro@zeniv.linux.org.uk>
Mon, 30 Mar 2009 09:45:36 +0000 (05:45 -0400)
committerGreg Kroah-Hartman <gregkh@suse.de>
Fri, 8 May 2009 22:45:07 +0000 (15:45 -0700)
commit 11d06b2a1e5658f448a308aa3beb97bacd64a940 upstream.

That's a rudiment of altroot support.  I.e. it should've been buried
a long time ago.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/exec_domain.c

index 667c841c2952d6966a08ba9b11e00ad99d06520a..cb8e9626c21522f9665b95d7d3500af797714494 100644 (file)
@@ -145,28 +145,6 @@ __set_personality(u_long personality)
                return 0;
        }
 
-       if (atomic_read(&current->fs->count) != 1) {
-               struct fs_struct *fsp, *ofsp;
-
-               fsp = copy_fs_struct(current->fs);
-               if (fsp == NULL) {
-                       module_put(ep->module);
-                       return -ENOMEM;
-               }
-
-               task_lock(current);
-               ofsp = current->fs;
-               current->fs = fsp;
-               task_unlock(current);
-
-               put_fs_struct(ofsp);
-       }
-
-       /*
-        * At that point we are guaranteed to be the sole owner of
-        * current->fs.
-        */
-
        current->personality = personality;
        oep = current_thread_info()->exec_domain;
        current_thread_info()->exec_domain = ep;