diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 14:03:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 14:03:39 -0400 |
commit | 8d80ce80e1d58ba9cd3e3972b112cccd6b4008f4 (patch) | |
tree | 16d3cca8d260c731d02a4e5e1ea5b9817c9c3626 /fs/compat.c | |
parent | 1646df40bb111715a90ce0b86448dabbcc5b3f3d (diff) | |
parent | 703a3cd72817e99201cef84a8a7aecc60b2b3581 (diff) |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6: (71 commits)
SELinux: inode_doinit_with_dentry drop no dentry printk
SELinux: new permission between tty audit and audit socket
SELinux: open perm for sock files
smack: fixes for unlabeled host support
keys: make procfiles per-user-namespace
keys: skip keys from another user namespace
keys: consider user namespace in key_permission
keys: distinguish per-uid keys in different namespaces
integrity: ima iint radix_tree_lookup locking fix
TOMOYO: Do not call tomoyo_realpath_init unless registered.
integrity: ima scatterlist bug fix
smack: fix lots of kernel-doc notation
TOMOYO: Don't create securityfs entries unless registered.
TOMOYO: Fix exception policy read failure.
SELinux: convert the avc cache hash list to an hlist
SELinux: code readability with avc_cache
SELinux: remove unused av.decided field
SELinux: more careful use of avd in avc_has_perm_noaudit
SELinux: remove the unused ae.used
SELinux: check seqno when updating an avc_node
...
Diffstat (limited to 'fs/compat.c')
-rw-r--r-- | fs/compat.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/compat.c b/fs/compat.c index d0145ca27572..0949b43794a4 100644 --- a/fs/compat.c +++ b/fs/compat.c | |||
@@ -1402,6 +1402,7 @@ int compat_do_execve(char * filename, | |||
1402 | retval = mutex_lock_interruptible(¤t->cred_exec_mutex); | 1402 | retval = mutex_lock_interruptible(¤t->cred_exec_mutex); |
1403 | if (retval < 0) | 1403 | if (retval < 0) |
1404 | goto out_free; | 1404 | goto out_free; |
1405 | current->in_execve = 1; | ||
1405 | 1406 | ||
1406 | retval = -ENOMEM; | 1407 | retval = -ENOMEM; |
1407 | bprm->cred = prepare_exec_creds(); | 1408 | bprm->cred = prepare_exec_creds(); |
@@ -1454,6 +1455,7 @@ int compat_do_execve(char * filename, | |||
1454 | goto out; | 1455 | goto out; |
1455 | 1456 | ||
1456 | /* execve succeeded */ | 1457 | /* execve succeeded */ |
1458 | current->in_execve = 0; | ||
1457 | mutex_unlock(¤t->cred_exec_mutex); | 1459 | mutex_unlock(¤t->cred_exec_mutex); |
1458 | acct_update_integrals(current); | 1460 | acct_update_integrals(current); |
1459 | free_bprm(bprm); | 1461 | free_bprm(bprm); |
@@ -1470,6 +1472,7 @@ out_file: | |||
1470 | } | 1472 | } |
1471 | 1473 | ||
1472 | out_unlock: | 1474 | out_unlock: |
1475 | current->in_execve = 0; | ||
1473 | mutex_unlock(¤t->cred_exec_mutex); | 1476 | mutex_unlock(¤t->cred_exec_mutex); |
1474 | 1477 | ||
1475 | out_free: | 1478 | out_free: |