summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Kinard <kumba@gentoo.org>2004-04-17 02:14:56 +0000
committerJoshua Kinard <kumba@gentoo.org>2004-04-17 02:14:56 +0000
commitb8133e9674486fd9dad7b8b154947663c2fa846d (patch)
tree110ebb9b1b427dbe150803a33c468b11e16956a2 /sys-kernel/mips-sources
parentStable on sparc. (diff)
downloadhistorical-b8133e9674486fd9dad7b8b154947663c2fa846d.tar.gz
historical-b8133e9674486fd9dad7b8b154947663c2fa846d.tar.bz2
historical-b8133e9674486fd9dad7b8b154947663c2fa846d.zip
Had the wrong patch for 2.6.x for CAN-2004-0109 (ck-sources had this issue originally). Patch is now the correct one.
Diffstat (limited to 'sys-kernel/mips-sources')
-rw-r--r--sys-kernel/mips-sources/ChangeLog7
-rw-r--r--sys-kernel/mips-sources/Manifest4
-rw-r--r--sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch99
3 files changed, 95 insertions, 15 deletions
diff --git a/sys-kernel/mips-sources/ChangeLog b/sys-kernel/mips-sources/ChangeLog
index b3c1c3c6eaff..735557ce48d8 100644
--- a/sys-kernel/mips-sources/ChangeLog
+++ b/sys-kernel/mips-sources/ChangeLog
@@ -1,6 +1,11 @@
# ChangeLog for sys-kernel/mips-sources
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.35 2004/04/16 06:03:36 kumba Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/mips-sources/ChangeLog,v 1.36 2004/04/17 02:14:56 kumba Exp $
+
+ 16 Apr 2004; Joshua Kinard <kumba@gentoo.org>
+ files/CAN-2004-0109-2.6-iso9660.patch:
+ Had the wrong patch for 2.6.x for CAN-2004-0109 (ck-sources had this issue
+ originally). Patch is now the correct one.
*mips-sources-2.4.26 (16 Apr 2004)
diff --git a/sys-kernel/mips-sources/Manifest b/sys-kernel/mips-sources/Manifest
index 97d4b5474dae..4550d232cbad 100644
--- a/sys-kernel/mips-sources/Manifest
+++ b/sys-kernel/mips-sources/Manifest
@@ -1,4 +1,4 @@
-MD5 3104250fcf84ded3f4239a4f0cecdade ChangeLog 12006
+MD5 d22ed03a2e11e38e6b815e0484a2d54a ChangeLog 12218
MD5 ad25a2a0b6ade60c13ad8040f3c319c6 metadata.xml 378
MD5 c4190fc8a89f1ad1e19343453f6356bb mips-sources-2.4.21-r8.ebuild 2682
MD5 c2f495bd0df6f61c2f509b4ed74e0f4a mips-sources-2.4.22-r11.ebuild 2517
@@ -14,7 +14,7 @@ MD5 147fec50180ad91b6260fc7201dcb90f files/CAN-2004-0010-ncpfs.patch 6050
MD5 174438d215b70cad5ffb00ca8123c062 files/CAN-2004-0077-do_munmap.patch 837
MD5 e300a3e148a7dcc38a0e099494fb6cb3 files/bigendian-byteorder-fix.patch 1557
MD5 21f3a4f186017d925067335e24db36a1 files/CAN-2004-0109-2.4-iso9660.patch 1877
-MD5 5e4b24d4c540af721c5bc7e3ad77f40b files/CAN-2004-0109-2.6-iso9660.patch 414
+MD5 31ec7b4310dd7be3e34aab0204f9b1e8 files/CAN-2004-0109-2.6-iso9660.patch 2072
MD5 07e4cd29df717318635019f6a3d2e72b files/mipscvs-2.4.21-no-page-align.patch 356
MD5 a1157e4d6d0ba95b7c76d55311830a05 files/mipscvs-2.4.22-no-page-align.patch 422
MD5 801d19165cd75bdde5c1e156ca2320db files/mipscvs-2.4.23-no-page-align.patch 442
diff --git a/sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch b/sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch
index 03f49e4f6d7d..d7726c2e5aaf 100644
--- a/sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch
+++ b/sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch
@@ -1,13 +1,88 @@
---- linux/mm/mremap.c.orig 2004-01-05 17:01:21.382104120 +0000
-+++ linux/mm/mremap.c 2004-01-05 17:15:25.689749848 +0000
-@@ -270,6 +270,10 @@
- old_len = PAGE_ALIGN(old_len);
- new_len = PAGE_ALIGN(new_len);
+--- linux/fs/isofs/rock.c.orig
++++ linux/fs/isofs/rock.c
+@@ -14,6 +14,7 @@
+ #include <linux/slab.h>
+ #include <linux/pagemap.h>
+ #include <linux/smp_lock.h>
+ #include <linux/buffer_head.h>
++#include <asm/page.h>
-+ /* Don't allow the degenerate cases */
-+ if (!old_len || !new_len)
-+ goto out;
-+
- /* new_addr is only valid if MREMAP_FIXED is specified */
- if (flags & MREMAP_FIXED) {
- if (new_addr & ~PAGE_MASK)
+ #include "rock.h"
+@@ -419,7 +420,7 @@ int parse_rock_ridge_inode_internal(stru
+ return 0;
+ }
+
+-static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr)
++static char *get_symlink_chunk(char *rpnt, struct rock_ridge *rr, char *plimit)
+ {
+ int slen;
+ int rootflag;
+@@ -431,16 +432,25 @@ static char *get_symlink_chunk(char *rpn
+ rootflag = 0;
+ switch (slp->flags & ~1) {
+ case 0:
++ if (slp->len > plimit - rpnt)
++ return NULL;
+ memcpy(rpnt, slp->text, slp->len);
+ rpnt+=slp->len;
+ break;
++ case 2:
++ if (rpnt >= plimit)
++ return NULL;
++ *rpnt++='.';
++ break;
+ case 4:
++ if (2 > plimit - rpnt)
++ return NULL;
+ *rpnt++='.';
+- /* fallthru */
+- case 2:
+ *rpnt++='.';
+ break;
+ case 8:
++ if (rpnt >= plimit)
++ return NULL;
+ rootflag = 1;
+ *rpnt++='/';
+ break;
+@@ -457,17 +467,23 @@ static char *get_symlink_chunk(char *rpn
+ * If there is another SL record, and this component
+ * record isn't continued, then add a slash.
+ */
+- if ((!rootflag) && (rr->u.SL.flags & 1) && !(oldslp->flags & 1))
++ if ((!rootflag) && (rr->u.SL.flags & 1) &&
++ !(oldslp->flags & 1)) {
++ if (rpnt >= plimit)
++ return NULL;
+ *rpnt++='/';
++ }
+ break;
+ }
+
+ /*
+ * If this component record isn't continued, then append a '/'.
+ */
+- if (!rootflag && !(oldslp->flags & 1))
++ if (!rootflag && !(oldslp->flags & 1)) {
++ if (rpnt >= plimit)
++ return NULL;
+ *rpnt++='/';
+-
++ }
+ }
+ return rpnt;
+ }
+@@ -548,7 +564,10 @@ static int rock_ridge_symlink_readpage(s
+ CHECK_SP(goto out);
+ break;
+ case SIG('S', 'L'):
+- rpnt = get_symlink_chunk(rpnt, rr);
++ rpnt = get_symlink_chunk(rpnt, rr,
++ link + (PAGE_SIZE - 1));
++ if (rpnt == NULL)
++ goto out;
+ break;
+ case SIG('C', 'E'):
+ /* This tells is if there is a continuation record */
+
+