fs/binfmt_elf.c: save 1 indent level
authorAlexey Dobriyan <adobriyan@gmail.com>
Tue, 14 May 2019 22:43:45 +0000 (15:43 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 15 May 2019 02:52:50 +0000 (19:52 -0700)
Rewrite

for (...) {
if (->p_type == PT_INTERP) {
...
break;
}
}

loop into

for (...) {
if (->p_type != PT_INTERP)
continue;
...
break;
}

Link: http://lkml.kernel.org/r/20190416201906.GA24304@avx2
Signed-off-by: Alexey Dobriyan <adobriyan@gmail.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/binfmt_elf.c

index 09e76b25d8331c876696ec452dd219e50a7af3c8..3f18a7f9d49e53777a0f58baaf12777477e46542 100644 (file)
@@ -740,69 +740,66 @@ 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) {
-                       char *elf_interpreter;
-                       loff_t pos;
-
-                       /* 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;
-
-                       pos = elf_ppnt->p_offset;
-                       retval = kernel_read(bprm->file, elf_interpreter,
-                                            elf_ppnt->p_filesz, &pos);
-                       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++) {
+               char *elf_interpreter;
+               loff_t pos;
 
-                       interpreter = open_exec(elf_interpreter);
-                       kfree(elf_interpreter);
-                       retval = PTR_ERR(interpreter);
-                       if (IS_ERR(interpreter))
-                               goto out_free_ph;
+               if (elf_ppnt->p_type != PT_INTERP)
+                       continue;
 
-                       /*
-                        * If the binary is not readable then enforce
-                        * mm->dumpable = 0 regardless of the interpreter's
-                        * permissions.
-                        */
-                       would_dump(bprm, interpreter);
-
-                       /* Get the exec headers */
-                       pos = 0;
-                       retval = kernel_read(interpreter, &loc->interp_elf_ex,
-                                            sizeof(loc->interp_elf_ex), &pos);
-                       if (retval != sizeof(loc->interp_elf_ex)) {
-                               if (retval >= 0)
-                                       retval = -EIO;
-                               goto out_free_dentry;
-                       }
+               /*
+                * 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;
 
-                       break;
+               retval = -ENOMEM;
+               elf_interpreter = kmalloc(elf_ppnt->p_filesz, GFP_KERNEL);
+               if (!elf_interpreter)
+                       goto out_free_ph;
 
-out_free_interp:
-                       kfree(elf_interpreter);
+               pos = elf_ppnt->p_offset;
+               retval = kernel_read(bprm->file, elf_interpreter,
+                                    elf_ppnt->p_filesz, &pos);
+               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;
+
+               interpreter = open_exec(elf_interpreter);
+               kfree(elf_interpreter);
+               retval = PTR_ERR(interpreter);
+               if (IS_ERR(interpreter))
                        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);
+
+               /* Get the exec headers */
+               pos = 0;
+               retval = kernel_read(interpreter, &loc->interp_elf_ex,
+                                    sizeof(loc->interp_elf_ex), &pos);
+               if (retval != sizeof(loc->interp_elf_ex)) {
+                       if (retval >= 0)
+                               retval = -EIO;
+                       goto out_free_dentry;
                }
-               elf_ppnt++;
+
+               break;
+
+out_free_interp:
+               kfree(elf_interpreter);
+               goto out_free_ph;
        }
 
        elf_ppnt = elf_phdata;