lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 21 Aug 2008 13:39:08 +0100 From: David Howells <dhowells@...hat.com> To: jmorris@...ei.org Cc: dhowells@...hat.com, linux-kernel@...r.kernel.org, linux-security-module@...r.kernel.org Subject: [PATCH] CRED: Move the exec mutex release out of bprm_free() Move the exec mutex release out of free_bprm() and into the error handling paths of do_execve() and compat_do_execve(). install_exec_creds() already takes care of the success path. Signed-off-by: David Howells <dhowells@...hat.com> --- fs/compat.c | 3 +-- fs/exec.c | 7 ++----- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/fs/compat.c b/fs/compat.c index 918f0f2..af24b8a 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -1373,7 +1373,7 @@ int compat_do_execve(char * filename, file = open_exec(filename); retval = PTR_ERR(file); if (IS_ERR(file)) - goto out_free; + goto out_unlock; sched_exec(); @@ -1427,7 +1427,6 @@ out_file: allow_write_access(bprm->file); fput(bprm->file); } - goto out_free; out_unlock: mutex_unlock(¤t->cred_exec_mutex); diff --git a/fs/exec.c b/fs/exec.c index 7b71679..9fa9a2d 100644 --- a/fs/exec.c +++ b/fs/exec.c @@ -1277,10 +1277,8 @@ EXPORT_SYMBOL(search_binary_handler); void free_bprm(struct linux_binprm *bprm) { free_arg_pages(bprm); - if (bprm->cred) { - mutex_unlock(¤t->cred_exec_mutex); + if (bprm->cred) abort_creds(bprm->cred); - } kfree(bprm); } @@ -1319,7 +1317,7 @@ int do_execve(char * filename, file = open_exec(filename); retval = PTR_ERR(file); if (IS_ERR(file)) - goto out_free; + goto out_unlock; sched_exec(); @@ -1376,7 +1374,6 @@ out_file: allow_write_access(bprm->file); fput(bprm->file); } - goto out_free; out_unlock: mutex_unlock(¤t->cred_exec_mutex); -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists