From: Al Viro Date: Mon, 30 Mar 2009 09:45:36 +0000 (-0400) Subject: Kill unsharing fs_struct in __set_personality() X-Git-Tag: v2.6.29.3~22 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5cda02631f54f8aa8c5b4d53dff385ad591cd2ad;p=thirdparty%2Fkernel%2Fstable.git Kill unsharing fs_struct in __set_personality() 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 Signed-off-by: Greg Kroah-Hartman --- diff --git a/kernel/exec_domain.c b/kernel/exec_domain.c index 667c841c2952d..cb8e9626c2152 100644 --- a/kernel/exec_domain.c +++ b/kernel/exec_domain.c @@ -145,28 +145,6 @@ __set_personality(u_long personality) return 0; } - if (atomic_read(¤t->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;