binfmt: Slightly simplify elf_fdpic_map_file()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 28 May 2023 16:20:25 +0000 (18:20 +0200)
committerKees Cook <keescook@chromium.org>
Tue, 30 May 2023 22:49:46 +0000 (15:49 -0700)
There is no point in initializing 'load_addr' and 'seg' here, they are both
re-written just before being used below.

Doing so, 'load_addr' can be moved in the #ifdef CONFIG_MMU section.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Acked-by: "Eric W. Biederman" <ebiederm@xmission.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/4f5e4096ad7f17716e924b5bd080e5709fc0b84b.1685290790.git.christophe.jaillet@wanadoo.fr
fs/binfmt_elf_fdpic.c

index 237ce38..1c6c583 100644 (file)
@@ -743,11 +743,12 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
        struct elf32_fdpic_loadmap *loadmap;
 #ifdef CONFIG_MMU
        struct elf32_fdpic_loadseg *mseg;
+       unsigned long load_addr;
 #endif
        struct elf32_fdpic_loadseg *seg;
        struct elf32_phdr *phdr;
-       unsigned long load_addr, stop;
        unsigned nloads, tmp;
+       unsigned long stop;
        int loop, ret;
 
        /* allocate a load map table */
@@ -768,9 +769,6 @@ static int elf_fdpic_map_file(struct elf_fdpic_params *params,
        loadmap->version = ELF32_FDPIC_LOADMAP_VERSION;
        loadmap->nsegs = nloads;
 
-       load_addr = params->load_addr;
-       seg = loadmap->segs;
-
        /* map the requested LOADs into the memory space */
        switch (params->flags & ELF_FDPIC_FLAG_ARRANGEMENT) {
        case ELF_FDPIC_FLAG_CONSTDISP: