r2016 - in trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian: . patches
Simon Horman
horms@haydn.debian.org
Tue, 21 Dec 2004 05:49:04 -0700
Author: horms
Date: 2004-12-21 05:48:46 -0700 (Tue, 21 Dec 2004)
New Revision: 2016
Removed:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/097-elf_loader_overflow-3.diff
Modified:
trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
Log:
back up new elf patch as it doesn't compile
Modified: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog 2004-12-21 12:47:45 UTC (rev 2015)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/changelog 2004-12-21 12:48:46 UTC (rev 2016)
@@ -1,4 +1,4 @@
-kernel-source-2.4.27 (2.4.27-7) UNRELEASED; urgency=low
+kernel-source-2.4.27 (2.4.27-7) unstable; urgency=low
* 113-unix-serialization.diff:
Security: Add missing serialization to unix_dgram_recvmsg() which otherwise
Deleted: trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/097-elf_loader_overflow-3.diff
===================================================================
--- trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/097-elf_loader_overflow-3.diff 2004-12-21 12:47:45 UTC (rev 2015)
+++ trunk/kernel-2.4/source/kernel-source-2.4.27-2.4.27/debian/patches/097-elf_loader_overflow-3.diff 2004-12-21 12:48:46 UTC (rev 2016)
@@ -1,88 +0,0 @@
-# origin: solar (BitKeeper)
-# cset: 1.1548 (2.4) key=41c67d3cIULXQlKnQTNeoBV6YoTRQw
-# inclusion: upstream
-# descrition: [PATCH] binfmt_elf fix return error codes and early corrupt binary detection
-# revision date: Tue, 21 Dec 2004 18:45:42 +0900
-#
-# S rset: ChangeSet|1.1547..1.1548
-# I rset: fs/binfmt_elf.c|1.35..1.36
-#
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-# 2004/12/20 05:20:28-02:00 solar@openwall.com
-# [PATCH] binfmt_elf fix return error codes and early corrupt binary detection
-#
-# fs/binfmt_elf.c
-# 2004/12/17 16:17:46-02:00 solar@openwall.com +17 -7
-# binfmt_elf fix return errors code and early corrupt binary detection
-#
-#
-===== fs/binfmt_elf.c 1.35 vs 1.36 =====
---- 1.35/fs/binfmt_elf.c 2004-10-16 20:16:38 +09:00
-+++ 1.36/fs/binfmt_elf.c 2004-12-18 03:17:46 +09:00
-@@ -383,6 +383,12 @@
- }
-
- *interp_load_addr = load_addr;
-+ /*
-+ * XXX: is everything deallocated properly if this happens
-+ * to be ~0UL (that is, we succeeded, but the header is broken
-+ * and thus the caller will think that we failed)? We'd better
-+ * switch to out-of-band error reporting.
-+ */
- error = ((unsigned long) interp_elf_ex->e_entry) + load_addr;
-
- out_close:
-@@ -483,12 +489,13 @@
-
- /* Now read in all of the header information */
-
-- retval = -ENOMEM;
- if (elf_ex.e_phentsize != sizeof(struct elf_phdr))
- goto out;
-- if (elf_ex.e_phnum > 65536U / sizeof(struct elf_phdr))
-+ if (elf_ex.e_phnum < 1 ||
-+ elf_ex.e_phnum > 65536U / sizeof(struct elf_phdr))
- goto out;
- size = elf_ex.e_phnum * sizeof(struct elf_phdr);
-+ retval = -ENOMEM;
- elf_phdata = (struct elf_phdr *) kmalloc(size, GFP_KERNEL);
- if (!elf_phdata)
- goto out;
-@@ -534,10 +541,12 @@
- * is an a.out format binary
- */
-
-- retval = -ENOMEM;
-+ retval = -ENOEXEC;
- if (elf_ppnt->p_filesz > PATH_MAX ||
-- elf_ppnt->p_filesz == 0)
-+ elf_ppnt->p_filesz < 2)
- goto out_free_file;
-+
-+ retval = -ENOMEM;
- elf_interpreter = (char *) kmalloc(elf_ppnt->p_filesz,
- GFP_KERNEL);
- if (!elf_interpreter)
-@@ -552,7 +561,7 @@
- goto out_free_interp;
- }
- /* make sure path is NULL terminated */
-- retval = -EINVAL;
-+ retval = -ENOEXEC;
- if (elf_interpreter[elf_ppnt->p_filesz - 1] != '\0')
- goto out_free_interp;
-
-@@ -795,8 +804,9 @@
- interpreter,
- &interp_load_addr);
- if (BAD_ADDR(elf_entry)) {
-- printk(KERN_ERR "Unable to load interpreter\n");
-- send_sig(SIGSEGV, current, 0);
-+ printk(KERN_ERR "Unable to load interpreter %.128s\n",
-+ elf_interpreter);
-+ force_sig(SIGSEGV, current, 0);
- retval = -ENOEXEC; /* Nobody gets to see this, but.. */
- goto out_free_dentry;
- }