EDAC, ghes: Model a single, logical memory controller
[sfrench/cifs-2.6.git] / fs / binfmt_elf_fdpic.c
index 5aa9199dfb1308df7a0052e15001c711b3890143..e70c039ac19067f1a0b490bf2ffe8d5c0ba52498 100644 (file)
@@ -145,6 +145,7 @@ static int elf_fdpic_fetch_phdrs(struct elf_fdpic_params *params,
        struct elf32_phdr *phdr;
        unsigned long size;
        int retval, loop;
+       loff_t pos = params->hdr.e_phoff;
 
        if (params->hdr.e_phentsize != sizeof(struct elf_phdr))
                return -ENOMEM;
@@ -156,8 +157,7 @@ static int elf_fdpic_fetch_phdrs(struct elf_fdpic_params *params,
        if (!params->phdrs)
                return -ENOMEM;
 
-       retval = kernel_read(file, params->hdr.e_phoff,
-                            (char *) params->phdrs, size);
+       retval = kernel_read(file, params->phdrs, size, &pos);
        if (unlikely(retval != size))
                return retval < 0 ? retval : -ENOEXEC;
 
@@ -199,6 +199,7 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm)
        char *interpreter_name = NULL;
        int executable_stack;
        int retval, i;
+       loff_t pos;
 
        kdebug("____ LOAD %d ____", current->pid);
 
@@ -246,10 +247,9 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm)
                        if (!interpreter_name)
                                goto error;
 
-                       retval = kernel_read(bprm->file,
-                                            phdr->p_offset,
-                                            interpreter_name,
-                                            phdr->p_filesz);
+                       pos = phdr->p_offset;
+                       retval = kernel_read(bprm->file, interpreter_name,
+                                            phdr->p_filesz, &pos);
                        if (unlikely(retval != phdr->p_filesz)) {
                                if (retval >= 0)
                                        retval = -ENOEXEC;
@@ -277,8 +277,9 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm)
                         */
                        would_dump(bprm, interpreter);
 
-                       retval = kernel_read(interpreter, 0, bprm->buf,
-                                            BINPRM_BUF_SIZE);
+                       pos = 0;
+                       retval = kernel_read(interpreter, bprm->buf,
+                                       BINPRM_BUF_SIZE, &pos);
                        if (unlikely(retval != BINPRM_BUF_SIZE)) {
                                if (retval >= 0)
                                        retval = -ENOEXEC;