load_elf_binary: change code style
Subsystems (2)
PATCH 1/1 load_elf_binary: change code style
Quoted 1 line
From
3d17cc86be5d44bcd9ed37840b81f0000c739594Mon Sep 17 00:00:00 2001
From: mudongliang <[email protected]>
Date: Wed, 4 Nov 2015 22:47:47 +0800
Subject: [PATCH] this writing is a little easier to understand.
Signed-off-by mudongliang <[email protected]>
--- fs/binfmt_elf.c | 100 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 50 insertions(+), 50 deletions(-)
fs/binfmt_elf.c +50 -50
@@ -717,61 +717,61 @@ static int load_elf_binary(struct linux_binprm *bprm) start_data =0 ; end_data =0 ; -for (i =0 ; i < loc->elf_ex.e_phnum; i++) { -if (elf_ppnt->p_type ==PT_INTERP ) { -/* This is the program interpreter used for -* shared libraries - for now assume that this -* is an a.out format binary -*/ - retval = -ENOEXEC ; -if (elf_ppnt->p_filesz >PATH_MAX || - elf_ppnt->p_filesz <2 ) - goto out_free_ph; - - retval = -ENOMEM ; - elf_interpreter =kmalloc (elf_ppnt->p_filesz, -GFP_KERNEL ); -if (!elf_interpreter) - goto out_free_ph; - - retval =kernel_read (bprm->file, elf_ppnt->p_offset, - elf_interpreter, - elf_ppnt->p_filesz); -if (retval != elf_ppnt->p_filesz) { -if (retval >=0 ) - retval = -EIO ; - goto out_free_interp; - } -/* make sure path is NULL terminated */ - retval = -ENOEXEC ; -if (elf_interpreter[elf_ppnt->p_filesz -1 ] !='\0' ) - goto out_free_interp; +for (i =0 ; i < loc->elf_ex.e_phnum; i++, elf_ppnt++) { +if (elf_ppnt->p_type !=PT_INTERP ) +continue ; - interpreter =open_exec (elf_interpreter); - retval =PTR_ERR (interpreter); -if (IS_ERR (interpreter)) - goto out_free_interp; +/* This is the program interpreter used for +* shared libraries - for now assume that this +* is an a.out format binary +*/ + retval = -ENOEXEC ; +if (elf_ppnt->p_filesz >PATH_MAX || + elf_ppnt->p_filesz <2 ) + goto out_free_ph; -/* -* If the binary is not readable then enforce -* mm->dumpable = 0 regardless of the interpreter's -* permissions. -*/ -would_dump (bprm, interpreter); + retval = -ENOMEM ; + elf_interpreter =kmalloc (elf_ppnt->p_filesz, +GFP_KERNEL ); +if (!elf_interpreter) + goto out_free_ph; + + retval =kernel_read (bprm->file, elf_ppnt->p_offset, + elf_interpreter, + elf_ppnt->p_filesz); +if (retval != elf_ppnt->p_filesz) { +if (retval >=0 ) + retval = -EIO ; + goto out_free_interp; + } +/* make sure path is NULL terminated */ + retval = -ENOEXEC ; +if (elf_interpreter[elf_ppnt->p_filesz -1 ] !='\0' ) + goto out_free_interp; - retval =kernel_read (interpreter,0 , bprm->buf, -BINPRM_BUF_SIZE ); -if (retval !=BINPRM_BUF_SIZE ) { -if (retval >=0 ) - retval = -EIO ; - goto out_free_dentry; - } + interpreter =open_exec (elf_interpreter); + retval =PTR_ERR (interpreter); +if (IS_ERR (interpreter)) + goto out_free_interp; -/* Get the exec headers */ - loc->interp_elf_ex = *((struct elfhdr *)bprm->buf); -break ; +/* +* If the binary is not readable then enforce +* mm->dumpable = 0 regardless of the interpreter's +* permissions. +*/ +would_dump (bprm, interpreter); + + retval =kernel_read (interpreter,0 , bprm->buf, +BINPRM_BUF_SIZE ); +if (retval !=BINPRM_BUF_SIZE ) { +if (retval >=0 ) + retval = -EIO ; + goto out_free_dentry; } - elf_ppnt++; + +/* Get the exec headers */ + loc->interp_elf_ex = *((struct elfhdr *)bprm->buf); +break ; } elf_ppnt = elf_phdata;
Signature · 8 lines
2.1.4
--
My best regards to you.
No System Is Safe!
mudongliang