diff options
author | Jason Cox <steel300@gentoo.org> | 2004-04-17 02:08:43 +0000 |
---|---|---|
committer | Jason Cox <steel300@gentoo.org> | 2004-04-17 02:08:43 +0000 |
commit | 1eb6ed2236336de527e92f83a8fa259c9ddae56d (patch) | |
tree | 27dc49657934f3d9f14496add3eebab35a4964da | |
parent | Initial ebuild by Josh Glover <gentoo@jmglov.net> in bug #48064. (Manifest re... (diff) | |
download | gentoo-2-1eb6ed2236336de527e92f83a8fa259c9ddae56d.tar.gz gentoo-2-1eb6ed2236336de527e92f83a8fa259c9ddae56d.tar.bz2 gentoo-2-1eb6ed2236336de527e92f83a8fa259c9ddae56d.zip |
Fix bad patch. Thanks to `Kumba.
-rw-r--r-- | sys-kernel/ck-sources/ChangeLog | 5 | ||||
-rw-r--r-- | sys-kernel/ck-sources/files/ck-sources-2.6.4.CAN-2004-0109.patch | 99 |
2 files changed, 91 insertions, 13 deletions
diff --git a/sys-kernel/ck-sources/ChangeLog b/sys-kernel/ck-sources/ChangeLog index c5c4962eb44b..568f0f39b61a 100644 --- a/sys-kernel/ck-sources/ChangeLog +++ b/sys-kernel/ck-sources/ChangeLog @@ -1,6 +1,9 @@ # ChangeLog for sys-kernel/ck-sources # Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ChangeLog,v 1.29 2004/04/15 08:09:07 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ChangeLog,v 1.30 2004/04/17 02:08:43 steel300 Exp $ + + 16 Apr 2004; <coxj@gentoo.org> files/ck-sources-2.6.4.CAN-2004-0109.patch: + Fix bad patch. 15 Apr 2004; <plasmaroo@gentoo.org> ck-sources-2.4.25-r1.ebuild, ck-sources-2.6.4-r2.ebuild, files/ck-sources-2.4.25.CAN-2004-0109.patch, diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.4.CAN-2004-0109.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.4.CAN-2004-0109.patch index 03f49e4f6d7d..d7726c2e5aaf 100644 --- a/sys-kernel/ck-sources/files/ck-sources-2.6.4.CAN-2004-0109.patch +++ b/sys-kernel/ck-sources/files/ck-sources-2.6.4.CAN-2004-0109.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 */ + + |