diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-17 09:48:14 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2004-04-17 09:48:14 +0000 |
commit | cb09c71030e112dc536f31178a2e3ede8aa72e0a (patch) | |
tree | 501cd2f6a21122706414014dcbdeabf3445e555d /sys-kernel | |
parent | stable on amd64 (diff) | |
download | historical-cb09c71030e112dc536f31178a2e3ede8aa72e0a.tar.gz historical-cb09c71030e112dc536f31178a2e3ede8aa72e0a.tar.bz2 historical-cb09c71030e112dc536f31178a2e3ede8aa72e0a.zip |
Added patches for the CAN-2004-0010, CAN-2004-0177 and CAN-2004-0178 vulnerabilities.
Diffstat (limited to 'sys-kernel')
-rw-r--r-- | sys-kernel/gaming-sources/ChangeLog | 12 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/Manifest | 9 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r10 (renamed from sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r9) | 0 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0010.patch | 200 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0177.patch | 10 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0178.patch | 11 | ||||
-rw-r--r-- | sys-kernel/gaming-sources/gaming-sources-2.4.20-r10.ebuild (renamed from sys-kernel/gaming-sources/gaming-sources-2.4.20-r9.ebuild) | 13 |
7 files changed, 246 insertions, 9 deletions
diff --git a/sys-kernel/gaming-sources/ChangeLog b/sys-kernel/gaming-sources/ChangeLog index 5f8fa95875b3..c8ba71f4d6a8 100644 --- a/sys-kernel/gaming-sources/ChangeLog +++ b/sys-kernel/gaming-sources/ChangeLog @@ -1,6 +1,16 @@ # ChangeLog for sys-kernel/gaming-sources # Copyright 2000-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/ChangeLog,v 1.19 2004/04/15 08:45:19 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/ChangeLog,v 1.20 2004/04/17 09:48:14 plasmaroo Exp $ + +*gaming-sources-2.4.20-r10 (17 Apr 2004) + + 17 Apr 2004; <plasmaroo@gentoo.org> + +files/gaming-sources-2.4.20.CAN-2004-0010.patch, + +files/gaming-sources-2.4.20.CAN-2004-0177.patch, + +files/gaming-sources-2.4.20.CAN-2004-0178.patch, + +gaming-sources-2.4.20-r10.ebuild, -gaming-sources-2.4.20-r9.ebuild: + Added patches for the CAN-2004-0010, CAN-2004-0177 and CAN-2004-0178 + vulnerabilities. 15 Apr 2004; <plasmaroo@gentoo.org> gaming-sources-2.4.20-r9.ebuild, files/gaming-sources-2.4.20.CAN-2004-0109.patch: diff --git a/sys-kernel/gaming-sources/Manifest b/sys-kernel/gaming-sources/Manifest index 5beac22f10b0..80982614566b 100644 --- a/sys-kernel/gaming-sources/Manifest +++ b/sys-kernel/gaming-sources/Manifest @@ -1,13 +1,16 @@ -MD5 e05c6fc0dd2fd5e94e849f1de559605d ChangeLog 3569 +MD5 de5922e1238b50c7dd1820afafc56ada ChangeLog 3967 +MD5 3df01f8e68683ec20f146780ae100db4 gaming-sources-2.4.20-r10.ebuild 1896 MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290 MD5 93829d20341e7a8b397b14430001fa2e gaming-sources-2.4.20-r5.ebuild 1187 -MD5 4b2418a1775d6de5f0af5bae3e8c77e4 gaming-sources-2.4.20-r9.ebuild 1612 MD5 e77a93fdf26f06cf3ea5080b27211725 files/gaming-sources-2.4.20.CAN-2003-0985.patch 414 +MD5 147fec50180ad91b6260fc7201dcb90f files/gaming-sources-2.4.20.CAN-2004-0010.patch 6050 MD5 df40eece807d039cba79f477e80ebda2 files/gaming-sources-2.4.20.rtc_fix.patch 4974 MD5 bf2b609e8cab6460d220b1267db09826 files/gaming-sources-2.4.20.CAN-2004-0001.patch 982 +MD5 ac42024b6e6ee1e2165914db4b22a61c files/gaming-sources-2.4.20.CAN-2004-0178.patch 424 MD5 3a84a13cd1ae6324e4f754c05a77cb34 files/gaming-sources-2.4.20-gcc33.patch 12143 -MD5 1167bc6f9dd7add4edb8041755be6b63 files/digest-gaming-sources-2.4.20-r9 216 +MD5 1167bc6f9dd7add4edb8041755be6b63 files/digest-gaming-sources-2.4.20-r10 216 MD5 21f3a4f186017d925067335e24db36a1 files/gaming-sources-2.4.20.CAN-2004-0109.patch 1877 MD5 f618ba7a8f54e0f6f3bd107f3235cb7d files/digest-gaming-sources-2.4.20-r5 210 +MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/gaming-sources-2.4.20.CAN-2004-0177.patch 384 MD5 174438d215b70cad5ffb00ca8123c062 files/gaming-sources-2.4.20.munmap.patch 837 MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/do_brk_fix.patch 242 diff --git a/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r9 b/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r10 index bb133846e255..bb133846e255 100644 --- a/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r9 +++ b/sys-kernel/gaming-sources/files/digest-gaming-sources-2.4.20-r10 diff --git a/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0010.patch b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0010.patch new file mode 100644 index 000000000000..6b4b1cefa49e --- /dev/null +++ b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0010.patch @@ -0,0 +1,200 @@ +diff -urN linux-2.4.25-pre6/fs/ncpfs/dir.c linux-2.4.25-pre7/fs/ncpfs/dir.c +--- linux-2.4.25-pre6/fs/ncpfs/dir.c 2002-11-28 15:53:15.000000000 -0800 ++++ linux-2.4.25-pre7/fs/ncpfs/dir.c 2004-01-23 10:53:26.000000000 -0800 +@@ -266,8 +266,8 @@ + struct ncp_server *server; + struct inode *dir = dentry->d_parent->d_inode; + struct ncp_entry_info finfo; +- int res, val = 0, len = dentry->d_name.len + 1; +- __u8 __name[len]; ++ int res, val = 0, len; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + + if (!dentry->d_inode || !dir) + goto finished; +@@ -291,14 +291,15 @@ + dentry->d_parent->d_name.name, dentry->d_name.name, + NCP_GET_AGE(dentry)); + ++ len = sizeof(__name); + if (ncp_is_server_root(dir)) { + res = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, 1); ++ dentry->d_name.len, 1); + if (!res) + res = ncp_lookup_volume(server, __name, &(finfo.i)); + } else { + res = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, !ncp_preserve_case(dir)); ++ dentry->d_name.len, !ncp_preserve_case(dir)); + if (!res) + res = ncp_obtain_info(server, dir, __name, &(finfo.i)); + } +@@ -548,9 +549,9 @@ + int valid = 0; + int hashed = 0; + ino_t ino = 0; +- __u8 __name[256]; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + +- qname.len = 256; ++ qname.len = sizeof(__name); + if (ncp_vol2io(NCP_SERVER(inode), __name, &qname.len, + entry->i.entryName, entry->i.nameLen, + !ncp_preserve_entry_case(inode, entry->i.NSCreator))) +@@ -705,16 +706,19 @@ + { + struct ncp_server* server = NCP_SBP(sb); + struct nw_info_struct i; +- int result, len = strlen(server->m.mounted_vol) + 1; +- __u8 __name[len]; ++ int result; + + if (ncp_single_volume(server)) { ++ int len; + struct dentry* dent; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + +- result = -ENOENT; +- if (ncp_io2vol(server, __name, &len, server->m.mounted_vol, +- len-1, 1)) ++ len = sizeof(__name); ++ result = ncp_io2vol(server, __name, &len, server->m.mounted_vol, ++ strlen(server->m.mounted_vol), 1); ++ if (result) + goto out; ++ result = -ENOENT; + if (ncp_lookup_volume(server, __name, &i)) { + PPRINTK("ncp_conn_logged_in: %s not found\n", + server->m.mounted_vol); +@@ -745,8 +749,8 @@ + struct ncp_server *server = NCP_SERVER(dir); + struct inode *inode = NULL; + struct ncp_entry_info finfo; +- int error, res, len = dentry->d_name.len + 1; +- __u8 __name[len]; ++ int error, res, len; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + + error = -EIO; + if (!ncp_conn_valid(server)) +@@ -755,14 +759,15 @@ + PPRINTK("ncp_lookup: server lookup for %s/%s\n", + dentry->d_parent->d_name.name, dentry->d_name.name); + ++ len = sizeof(__name); + if (ncp_is_server_root(dir)) { + res = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, 1); ++ dentry->d_name.len, 1); + if (!res) + res = ncp_lookup_volume(server, __name, &(finfo.i)); + } else { + res = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, !ncp_preserve_case(dir)); ++ dentry->d_name.len, !ncp_preserve_case(dir)); + if (!res) + res = ncp_obtain_info(server, dir, __name, &(finfo.i)); + } +@@ -825,9 +830,9 @@ + { + struct ncp_server *server = NCP_SERVER(dir); + struct ncp_entry_info finfo; +- int error, result, len = dentry->d_name.len + 1; ++ int error, result, len; + int opmode; +- __u8 __name[len]; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + + PPRINTK("ncp_create_new: creating %s/%s, mode=%x\n", + dentry->d_parent->d_name.name, dentry->d_name.name, mode); +@@ -836,8 +841,9 @@ + goto out; + + ncp_age_dentry(server, dentry); ++ len = sizeof(__name); + error = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, !ncp_preserve_case(dir)); ++ dentry->d_name.len, !ncp_preserve_case(dir)); + if (error) + goto out; + +@@ -880,8 +886,8 @@ + { + struct ncp_entry_info finfo; + struct ncp_server *server = NCP_SERVER(dir); +- int error, len = dentry->d_name.len + 1; +- __u8 __name[len]; ++ int error, len; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + + DPRINTK("ncp_mkdir: making %s/%s\n", + dentry->d_parent->d_name.name, dentry->d_name.name); +@@ -890,8 +896,9 @@ + goto out; + + ncp_age_dentry(server, dentry); ++ len = sizeof(__name); + error = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, !ncp_preserve_case(dir)); ++ dentry->d_name.len, !ncp_preserve_case(dir)); + if (error) + goto out; + +@@ -909,8 +916,8 @@ + static int ncp_rmdir(struct inode *dir, struct dentry *dentry) + { + struct ncp_server *server = NCP_SERVER(dir); +- int error, result, len = dentry->d_name.len + 1; +- __u8 __name[len]; ++ int error, result, len; ++ __u8 __name[NCP_MAXPATHLEN + 1]; + + DPRINTK("ncp_rmdir: removing %s/%s\n", + dentry->d_parent->d_name.name, dentry->d_name.name); +@@ -923,8 +930,9 @@ + if (!d_unhashed(dentry)) + goto out; + ++ len = sizeof(__name); + error = ncp_io2vol(server, __name, &len, dentry->d_name.name, +- len-1, !ncp_preserve_case(dir)); ++ dentry->d_name.len, !ncp_preserve_case(dir)); + if (error) + goto out; + +@@ -1022,9 +1030,8 @@ + { + struct ncp_server *server = NCP_SERVER(old_dir); + int error; +- int old_len = old_dentry->d_name.len + 1; +- int new_len = new_dentry->d_name.len + 1; +- __u8 __old_name[old_len], __new_name[new_len]; ++ int old_len, new_len; ++ __u8 __old_name[NCP_MAXPATHLEN + 1], __new_name[NCP_MAXPATHLEN + 1]; + + DPRINTK("ncp_rename: %s/%s to %s/%s\n", + old_dentry->d_parent->d_name.name, old_dentry->d_name.name, +@@ -1037,15 +1044,17 @@ + ncp_age_dentry(server, old_dentry); + ncp_age_dentry(server, new_dentry); + ++ old_len = sizeof(__old_name); + error = ncp_io2vol(server, __old_name, &old_len, +- old_dentry->d_name.name, old_len-1, +- !ncp_preserve_case(old_dir)); ++ old_dentry->d_name.name, old_dentry->d_name.len, ++ !ncp_preserve_case(old_dir)); + if (error) + goto out; + ++ new_len = sizeof(__new_name); + error = ncp_io2vol(server, __new_name, &new_len, +- new_dentry->d_name.name, new_len-1, +- !ncp_preserve_case(new_dir)); ++ new_dentry->d_name.name, new_dentry->d_name.len, ++ !ncp_preserve_case(new_dir)); + if (error) + goto out; + + diff --git a/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0177.patch b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0177.patch new file mode 100644 index 000000000000..da6b7e190685 --- /dev/null +++ b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0177.patch @@ -0,0 +1,10 @@ +--- linux-2.4.26-pre3/fs/jbd/journal.c 2004-02-18 05:36:31.000000000 -0800 ++++ linux-2.4.26-pre4/fs/jbd/journal.c 2004-03-16 09:59:36.000000000 -0800 +@@ -671,6 +671,7 @@ + + bh = getblk(journal->j_dev, blocknr, journal->j_blocksize); + lock_buffer(bh); ++ memset(bh->b_data, 0, journal->j_blocksize); + BUFFER_TRACE(bh, "return this buffer"); + return journal_add_journal_head(bh); + } diff --git a/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0178.patch b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0178.patch new file mode 100644 index 000000000000..19e57268c2fa --- /dev/null +++ b/sys-kernel/gaming-sources/files/gaming-sources-2.4.20.CAN-2004-0178.patch @@ -0,0 +1,11 @@ +--- linux-2.4.26-pre2/drivers/sound/sb_audio.c 2002-02-25 11:38:06.000000000 -0800 ++++ linux-2.4.26-pre3/drivers/sound/sb_audio.c 2004-03-13 07:43:23.000000000 -0800 +@@ -879,7 +879,7 @@ + c -= locallen; p += locallen; + } + /* used = ( samples * 16 bits size ) */ +- *used = len << 1; ++ *used = max_in > ( max_out << 1) ? (max_out << 1) : max_in; + /* returned = ( samples * 8 bits size ) */ + *returned = len; + } diff --git a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r9.ebuild b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r10.ebuild index adecfc3745ef..8a4570d5cce6 100644 --- a/sys-kernel/gaming-sources/gaming-sources-2.4.20-r9.ebuild +++ b/sys-kernel/gaming-sources/gaming-sources-2.4.20-r10.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2004 Gentoo Technologies, Inc. # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/gaming-sources-2.4.20-r9.ebuild,v 1.1 2004/04/15 08:45:19 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gaming-sources/gaming-sources-2.4.20-r10.ebuild,v 1.1 2004/04/17 09:48:14 plasmaroo Exp $ IUSE="build" @@ -10,33 +10,36 @@ ETYPE="sources" inherit kernel eutils OKV="2.4.20" -EXTRAVERSION="-gaming-r9" +EXTRAVERSION="-gaming-r10" KV="${OKV}${EXTRAVERSION}" S=${WORKDIR}/linux-${KV} CKV="2.4.20-ck7" DESCRIPTION="Full sources for the Gentoo gaming-optimized kernel" HOMEPAGE="http://members.optusnet.com.au/ckolivas/kernel/" -SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 mirror://gentoo/patches-${KV/9/5}.tar.bz2 http://www.plumlocosoft.com/kernel/patches/2.4/${OKV}/linux-${CKV}.patch.bz2" +SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2 mirror://gentoo/patches-${KV/10/5}.tar.bz2 http://www.plumlocosoft.com/kernel/patches/2.4/${OKV}/linux-${CKV}.patch.bz2" KEYWORDS="x86" SLOT="${KV}" src_unpack() { - unpack linux-${OKV}.tar.bz2 patches-${KV/9/5}.tar.bz2 + unpack linux-${OKV}.tar.bz2 patches-${KV/10/5}.tar.bz2 bzcat ${DISTDIR}/linux-${CKV}.patch.bz2 | patch -p0 || die "-ck patch failed" mv linux-${OKV} linux-${KV} || die - cd ${KV/9/5} || die + cd ${KV/10/5} || die rm 98_nforce2_agp.patch # In -ck7 kernel_src_unpack epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to patch do_brk() vulnerability!" epatch ${FILESDIR}/${P}.CAN-2003-0985.patch || die "Failed to patch mremap() vulnerability!" epatch ${FILESDIR}/${P}.CAN-2004-0001.patch || die "Failed to apply AMD64 ptrace patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0010.patch || die "Failed to add the CAN-2004-0010 patch!" epatch ${FILESDIR}/${P}.CAN-2004-0109.patch || die "Failed to patch CAN-2004-0109 vulnerability!" + epatch ${FILESDIR}/${P}.CAN-2004-0177.patch || die "Failed to add the CAN-2004-0177 patch!" + epatch ${FILESDIR}/${P}.CAN-2004-0178.patch || die "Failed to add the CAN-2004-0178 patch!" epatch ${FILESDIR}/${P}.rtc_fix.patch || die "Failed to patch RTC vulnerabilities!" epatch ${FILESDIR}/${P}.munmap.patch || die "Failed to apply munmap patch!" |