2008-02-11 17:35:26

by Mike Frysinger

[permalink] [raw]
Subject: [patch] FLAT binaries: drop BINFMT_FLAT bad header magic warning

The warning issued by fs/binfmt_flat.c when the format handler is given a
non-FLAT and non-script executable is annoying to say the least when working
with FDPIC ELF objects. If you build a kernel that supports both FLAT and
FDPIC ELFs on no-mmu, every time you execute an FDPIC ELF, the kernel spits
out this message. While I understand a lot of newcomers to the no-mmu world
screw up generation of FLAT binaries, this warning is not usable for systems
that support more than just FLAT.

Signed-off-by: Jie Zhang <[email protected]>
Signed-off-by: Mike Frysinger <[email protected]>
CC: Bernd Schmidt <[email protected]>
CC: Greg Ungerer <[email protected]>
---
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
index d8a02f1..0498b18 100644
--- a/fs/binfmt_flat.c
+++ b/fs/binfmt_flat.c
@@ -443,12 +443,12 @@ static int load_flat_file(struct linux_binprm * bprm,

if (strncmp(hdr->magic, "bFLT", 4)) {
/*
+ * Previously, here was a printk to tell people
+ * "BINFMT_FLAT: bad header magic".
+ * But for the kernel which also use ELF FD-PIC format, this
+ * error message is confusing.
* because a lot of people do not manage to produce good
- * flat binaries, we leave this printk to help them realise
- * the problem. We only print the error if its not a script file
*/
- if (strncmp(hdr->magic, "#!", 2))
- printk("BINFMT_FLAT: bad header magic\n");
ret = -ENOEXEC;
goto err;
}


2008-02-13 02:14:00

by Greg Ungerer

[permalink] [raw]
Subject: Re: [patch] FLAT binaries: drop BINFMT_FLAT bad header magic warning


Mike Frysinger wrote:
> The warning issued by fs/binfmt_flat.c when the format handler is given a
> non-FLAT and non-script executable is annoying to say the least when working
> with FDPIC ELF objects. If you build a kernel that supports both FLAT and
> FDPIC ELFs on no-mmu, every time you execute an FDPIC ELF, the kernel spits
> out this message. While I understand a lot of newcomers to the no-mmu world
> screw up generation of FLAT binaries, this warning is not usable for systems
> that support more than just FLAT.

I don't have a problem with this.

Acked-by: Greg Ungerer <[email protected]>


> Signed-off-by: Jie Zhang <[email protected]>
> Signed-off-by: Mike Frysinger <[email protected]>
> CC: Bernd Schmidt <[email protected]>
> CC: Greg Ungerer <[email protected]>
> ---
> diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c
> index d8a02f1..0498b18 100644
> --- a/fs/binfmt_flat.c
> +++ b/fs/binfmt_flat.c
> @@ -443,12 +443,12 @@ static int load_flat_file(struct linux_binprm * bprm,
>
> if (strncmp(hdr->magic, "bFLT", 4)) {
> /*
> + * Previously, here was a printk to tell people
> + * "BINFMT_FLAT: bad header magic".
> + * But for the kernel which also use ELF FD-PIC format, this
> + * error message is confusing.
> * because a lot of people do not manage to produce good
> - * flat binaries, we leave this printk to help them realise
> - * the problem. We only print the error if its not a script file
> */
> - if (strncmp(hdr->magic, "#!", 2))
> - printk("BINFMT_FLAT: bad header magic\n");
> ret = -ENOEXEC;
> goto err;
> }
>

--
------------------------------------------------------------------------
Greg Ungerer -- Chief Software Dude EMAIL: [email protected]
Secure Computing Corporation PHONE: +61 7 3435 2888
825 Stanley St, FAX: +61 7 3891 3630
Woolloongabba, QLD, 4102, Australia WEB: http://www.SnapGear.com