diff options
Diffstat (limited to 'fs/binfmt_flat.c')
| -rw-r--r-- | fs/binfmt_flat.c | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/fs/binfmt_flat.c b/fs/binfmt_flat.c index 9d6625829b99..108d56bbd0d0 100644 --- a/fs/binfmt_flat.c +++ b/fs/binfmt_flat.c | |||
| @@ -77,8 +77,6 @@ static int load_flat_shared_library(int id, struct lib_info *p); | |||
| 77 | static int load_flat_binary(struct linux_binprm *, struct pt_regs * regs); | 77 | static int load_flat_binary(struct linux_binprm *, struct pt_regs * regs); |
| 78 | static int flat_core_dump(long signr, struct pt_regs * regs, struct file *file); | 78 | static int flat_core_dump(long signr, struct pt_regs * regs, struct file *file); |
| 79 | 79 | ||
| 80 | extern void dump_thread(struct pt_regs *, struct user *); | ||
| 81 | |||
| 82 | static struct linux_binfmt flat_format = { | 80 | static struct linux_binfmt flat_format = { |
| 83 | .module = THIS_MODULE, | 81 | .module = THIS_MODULE, |
| 84 | .load_binary = load_flat_binary, | 82 | .load_binary = load_flat_binary, |
| @@ -444,19 +442,22 @@ static int load_flat_file(struct linux_binprm * bprm, | |||
| 444 | flags = ntohl(hdr->flags); | 442 | flags = ntohl(hdr->flags); |
| 445 | rev = ntohl(hdr->rev); | 443 | rev = ntohl(hdr->rev); |
| 446 | 444 | ||
| 447 | if (flags & FLAT_FLAG_KTRACE) | 445 | if (strncmp(hdr->magic, "bFLT", 4)) { |
| 448 | printk("BINFMT_FLAT: Loading file: %s\n", bprm->filename); | ||
| 449 | |||
| 450 | if (strncmp(hdr->magic, "bFLT", 4) || | ||
| 451 | (rev != FLAT_VERSION && rev != OLD_FLAT_VERSION)) { | ||
| 452 | /* | 446 | /* |
| 453 | * because a lot of people do not manage to produce good | 447 | * because a lot of people do not manage to produce good |
| 454 | * flat binaries, we leave this printk to help them realise | 448 | * flat binaries, we leave this printk to help them realise |
| 455 | * the problem. We only print the error if its not a script file | 449 | * the problem. We only print the error if its not a script file |
| 456 | */ | 450 | */ |
| 457 | if (strncmp(hdr->magic, "#!", 2)) | 451 | if (strncmp(hdr->magic, "#!", 2)) |
| 458 | printk("BINFMT_FLAT: bad magic/rev (0x%x, need 0x%x)\n", | 452 | printk("BINFMT_FLAT: bad header magic\n"); |
| 459 | rev, (int) FLAT_VERSION); | 453 | return -ENOEXEC; |
| 454 | } | ||
| 455 | |||
| 456 | if (flags & FLAT_FLAG_KTRACE) | ||
| 457 | printk("BINFMT_FLAT: Loading file: %s\n", bprm->filename); | ||
| 458 | |||
| 459 | if (rev != FLAT_VERSION && rev != OLD_FLAT_VERSION) { | ||
| 460 | printk("BINFMT_FLAT: bad flat file version 0x%x (supported 0x%x and 0x%x)\n", rev, FLAT_VERSION, OLD_FLAT_VERSION); | ||
| 460 | return -ENOEXEC; | 461 | return -ENOEXEC; |
| 461 | } | 462 | } |
| 462 | 463 | ||
