diff options
Diffstat (limited to 'sys-kernel/mips-sources')
-rw-r--r-- | sys-kernel/mips-sources/ChangeLog | 7 | ||||
-rw-r--r-- | sys-kernel/mips-sources/Manifest | 4 | ||||
-rw-r--r-- | sys-kernel/mips-sources/files/CAN-2004-0109-2.6-iso9660.patch | 99 |
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 */ + + |