X-Git-Url: http://pilppa.org/gitweb/?a=blobdiff_plain;f=fs%2Fbinfmt_elf_fdpic.c;h=a4d933a51208c5bcbfdd182b2412c3b1d369c140;hb=2fd592e45b9c89d69e126f172d0f991e2af955e5;hp=6e6d4568d548926880112dd305e51adb8823b86d;hpb=e05135d1550e73f722ae92909f9c9f44b305e9e2;p=linux-2.6-omap-h63xx.git diff --git a/fs/binfmt_elf_fdpic.c b/fs/binfmt_elf_fdpic.c index 6e6d4568d54..a4d933a5120 100644 --- a/fs/binfmt_elf_fdpic.c +++ b/fs/binfmt_elf_fdpic.c @@ -234,6 +234,14 @@ static int load_elf_fdpic_binary(struct linux_binprm *bprm, goto error; } + /* + * If the binary is not readable then enforce + * mm->dumpable = 0 regardless of the interpreter's + * permissions. + */ + if (file_permission(interpreter, MAY_READ) < 0) + bprm->interp_flags |= BINPRM_FLAGS_ENFORCE_NONDUMP; + retval = kernel_read(interpreter, 0, bprm->buf, BINPRM_BUF_SIZE); if (retval < 0)