summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-11-09 22:23:54 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-11-09 22:23:54 +0000
commit7dc0dededa8f29a0757a1afc7e01e47b400406e2 (patch)
tree6431542d70f01c4002b940bae7c8735499816d74 /sys-kernel
parentLICENSE fix (diff)
downloadhistorical-7dc0dededa8f29a0757a1afc7e01e47b400406e2.tar.gz
historical-7dc0dededa8f29a0757a1afc7e01e47b400406e2.tar.bz2
historical-7dc0dededa8f29a0757a1afc7e01e47b400406e2.zip
Adding a fix for the 2.4 kNFSd security vulnerability, bug #62524. Also fixed CAN-2004-0814, bug #68421. Obsoleting 2.4.19.
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/gentoo-sources/ChangeLog19
-rw-r--r--sys-kernel/gentoo-sources/Manifest97
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.19-r223
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r26 (renamed from sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r25)1
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r17 (renamed from sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r16)1
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r10 (renamed from sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r9)1
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r10 (renamed from sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r9)1
-rw-r--r--sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r2 (renamed from sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r1)1
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-CAN-2004-0181.patch34
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-gcc33.patch191
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-munmap.patch27
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-rtc_fix.patch115
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.20-hpt372.patch1026
-rw-r--r--sys-kernel/gentoo-sources/files/gentoo-sources-2.4.XDRWrapFix.patch48
-rw-r--r--sys-kernel/gentoo-sources/files/i810_drm.patch32
-rw-r--r--sys-kernel/gentoo-sources/files/lcall-DoS.patch32
-rw-r--r--sys-kernel/gentoo-sources/files/security.patch5571
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r22.ebuild93
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r26.ebuild (renamed from sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r25.ebuild)13
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r17.ebuild (renamed from sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r16.ebuild)12
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r10.ebuild (renamed from sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r9.ebuild)14
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r10.ebuild (renamed from sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r9.ebuild)18
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r1.ebuild15
-rw-r--r--sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r2.ebuild21
24 files changed, 174 insertions, 2212 deletions
diff --git a/sys-kernel/gentoo-sources/ChangeLog b/sys-kernel/gentoo-sources/ChangeLog
index 0a18cb6afe4a..452853583ade 100644
--- a/sys-kernel/gentoo-sources/ChangeLog
+++ b/sys-kernel/gentoo-sources/ChangeLog
@@ -1,6 +1,23 @@
# ChangeLog for sys-kernel/gentoo-sources
# Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/ChangeLog,v 1.90 2004/09/03 18:54:23 pvdabeel Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/ChangeLog,v 1.91 2004/11/09 22:23:54 plasmaroo Exp $
+
+*gentoo-sources-2.4.26-r10 (09 Nov 2004)
+
+ 09 Nov 2004; <plasmaroo@gentoo.org> -gentoo-sources-2.4.19-r22.ebuild,
+ -gentoo-sources-2.4.20-r25.ebuild, +gentoo-sources-2.4.20-r26.ebuild,
+ -gentoo-sources-2.4.22-r16.ebuild, +gentoo-sources-2.4.22-r17.ebuild,
+ +gentoo-sources-2.4.25-r10.ebuild, -gentoo-sources-2.4.25-r9.ebuild,
+ +gentoo-sources-2.4.26-r10.ebuild, -gentoo-sources-2.4.26-r9.ebuild,
+ -gentoo-sources-2.4.27-r1.ebuild, +gentoo-sources-2.4.27-r2.ebuild,
+ -files/gentoo-sources-2.4.19-CAN-2004-0181.patch,
+ -files/gentoo-sources-2.4.19-gcc33.patch,
+ -files/gentoo-sources-2.4.19-munmap.patch,
+ -files/gentoo-sources-2.4.19-rtc_fix.patch,
+ +files/gentoo-sources-2.4.XDRWrapFix.patch, -files/i810_drm.patch,
+ -files/lcall-DoS.patch, -files/security.patch5:
+ Adding a fix for the 2.4 kNFSd security vulnerability, bug #62524.
+ Also fixed CAN-2004-0814, bug #68421. Obsoleting 2.4.19.
03 Sep 2004; Pieter Van den Abeele <pvdabeel@gentoo.org>
gentoo-sources-2.4.26-r9.ebuild, gentoo-sources-2.4.27-r1.ebuild:
diff --git a/sys-kernel/gentoo-sources/Manifest b/sys-kernel/gentoo-sources/Manifest
index 93b0996ac1cc..52449ad7aef6 100644
--- a/sys-kernel/gentoo-sources/Manifest
+++ b/sys-kernel/gentoo-sources/Manifest
@@ -1,63 +1,54 @@
-MD5 4354920b3af22a4e4c40ec28b170a074 ChangeLog 23103
-MD5 5f09a875cefa9e51717ad32ec2473277 gentoo-sources-2.4.19-r22.ebuild 4511
-MD5 9bfed9d1b655f1c44c334eec8f12daf9 gentoo-sources-2.4.20-r25.ebuild 7171
-MD5 f1e086a782500890dc04ad00bd7944e8 gentoo-sources-2.4.22-r16.ebuild 1844
-MD5 6fffe862e04c9966186eb349d97f6384 gentoo-sources-2.4.25-r9.ebuild 1237
-MD5 f8013764a156375e586863e4e0049459 gentoo-sources-2.4.26-r9.ebuild 1019
-MD5 9f558dc476e2e87992d0b0559432c20f gentoo-sources-2.4.27-r1.ebuild 605
+MD5 90baaecbcb43ecd3ea10734736a1f8ac ChangeLog 24010
+MD5 b2bcd4caa818e176f0390dd5cea83833 gentoo-sources-2.4.26-r10.ebuild 1233
MD5 91ea2908f17a4069774ffce01264df0c metadata.xml 354
-MD5 857ff623313f874e811763a2db96e831 files/lcall-DoS.patch 885
-MD5 bdc383e4317a9021331a10c4db4e4eb7 files/digest-gentoo-sources-2.4.19-r22 222
-MD5 2ac4fd77e067652901ccf234c9687bb1 files/i810_drm.patch 1247
-MD5 7cc7f3f118c9d9a680719a28cc153900 files/digest-gentoo-sources-2.4.20-r25 231
-MD5 3bf2f78421fe7eb5babc154d4ad4dbbd files/security.patch1 14328
-MD5 d2621671130d63518828122ac9bc3bf5 files/digest-gentoo-sources-2.4.22-r16 223
-MD5 f308aef282ea75ea55d5c6035dafa100 files/security.patch2 4014
-MD5 a69691970ab5b5d89cd64341330d38ed files/digest-gentoo-sources-2.4.25-r9 220
-MD5 0d1cdff97252338dc5acc37c5f84d7c6 files/security.patch3 3333
-MD5 faa37fac65a03d0c962b636e20d8b729 files/digest-gentoo-sources-2.4.26-r9 221
-MD5 b40c150e8529876064e1ec409a47984e files/security.patch4 783
-MD5 dadfbefa3d709270f35294e23961a813 files/digest-gentoo-sources-2.4.27-r1 144
-MD5 86bcf459b0f6407a854c3523cf151dff files/security.patch5 21100
-MD5 a580e6b8c602c2e13fb5de7cc2de65a0 files/do_brk_fix.patch 242
-MD5 39af009b63a2f2042ac251fa801044d9 files/gentoo-sources-2.4.19-CAN-2004-0181.patch 1180
-MD5 152e60bd6e74485e08c4f0bd8f98250a files/gentoo-sources-2.4.19-gcc33.patch 8526
-MD5 032ff70c5895cc1a2dfbe2a58ebde1f7 files/gentoo-sources-2.4.19-munmap.patch 819
-MD5 df40eece807d039cba79f477e80ebda2 files/gentoo-sources-2.4.19-rtc_fix.patch 4974
-MD5 92f1b3aa68de326081b75653a77d64cf files/gentoo-sources-2.4.20-CAN-2004-0685.patch 2881
+MD5 7564443558ed094dafc099fb6e3ab748 gentoo-sources-2.4.27-r2.ebuild 827
+MD5 047cbeb168fd0a81fa88dafce514b41b gentoo-sources-2.4.25-r10.ebuild 1448
+MD5 d1c381df8f350577a9184f5bfdbc1f48 gentoo-sources-2.4.22-r17.ebuild 2034
+MD5 1e04151e26bff0a1cfa50c81ab4f4c34 gentoo-sources-2.4.20-r26.ebuild 7420
MD5 6450fd1b19f30aa33866e5e467c0d828 files/gentoo-sources-2.4.20-cs46xx-gcc33.patch 374
-MD5 6bd1b3d66aca4f2ae0cfd964caa28cc9 files/gentoo-sources-2.4.20-devfs-snd-fix.patch 1973
+MD5 a1ea0b29ae36f749e1d26f5ceef9c0b7 files/digest-gentoo-sources-2.4.25-r10 305
+MD5 c460ea130cb4ae84a5063ba044e3ce72 files/gentoo-sources-2.4.CAN-2004-0427.patch 460
+MD5 b40c150e8529876064e1ec409a47984e files/security.patch4 783
MD5 2f4db0083c0ed762c0af63f26812a68b files/gentoo-sources-2.4.20-fix-proc-mm.patch 1300
+MD5 e77a93fdf26f06cf3ea5080b27211725 files/gentoo-sources-2.4.CAN-2003-0985.patch 414
+MD5 d1ccc2047be533c992f67270a150a210 files/gentoo-sources-2.4.cmdlineLeak.patch 388
MD5 9601c35f96d297ed0d13753875fb3068 files/gentoo-sources-2.4.20-gcc33.patch 13455
-MD5 d96fe98630a0a160723a67e4ca93dcff files/gentoo-sources-2.4.20-grsec-datasize_fix.patch 1421
-MD5 cbd2a33f15a8d2e7ab700a0b45fac377 files/gentoo-sources-2.4.20-grsec-disabled.patch 562
-MD5 7b306c2be9db38aeb8e0dbfea6dea17a files/gentoo-sources-2.4.20-hpt372.patch 31675
-MD5 9f412f3083cdd87db058dd2f5fbcd103 files/gentoo-sources-2.4.20-ipt-realm.patch 1028
-MD5 012e8ba5d18dbb8d508ac4955e143e3a files/gentoo-sources-2.4.20-ipt-route.patch 13307
-MD5 02b1f745c441693b1558b2b6d3f28c45 files/gentoo-sources-2.4.20-mdcount.patch 1345
+MD5 174438d215b70cad5ffb00ca8123c062 files/gentoo-sources-2.4.munmap.patch 837
+MD5 bfbc5f4ed0be1eded1f0985dd2266872 files/digest-gentoo-sources-2.4.20-r26 316
+MD5 ac42024b6e6ee1e2165914db4b22a61c files/gentoo-sources-2.4.CAN-2004-0178.patch 424
+MD5 3bdf00d5f80fe9dfbfe8220e076cd04c files/gentoo-sources-2.4.CAN-2004-0497.patch 707
MD5 21ebf0ddc4b8ec4013470c4d243cd03b files/gentoo-sources-2.4.20-munmap.patch 826
-MD5 a61e57d5483a06f20da339d91f98fbb8 files/gentoo-sources-2.4.20-rtc_fix.patch 6769
-MD5 1326d31d343f60512dfb1376bfe134a2 files/gentoo-sources-2.4.20-sched-interrupt.patch 400
-MD5 9c816c892d6e3d3f0b7b77d3d503ab10 files/gentoo-sources-2.4.22-CAN-2004-0075.patch 634
-MD5 394bae02a20af95fc9d320f6cea3834e files/gentoo-sources-2.4.22-kmsgdump.patch 887
-MD5 e2e2b545b6fcdcecf49e33798efa5b84 files/gentoo-sources-2.4.22-rtc_fix.patch 7073
-MD5 751d36c76691a7cab7c5bb48ca2ac092 files/gentoo-sources-2.4.26-OpenSWAN-CompileFix.patch 1447
+MD5 d1561fff7fcca1dd43d5bb8fe2fed05a files/digest-gentoo-sources-2.4.26-r10 306
+MD5 d4a740ae56c2049247083af387a22a85 files/gentoo-sources-2.4.CAN-2004-0394.patch 350
+MD5 9f412f3083cdd87db058dd2f5fbcd103 files/gentoo-sources-2.4.20-ipt-realm.patch 1028
+MD5 dc18e982f8149588a291956481885a8c files/gentoo-sources-2.4.CAN-2004-0495.patch 17549
MD5 528da73c9e4a6fb017561e51dc0ab815 files/gentoo-sources-2.4.CAN-2003-0643.patch 747
-MD5 e77a93fdf26f06cf3ea5080b27211725 files/gentoo-sources-2.4.CAN-2003-0985.patch 414
-MD5 bf2b609e8cab6460d220b1267db09826 files/gentoo-sources-2.4.CAN-2004-0001.patch 982
+MD5 751d36c76691a7cab7c5bb48ca2ac092 files/gentoo-sources-2.4.26-OpenSWAN-CompileFix.patch 1447
+MD5 d96fe98630a0a160723a67e4ca93dcff files/gentoo-sources-2.4.20-grsec-datasize_fix.patch 1421
+MD5 de75cfa969ed092578d9ddda6c5be334 files/gentoo-sources-2.4.CAN-2004-0181.patch 1233
+MD5 f308aef282ea75ea55d5c6035dafa100 files/security.patch2 4014
+MD5 1326d31d343f60512dfb1376bfe134a2 files/gentoo-sources-2.4.20-sched-interrupt.patch 400
+MD5 a61e57d5483a06f20da339d91f98fbb8 files/gentoo-sources-2.4.20-rtc_fix.patch 6769
+MD5 2b3ddb8b8b15f8da35ade38544b57857 files/gentoo-sources-2.4.XDRWrapFix.patch 1499
MD5 147fec50180ad91b6260fc7201dcb90f files/gentoo-sources-2.4.CAN-2004-0010.patch 6050
-MD5 21f3a4f186017d925067335e24db36a1 files/gentoo-sources-2.4.CAN-2004-0109.patch 1877
+MD5 60d25ff310fc6abfdce39ec9e47345af files/gentoo-sources-2.4.CAN-2004-0685.patch 2809
+MD5 6bd1b3d66aca4f2ae0cfd964caa28cc9 files/gentoo-sources-2.4.20-devfs-snd-fix.patch 1973
MD5 5bf9836a632a861728d33f9736bb7431 files/gentoo-sources-2.4.CAN-2004-0133.patch 427
-MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/gentoo-sources-2.4.CAN-2004-0177.patch 384
-MD5 ac42024b6e6ee1e2165914db4b22a61c files/gentoo-sources-2.4.CAN-2004-0178.patch 424
-MD5 de75cfa969ed092578d9ddda6c5be334 files/gentoo-sources-2.4.CAN-2004-0181.patch 1233
-MD5 d4a740ae56c2049247083af387a22a85 files/gentoo-sources-2.4.CAN-2004-0394.patch 350
-MD5 c460ea130cb4ae84a5063ba044e3ce72 files/gentoo-sources-2.4.CAN-2004-0427.patch 460
-MD5 dc18e982f8149588a291956481885a8c files/gentoo-sources-2.4.CAN-2004-0495.patch 17549
-MD5 3bdf00d5f80fe9dfbfe8220e076cd04c files/gentoo-sources-2.4.CAN-2004-0497.patch 707
+MD5 82d1f62153165d59f018e37f19a25d64 files/digest-gentoo-sources-2.4.27-r2 229
+MD5 e2e2b545b6fcdcecf49e33798efa5b84 files/gentoo-sources-2.4.22-rtc_fix.patch 7073
MD5 0f66013f643c79c97fda489618a4e2fd files/gentoo-sources-2.4.CAN-2004-0535.patch 476
-MD5 60d25ff310fc6abfdce39ec9e47345af files/gentoo-sources-2.4.CAN-2004-0685.patch 2809
-MD5 c9da1bc82b906f6abc648c056e7bf662 files/gentoo-sources-2.4.FPULockup-53804.patch 354
+MD5 3bf2f78421fe7eb5babc154d4ad4dbbd files/security.patch1 14328
+MD5 012e8ba5d18dbb8d508ac4955e143e3a files/gentoo-sources-2.4.20-ipt-route.patch 13307
MD5 e30386f1121b1197396ed9082eae7dcb files/gentoo-sources-2.4.I2C_Limits.patch 1037
-MD5 d1ccc2047be533c992f67270a150a210 files/gentoo-sources-2.4.cmdlineLeak.patch 388
-MD5 174438d215b70cad5ffb00ca8123c062 files/gentoo-sources-2.4.munmap.patch 837
+MD5 c9da1bc82b906f6abc648c056e7bf662 files/gentoo-sources-2.4.FPULockup-53804.patch 354
+MD5 cbd2a33f15a8d2e7ab700a0b45fac377 files/gentoo-sources-2.4.20-grsec-disabled.patch 562
+MD5 0d1cdff97252338dc5acc37c5f84d7c6 files/security.patch3 3333
+MD5 394bae02a20af95fc9d320f6cea3834e files/gentoo-sources-2.4.22-kmsgdump.patch 887
+MD5 3bf139832981003e66e2b702515b2f1b files/digest-gentoo-sources-2.4.22-r17 308
+MD5 eaeda68a619caaddd5b8fdc5e7c39932 files/gentoo-sources-2.4.CAN-2004-0177.patch 384
+MD5 9c816c892d6e3d3f0b7b77d3d503ab10 files/gentoo-sources-2.4.22-CAN-2004-0075.patch 634
+MD5 92f1b3aa68de326081b75653a77d64cf files/gentoo-sources-2.4.20-CAN-2004-0685.patch 2881
+MD5 a580e6b8c602c2e13fb5de7cc2de65a0 files/do_brk_fix.patch 242
+MD5 bf2b609e8cab6460d220b1267db09826 files/gentoo-sources-2.4.CAN-2004-0001.patch 982
+MD5 02b1f745c441693b1558b2b6d3f28c45 files/gentoo-sources-2.4.20-mdcount.patch 1345
+MD5 21f3a4f186017d925067335e24db36a1 files/gentoo-sources-2.4.CAN-2004-0109.patch 1877
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.19-r22 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.19-r22
deleted file mode 100644
index b708cb670aa9..000000000000
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.19-r22
+++ /dev/null
@@ -1,3 +0,0 @@
-MD5 2bb60b7594a416f2c593923ce446160b linux-2.4.19.tar.bz2 26042494
-MD5 59ff0f443bed8cadb01addda59f51922 patches-2.4.19-gentoo-r10.tar.bz2 2665464
-MD5 6f2c5bc1f4aff3b223533a9900fc665c linux-2.4.19-CAN-2004-0415.patch 74696
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r25 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r26
index 3cf440f6d20e..bfe00db50fae 100644
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r25
+++ b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.20-r26
@@ -1,3 +1,4 @@
MD5 c439d5c93d7fc9a1480a90842465bb97 linux-2.4.20.tar.bz2 27421046
MD5 7b49804685bb54be619c8ca117dd129c patches-2.4.20-gentoo-r14.tar.bz2 4388716
MD5 cfc6815222d154bcf3aa9144903a2bba gentoo-sources-2.4.20-CAN-2004-0415.patch 82999
+MD5 5f7602c85170565535c87cd7d6705254 gentoo-sources-2.4.20-CAN-2004-0814.patch 81528
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r16 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r17
index 9ee5ce3b934c..ae62b02192ec 100644
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r16
+++ b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.22-r17
@@ -1,3 +1,4 @@
MD5 75dc85149b06ac9432106b8941eb9f7b linux-2.4.22.tar.bz2 29528612
MD5 7f4a97d9c29f7dfc959a7a7efb077e29 gentoo-sources-2.4.22-r5.patch.bz2 3766950
MD5 a4851f4a8922fcaecfbd995a73b59e77 linux-2.4.22-CAN-2004-0415.patch 90192
+MD5 225e809802a992bf9ca10caae34edb25 gentoo-sources-2.4.22-CAN-2004-0814.patch 82260
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r9 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r10
index 4e797f96694e..ddf72226d1b3 100644
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r9
+++ b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.25-r10
@@ -1,3 +1,4 @@
MD5 5fc8e9f43fa44ac29ddf9a9980af57d8 linux-2.4.25.tar.bz2 30626548
MD5 221b18b5bcc2ede8a1d3616fda8e7ace gentoo-sources-2.4.25.patch.bz2 1617350
MD5 8f8f2412aacf9a01b5549bf2a9a3bff8 linux-2.4.26-CAN-2004-0415.patch 90145
+MD5 225e809802a992bf9ca10caae34edb25 gentoo-sources-2.4.22-CAN-2004-0814.patch 82260
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r9 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r10
index 925972bf56cc..33596a1b91ba 100644
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r9
+++ b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.26-r10
@@ -1,3 +1,4 @@
MD5 88d7aefa03c92739cb70298a0b486e2c linux-2.4.26.tar.bz2 30772389
MD5 5da46eea9886f6943477d98b40648b4c gentoo-sources-2.4.26-r6.tar.bz2 1041792
MD5 8f8f2412aacf9a01b5549bf2a9a3bff8 linux-2.4.26-CAN-2004-0415.patch 90145
+MD5 225e809802a992bf9ca10caae34edb25 gentoo-sources-2.4.22-CAN-2004-0814.patch 82260
diff --git a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r1 b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r2
index 31628398f62e..cb0002e288c5 100644
--- a/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r1
+++ b/sys-kernel/gentoo-sources/files/digest-gentoo-sources-2.4.27-r2
@@ -1,2 +1,3 @@
MD5 59a2e6fde1d110e2ffa20351ac8b4d9e linux-2.4.27.tar.bz2 30898453
MD5 da80fba431153a1f6706d7acf96adfbe gentoo-sources-2.4.27-r1.tar.bz2 984265
+MD5 225e809802a992bf9ca10caae34edb25 gentoo-sources-2.4.22-CAN-2004-0814.patch 82260
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-CAN-2004-0181.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-CAN-2004-0181.patch
deleted file mode 100644
index 3d44c0fd0880..000000000000
--- a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-CAN-2004-0181.patch
+++ /dev/null
@@ -1,34 +0,0 @@
---- linux-2.4.22/fs/jfs/jfs_logmgr.c.jfs-sec 2004-03-23 12:30:35.000000000 -0700
-+++ linux-2.4.22/fs/jfs/jfs_logmgr.c 2004-03-23 13:01:51.000000000 -0700
-@@ -1693,7 +1693,7 @@
- if (lbuf == 0)
- goto error;
- lbuf->l_bh.b_data = lbuf->l_ldata =
-- (char *) __get_free_page(GFP_KERNEL);
-+ (char *) get_zeroed_page(GFP_KERNEL);
- if (lbuf->l_ldata == 0) {
- kfree(lbuf);
- goto error;
---- linux-2.4.20/fs/jfs/jfs_metapage.c 2002-11-28 23:53:15.000000000 +0000
-+++ linux-2.4.20/fs/jfs/jfs_metapage.c.plasmaroo 2004-05-29 13:36:44.575503152 +0100
-@@ -379,6 +379,10 @@
- }
- mp->data = kmap(mp->page) + page_offset;
- }
-+
-+ if(new)
-+ memset(mp->data, 0, PSIZE);
-+
- jFYI(1, ("__get_metapage: returning = 0x%p\n", mp));
- return mp;
-
---- linux-2.4.20/fs/jfs/super.c 2002-11-28 23:53:15.000000000 +0000
-+++ linux-2.4.20/fs/jfs/super.c.plasmaroo 2004-05-29 13:39:36.898306104 +0100
-@@ -373,6 +373,7 @@
-
- if ((flags & (SLAB_CTOR_VERIFY | SLAB_CTOR_CONSTRUCTOR)) ==
- SLAB_CTOR_CONSTRUCTOR) {
-+ memset(jfs_ip, 0, sizeof(struct jfs_inode_info));
- INIT_LIST_HEAD(&jfs_ip->anon_inode_list);
- INIT_LIST_HEAD(&jfs_ip->mp_list);
- init_rwsem(&jfs_ip->rdwrlock);
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-gcc33.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-gcc33.patch
deleted file mode 100644
index 56c5f504af23..000000000000
--- a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-gcc33.patch
+++ /dev/null
@@ -1,191 +0,0 @@
-diff -u -r linux-2.4.20-gentoo-r6/arch/arm/mach-integrator/pci_v3.c linux-2.4.20-gentoo-r7/arch/arm/mach-integrator/pci_v3.c
---- linux-2.4.20-gentoo-r6/arch/arm/mach-integrator/pci_v3.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/arch/arm/mach-integrator/pci_v3.c 2003-09-11 17:32:50.000000000 +0100
-@@ -629,7 +629,6 @@
- #if 0
- ret = request_irq(IRQ_LBUSTIMEOUT, lb_timeout, 0, "bus timeout", NULL);
- if (ret)
-- printk(KERN_ERR "PCI: unable to grab local bus timeout ".
-- "interrupt: %d\n", ret);
-+ printk(KERN_ERR "PCI: unable to grab local bus timeout interrupt: %d\n", ret);
- #endif
- }
-diff -u -r linux-2.4.20-gentoo-r6/drivers/atm/zatm.c linux-2.4.20-gentoo-r7/drivers/atm/zatm.c
---- linux-2.4.20-gentoo-r6/drivers/atm/zatm.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/drivers/atm/zatm.c 2003-09-11 17:32:50.000000000 +0100
-@@ -1430,8 +1430,7 @@
- zout(uPD98401_GMR_ONE | uPD98401_BURST8 | uPD98401_BURST4 |
- uPD98401_BURST2 | uPD98401_GMR_PM | uPD98401_GMR_DR,GMR);
- /* TODO: should shrink allocation now */
-- printk("mem=%dkB,%s (",zatm_dev->mem >> 10,zatm_dev->copper ? "UTP" :
-- "MMF");
-+ printk("mem=%dkB,%s (",zatm_dev->mem >> 10,zatm_dev->copper ? "UTP" : "MMF");
- for (i = 0; i < ESI_LEN; i++)
- printk("%02X%s",dev->esi[i],i == ESI_LEN-1 ? ")\n" : "-");
- do {
-diff -u -r linux-2.4.20-gentoo-r6/drivers/char/h8.c linux-2.4.20-gentoo-r7/drivers/char/h8.c
---- linux-2.4.20-gentoo-r6/drivers/char/h8.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/drivers/char/h8.c 2003-09-11 17:32:50.000000000 +0100
-@@ -574,8 +574,7 @@
- }
-
- if (intrbuf.word & H8_POWER_BUTTON) {
-- printk(KERN_CRIT "Power switch pressed - please wait - preparing to power
--off\n");
-+ printk(KERN_CRIT "Power switch pressed - please wait - preparing to power off\n");
- h8_set_event_mask(H8_POWER_BUTTON);
- wake_up(&h8_monitor_wait);
- }
-diff -u -r linux-2.4.20-gentoo-r6/drivers/ide/ide-cd.h linux-2.4.20-gentoo-r7/drivers/ide/ide-cd.h
---- linux-2.4.20-gentoo-r6/drivers/ide/ide-cd.h 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/drivers/ide/ide-cd.h 2003-09-11 17:32:50.000000000 +0100
-@@ -437,7 +437,7 @@
-
- byte curlba[3];
- byte nslots;
-- __u8 short slot_tablelen;
-+ __u16 slot_tablelen;
- };
-
-
-diff -u -r linux-2.4.20-gentoo-r6/drivers/scsi/sun3_NCR5380.c linux-2.4.20-gentoo-r7/drivers/scsi/sun3_NCR5380.c
---- linux-2.4.20-gentoo-r6/drivers/scsi/sun3_NCR5380.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/drivers/scsi/sun3_NCR5380.c 2003-09-11 17:32:50.000000000 +0100
-@@ -1226,8 +1226,7 @@
- BASR_ACK)) ==
- (BASR_PHASE_MATCH | BASR_ACK)) {
- printk("scsi%d: BASR %02x\n", HOSTNO, NCR5380_read(BUS_AND_STATUS_REG));
-- printk("scsi%d: bus stuck in data phase -- probably a
-- single byte overrun!\n", HOSTNO);
-+ printk("scsi%d: bus stuck in data phase -- probably a single byte overrun!\n", HOSTNO);
- printk("not prepared for this error!\n");
- printk("please e-mail sammy@sammy.net with a description of how this\n");
- printk("error was produced.\n");
-diff -u -r linux-2.4.20-gentoo-r6/fs/imon/imon.c linux-2.4.20-gentoo-r7/fs/imon/imon.c
---- linux-2.4.20-gentoo-r6/fs/imon/imon.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/fs/imon/imon.c 2003-09-11 17:32:50.000000000 +0100
-@@ -1310,8 +1310,7 @@
- wr += sprintf(bf + wr, "\tdprobes:\t%lu\n", m.im_dprobes);
- wr += sprintf(bf + wr, "\tdmoves:\t\t%lu\n", m.im_dmoves);
- #else
-- wr += sprintf(bf + wr, "no metering data; rebuild imon.o with METER_ON s
--et.\n");
-+ wr += sprintf(bf + wr, "no metering data; rebuild imon.o with METER_ON set.\n");
- #endif /* METER_ON */
-
- return wr;
-diff -u -r linux-2.4.20-gentoo-r6/net/core/rtnetlink.c linux-2.4.20-gentoo-r7/net/core/rtnetlink.c
---- linux-2.4.20-gentoo-r6/net/core/rtnetlink.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/net/core/rtnetlink.c 2003-09-11 17:32:50.000000000 +0100
-@@ -394,7 +394,7 @@
- * Malformed skbs with wrong lengths of messages are discarded silently.
- */
-
--extern __inline__ int rtnetlink_rcv_skb(struct sk_buff *skb)
-+__inline__ int rtnetlink_rcv_skb(struct sk_buff *skb)
- {
- int err;
- struct nlmsghdr * nlh;
-diff -u -r linux-2.4.20-gentoo-r6/net/decnet/dn_table.c linux-2.4.20-gentoo-r7/net/decnet/dn_table.c
---- linux-2.4.20-gentoo-r6/net/decnet/dn_table.c 2003-09-10 23:36:03.000000000 +0100
-+++ linux-2.4.20-gentoo-r7/net/decnet/dn_table.c 2003-09-11 17:32:50.000000000 +0100
-@@ -836,8 +836,7 @@
- return NULL;
-
- if (in_interrupt() && net_ratelimit()) {
-- printk(KERN_DEBUG "DECnet: BUG! Attempt to create routing table
--from interrupt\n");
-+ printk(KERN_DEBUG "DECnet: BUG! Attempt to create routing table from interrupt\n");
- return NULL;
- }
- if ((t = kmalloc(sizeof(struct dn_fib_table), GFP_KERNEL)) == NULL)
-
-diff -u -r linux-2.4.20-gentoo-r6/drivers/net/fealnx.c linux-2.4.20-gentoo-r7/drivers/net/fealnx.c
---- linux-2.4.20-gentoo-r6/drivers/net/fealnx.c 2003-09-08 19:50:27.000000000 -0700
-+++ linux-2.4.20-gentoo-r7/drivers/net/fealnx.c 2003-06-13 07:51:34.000000000 -0700
-@@ -937,7 +937,7 @@
- // 89/9/1 modify,
- // np->bcrvalue=0x38;
- np->bcrvalue = 0x10;
-- np->cralue = 0xe00; /* rx 128 burst length */
-+ np->crvalue = 0xe00; /* rx 128 burst length */
- #warning Processor architecture undefined!
- #endif
- // 89/12/29 add,
-@@ -1198,7 +1198,6 @@
- printk("\n");
- }
-
-- + dev->if_port = np->default_port;
- /* Reinit. Gross */
-
- /* Reset the chip's Tx and Rx processes. */
-diff -u -r linux-2.4.20-gentoo-r6/arch/i386/math-emu/poly.h linux-2.4.20-gentoo-r7/arch/i386/math-emu/poly.h
---- linux-2.4.20-gentoo-r6/arch/i386/math-emu/poly.h 2003-09-08 19:52:14.000000000 -0700
-+++ linux-2.4.20-gentoo-r7/arch/i386/math-emu/poly.h 2003-09-08 19:45:38.000000000 -0700
-@@ -75,11 +75,11 @@
- /* Add the 12 byte Xsig x2 to Xsig dest, with no checks for overflow. */
- static inline void add_Xsig_Xsig(Xsig *dest, const Xsig *x2)
- {
-- asm volatile ("movl %1,%%edi; movl %2,%%esi;
-- movl (%%esi),%%eax; addl %%eax,(%%edi);
-- movl 4(%%esi),%%eax; adcl %%eax,4(%%edi);
-- movl 8(%%esi),%%eax; adcl %%eax,8(%%edi);"
-- :"=g" (*dest):"g" (dest), "g" (x2)
-+ asm volatile ("movl %1,%%edi; movl %2,%%esi; " \
-+ "movl (%%esi),%%eax; addl %%eax,(%%edi); " \
-+ "movl 4(%%esi),%%eax; adcl %%eax,4(%%edi); " \
-+ "movl 8(%%esi),%%eax; adcl %%eax,8(%%edi); " \
-+ :"=g" (*dest):"g" (dest), "g" (x2) \
- :"ax","si","di");
- }
-
-@@ -90,18 +90,18 @@
- problem, but keep fingers crossed! */
- static inline void add_two_Xsig(Xsig *dest, const Xsig *x2, long int *exp)
- {
-- asm volatile ("movl %2,%%ecx; movl %3,%%esi;
-- movl (%%esi),%%eax; addl %%eax,(%%ecx);
-- movl 4(%%esi),%%eax; adcl %%eax,4(%%ecx);
-- movl 8(%%esi),%%eax; adcl %%eax,8(%%ecx);
-- jnc 0f;
-- rcrl 8(%%ecx); rcrl 4(%%ecx); rcrl (%%ecx)
-- movl %4,%%ecx; incl (%%ecx)
-- movl $1,%%eax; jmp 1f;
-- 0: xorl %%eax,%%eax;
-- 1:"
-- :"=g" (*exp), "=g" (*dest)
-- :"g" (dest), "g" (x2), "g" (exp)
-+ asm volatile ("movl %2,%%ecx; movl %3,%%esi; " \
-+ "movl (%%esi),%%eax; addl %%eax,(%%ecx); " \
-+ "movl 4(%%esi),%%eax; adcl %%eax,4(%%ecx); " \
-+ "movl 8(%%esi),%%eax; adcl %%eax,8(%%ecx); " \
-+ "jnc 0f; " \
-+ "rcrl 8(%%ecx); rcrl 4(%%ecx); rcrl (%%ecx); " \
-+ "movl %4,%%ecx; incl (%%ecx); " \
-+ "movl $1,%%eax; jmp 1f; " \
-+ "0: xorl %%eax,%%eax; " \
-+ "1: " \
-+ :"=g" (*exp), "=g" (*dest) \
-+ :"g" (dest), "g" (x2), "g" (exp) \
- :"cx","si","ax");
- }
-
-diff -u -r linux-2.4.19/arch/i386/kernel/semaphore.c linux-2.4.19-gentoo-r19/i386/kernel/semaphore.c
---- linux-2.4.19/arch/i386/kernel/semaphore.c 2004-06-24 14:53:47.874139392 +0100
-+++ linux-2.4.19-gentoo-r19/i386/kernel/semaphore.c 2004-06-24 14:52:36.694960272 +0100
-@@ -262,7 +262,6 @@
- */
- #if defined(CONFIG_SMP)
- asm(
--"
- .align 4
- .globl __write_lock_failed
- __write_lock_failed:
-@@ -287,6 +286,5 @@
- lock ; decl (%eax)
- js __read_lock_failed
- ret
--"
- );
- #endif
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-munmap.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-munmap.patch
deleted file mode 100644
index d2cf4f4303f4..000000000000
--- a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-munmap.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- linux-2.4.20-openmosix-r8/mm/mremap.c~ 2004-02-18 22:33:57.000000000 +0000
-+++ linux-2.4.20-openmosix-r8/mm/mremap.c 2004-02-18 22:35:01.000000000 +0000
-@@ -266,7 +266,9 @@
- if ((addr <= new_addr) && (addr+old_len) > new_addr)
- goto out;
-
-- do_munmap(current->mm, new_addr, new_len, 1);
-+ ret = do_munmap(current->mm, new_addr, new_len, 1);
-+ if (ret && new_len)
-+ goto out;
- }
-
- /*
-@@ -274,9 +276,11 @@
- * the unnecessary pages..
- * do_munmap does all the needed commit accounting
- */
-- ret = addr;
- if (old_len >= new_len) {
-- do_munmap(current->mm, addr+new_len, old_len - new_len, 1);
-+ ret = do_munmap(current->mm, addr+new_len, old_len - new_len, 1);
-+ if (ret && old_len != new_len)
-+ goto out;
-+ ret = addr;
- if (!(flags & MREMAP_FIXED) || (new_addr == addr))
- goto out;
- }
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-rtc_fix.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-rtc_fix.patch
deleted file mode 100644
index 00937f83623f..000000000000
--- a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.19-rtc_fix.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-diff -ur linux-2.4.20-wolk4.9s/arch/cris/drivers/ds1302.c linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/ds1302.c
---- linux-2.4.20-wolk4.9s/arch/cris/drivers/ds1302.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/arch/cris/drivers/ds1302.c 2004-01-05 23:41:44.000000000 +0000
-@@ -315,6 +315,7 @@
- {
- struct rtc_time rtc_tm;
-
-+ memset(&rtc_tm, 0, sizeof (struct rtc_time));
- get_rtc_time(&rtc_tm);
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
- return -EFAULT;
-diff -ur linux-2.4.20-wolk4.9s/arch/m68k/bvme6000/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/bvme6000/rtc.c
---- linux-2.4.20-wolk4.9s/arch/m68k/bvme6000/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/bvme6000/rtc.c 2004-01-05 23:43:15.000000000 +0000
-@@ -54,6 +54,7 @@
- /* Ensure clock and real-time-mode-register are accessible */
- msr = rtc->msr & 0xc0;
- rtc->msr = 0x40;
-+ memset(&wtime, 0, sizeof (struct rtc_time));
- do {
- wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
- wtime.tm_min = BCD2BIN(rtc->bcd_min);
-diff -ur linux-2.4.20-wolk4.9s/arch/m68k/mvme16x/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/mvme16x/rtc.c
---- linux-2.4.20-wolk4.9s/arch/m68k/mvme16x/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/arch/m68k/mvme16x/rtc.c 2004-01-05 23:44:02.000000000 +0000
-@@ -52,6 +52,7 @@
- cli();
- /* Ensure clock and real-time-mode-register are accessible */
- rtc->ctrl = RTC_READ;
-+ memset(&wtime, 0, sizeof (struct rtc_time));
- wtime.tm_sec = BCD2BIN(rtc->bcd_sec);
- wtime.tm_min = BCD2BIN(rtc->bcd_min);
- wtime.tm_hour = BCD2BIN(rtc->bcd_hr);
-diff -ur linux-2.4.20-wolk4.9s/arch/ppc64/kernel/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/arch/ppc64/kernel/rtc.c
---- linux-2.4.20-wolk4.9s/arch/ppc64/kernel/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/arch/ppc64/kernel/rtc.c 2004-01-05 23:44:34.000000000 +0000
-@@ -96,6 +96,7 @@
- switch (cmd) {
- case RTC_RD_TIME: /* Read the time/date from RTC */
- {
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- ppc_md.get_rtc_time(&wtime);
- break;
- }
-diff -ur linux-2.4.20-wolk4.9s/drivers/char/efirtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/efirtc.c
---- linux-2.4.20-wolk4.9s/drivers/char/efirtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/efirtc.c 2004-01-05 23:47:53.000000000 +0000
-@@ -118,6 +118,7 @@
- static void
- convert_from_efi_time(efi_time_t *eft, struct rtc_time *wtime)
- {
-+ memset(wtime, 0, sizeof(struct rtc_time));
- wtime->tm_sec = eft->second;
- wtime->tm_min = eft->minute;
- wtime->tm_hour = eft->hour;
-diff -ur linux-2.4.20-wolk4.9s/drivers/char/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/rtc.c
---- linux-2.4.20-wolk4.9s/drivers/char/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/char/rtc.c 2004-01-05 23:52:43.000000000 +0000
-@@ -370,6 +370,7 @@
- * tm_min, and tm_sec values are filled in.
- */
-
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- get_rtc_alm_time(&wtime);
- break;
- }
-@@ -417,6 +418,7 @@
- }
- case RTC_RD_TIME: /* Read the time/date from RTC */
- {
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- get_rtc_time(&wtime);
- break;
- }
-diff -ur linux-2.4.20-wolk4.9s/drivers/macintosh/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/macintosh/rtc.c
---- linux-2.4.20-wolk4.9s/drivers/macintosh/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/macintosh/rtc.c 2004-01-05 23:54:15.000000000 +0000
-@@ -64,6 +64,7 @@
- case RTC_RD_TIME:
- if (ppc_md.get_rtc_time)
- {
-+ memset(&rtc_tm, 0, sizeof(struct rtc_time));
- get_rtc_time(&rtc_tm);
-
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
-diff -ur linux-2.4.20-wolk4.9s/drivers/sbus/char/rtc.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/sbus/char/rtc.c
---- linux-2.4.20-wolk4.9s/drivers/sbus/char/rtc.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/sbus/char/rtc.c 2004-01-05 23:54:43.000000000 +0000
-@@ -89,6 +89,7 @@
- switch (cmd)
- {
- case RTCGET:
-+ memset(&rtc_tm, 0, sizeof(struct rtc_time));
- get_rtc_time(&rtc_tm);
-
- if (copy_to_user((struct rtc_time*)arg, &rtc_tm, sizeof(struct rtc_time)))
-diff -ur linux-2.4.20-wolk4.9s/drivers/sgi/char/ds1286.c linux-2.4.20-wolk4.9s.plasmaroo/drivers/sgi/char/ds1286.c
---- linux-2.4.20-wolk4.9s/drivers/sgi/char/ds1286.c 2004-01-05 23:33:45.000000000 +0000
-+++ linux-2.4.20-wolk4.9s.plasmaroo/drivers/sgi/char/ds1286.c 2004-01-05 23:47:25.000000000 +0000
-@@ -174,6 +174,7 @@
- * tm_min, and tm_sec values are filled in.
- */
-
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- ds1286_get_alm_time(&wtime);
- break;
- }
-@@ -216,6 +217,7 @@
- }
- case RTC_RD_TIME: /* Read the time/date from RTC */
- {
-+ memset(&wtime, 0, sizeof(struct rtc_time));
- ds1286_get_time(&wtime);
- break;
- }
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.20-hpt372.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.20-hpt372.patch
deleted file mode 100644
index 9eb8440bfa1e..000000000000
--- a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.20-hpt372.patch
+++ /dev/null
@@ -1,1026 +0,0 @@
---- linux-2.4.20-gentoo-r5/drivers/ide/ide-pci.c.original 2003-05-13 18:29:31.000000000 -0400
-+++ linux-2.4.20-gentoo-r5/drivers/ide/ide-pci.c 2003-05-14 00:14:36.000000000 -0400
-@@ -79,6 +79,8 @@
- #define DEVID_UM8886BF ((ide_pci_devid_t){PCI_VENDOR_ID_UMC, PCI_DEVICE_ID_UMC_UM8886BF})
- #define DEVID_HPT34X ((ide_pci_devid_t){PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT343})
- #define DEVID_HPT366 ((ide_pci_devid_t){PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT366})
-+#define DEVID_HPT372 ((ide_pci_devid_t){PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT372})
-+#define DEVID_HPT374 ((ide_pci_devid_t){PCI_VENDOR_ID_TTI, PCI_DEVICE_ID_TTI_HPT374})
- #define DEVID_ALI15X3 ((ide_pci_devid_t){PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M5229})
- #define DEVID_CY82C693 ((ide_pci_devid_t){PCI_VENDOR_ID_CONTAQ, PCI_DEVICE_ID_CONTAQ_82C693})
- #define DEVID_HINT ((ide_pci_devid_t){0x3388, 0x8013})
-@@ -452,6 +454,8 @@
- {DEVID_UM8886BF,"UM8886BF", NULL, NULL, NULL, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
- {DEVID_HPT34X, "HPT34X", PCI_HPT34X, NULL, INIT_HPT34X, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, NEVER_BOARD, 16 },
- {DEVID_HPT366, "HPT366", PCI_HPT366, ATA66_HPT366, INIT_HPT366, DMA_HPT366, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 240 },
-+ {DEVID_HPT372, "HPT372", PCI_HPT366, ATA66_HPT366, INIT_HPT366, DMA_HPT366, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 240 },
-+ {DEVID_HPT374, "HPT374", PCI_HPT366, ATA66_HPT366, INIT_HPT366, DMA_HPT366, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, OFF_BOARD, 240 },
- {DEVID_ALI15X3, "ALI15X3", PCI_ALI15X3, ATA66_ALI15X3, INIT_ALI15X3, DMA_ALI15X3, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
- {DEVID_CY82C693,"CY82C693", PCI_CY82C693, NULL, INIT_CY82C693, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
- {DEVID_HINT, "HINT_IDE", NULL, NULL, NULL, NULL, {{0x00,0x00,0x00}, {0x00,0x00,0x00}}, ON_BOARD, 0 },
-@@ -478,6 +482,7 @@
- {
- switch(dev->device) {
- case PCI_DEVICE_ID_TTI_HPT366:
-+ case PCI_DEVICE_ID_TTI_HPT374:
- case PCI_DEVICE_ID_PROMISE_20246:
- case PCI_DEVICE_ID_PROMISE_20262:
- case PCI_DEVICE_ID_PROMISE_20265:
-@@ -828,6 +833,7 @@
- IDE_PCI_DEVID_EQ(d->devid, DEVID_AEC6260R) ||
- IDE_PCI_DEVID_EQ(d->devid, DEVID_HPT34X) ||
- IDE_PCI_DEVID_EQ(d->devid, DEVID_HPT366) ||
-+ IDE_PCI_DEVID_EQ(d->devid, DEVID_HPT374) ||
- IDE_PCI_DEVID_EQ(d->devid, DEVID_CS5530) ||
- IDE_PCI_DEVID_EQ(d->devid, DEVID_CY82C693) ||
- IDE_PCI_DEVID_EQ(d->devid, DEVID_CMD646) ||
-@@ -910,6 +916,44 @@
- ide_setup_pci_device(dev2, d2);
- }
-
-+static void __init hpt374_device_order_fixup (struct pci_dev *dev, ide_pci_device_t *d)
-+{
-+ struct pci_dev *dev2 = NULL, *findev;
-+ ide_pci_device_t *d2;
-+
-+ if (PCI_FUNC(dev->devfn) & 1)
-+ return;
-+
-+ pci_for_each_dev(findev) {
-+ if ((findev->vendor == dev->vendor) &&
-+ (findev->device == dev->device) &&
-+ ((findev->devfn - dev->devfn) == 1) &&
-+ (PCI_FUNC(findev->devfn) & 1)) {
-+ dev2 = findev;
-+ break;
-+ }
-+ }
-+
-+ printk("%s: IDE controller on PCI bus %02x dev %02x\n", d->name, dev->bus->number, dev->devfn);
-+ ide_setup_pci_device(dev, d);
-+ if (!dev2) {
-+ return;
-+ } else {
-+ byte irq = 0, irq2 = 0;
-+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
-+ pci_read_config_byte(dev2, PCI_INTERRUPT_LINE, &irq2);
-+ if (irq != irq2) {
-+ pci_write_config_byte(dev2, PCI_INTERRUPT_LINE, irq);
-+ dev2->irq = dev->irq;
-+ printk("%s: pci-config space interrupt fixed.\n", d->name);
-+ }
-+ }
-+ d2 = d;
-+ printk("%s: IDE controller on PCI bus %02x dev %02x\n", d2->name, dev2->bus->number, dev2->devfn);
-+ ide_setup_pci_device(dev2, d2);
-+
-+}
-+
- static void __init hpt366_device_order_fixup (struct pci_dev *dev, ide_pci_device_t *d)
- {
- struct pci_dev *dev2 = NULL, *findev;
-@@ -992,6 +1036,8 @@
- return; /* UM8886A/BF pair */
- else if (IDE_PCI_DEVID_EQ(d->devid, DEVID_HPT366))
- hpt366_device_order_fixup(dev, d);
-+ else if (IDE_PCI_DEVID_EQ(d->devid, DEVID_HPT374))
-+ hpt374_device_order_fixup(dev, d);
- else if (IDE_PCI_DEVID_EQ(d->devid, DEVID_PDC20270))
- pdc20270_device_order_fixup(dev, d);
- else if (!IDE_PCI_DEVID_EQ(d->devid, IDE_PCI_DEVID_NULL) || (dev->class >> 8) == PCI_CLASS_STORAGE_IDE) {
---- linux-2.4.20-gentoo-r5/drivers/ide/hpt366.c.original 2003-05-13 18:29:31.000000000 -0400
-+++ linux-2.4.20-gentoo-r5/drivers/ide/hpt366.c 2003-03-22 14:30:06.000000000 -0500
-@@ -67,8 +67,8 @@
-
- /* various tuning parameters */
- #define HPT_RESET_STATE_ENGINE
--/*#define HPT_DELAY_INTERRUPT*/
--/*#define HPT_SERIALIZE_IO*/
-+#undef HPT_DELAY_INTERRUPT
-+#undef HPT_SERIALIZE_IO
-
- #if defined(DISPLAY_HPT366_TIMINGS) && defined(CONFIG_PROC_FS)
- #include <linux/stat.h>
-@@ -166,8 +166,7 @@
- * PIO.
- * 31 FIFO enable.
- */
--struct chipset_bus_clock_list_entry forty_base [] = {
--
-+struct chipset_bus_clock_list_entry forty_base_hpt366[] = {
- { XFER_UDMA_4, 0x900fd943 },
- { XFER_UDMA_3, 0x900ad943 },
- { XFER_UDMA_2, 0x900bd943 },
-@@ -186,7 +185,7 @@
- { 0, 0x0120d9d9 }
- };
-
--struct chipset_bus_clock_list_entry thirty_three_base [] = {
-+struct chipset_bus_clock_list_entry thirty_three_base_hpt366[] = {
-
- { XFER_UDMA_4, 0x90c9a731 },
- { XFER_UDMA_3, 0x90cfa731 },
-@@ -206,8 +205,7 @@
- { 0, 0x0120a7a7 }
- };
-
--struct chipset_bus_clock_list_entry twenty_five_base [] = {
--
-+struct chipset_bus_clock_list_entry twenty_five_base_hpt366[] = {
- { XFER_UDMA_4, 0x90c98521 },
- { XFER_UDMA_3, 0x90cf8521 },
- { XFER_UDMA_2, 0x90cf8521 },
-@@ -226,7 +224,6 @@
- { 0, 0x01208585 }
- };
-
--#if 1
- /* these are the current (4 sep 2001) timings from highpoint */
- struct chipset_bus_clock_list_entry thirty_three_base_hpt370[] = {
- { XFER_UDMA_5, 0x12446231 },
-@@ -268,9 +265,9 @@
- { XFER_PIO_0, 0x0d02bf5f },
- { 0, 0x0d02bf5f }
- };
--#else
-+
- /* from highpoint documentation. these are old values */
--struct chipset_bus_clock_list_entry thirty_three_base_hpt370[] = {
-+struct chipset_bus_clock_list_entry thirty_three_base_old_hpt370[] = {
- { XFER_UDMA_5, 0x16454e31 },
- { XFER_UDMA_4, 0x16454e31 },
- { XFER_UDMA_3, 0x166d4e31 },
-@@ -290,7 +287,7 @@
- { 0, 0x06514e57 }
- };
-
--struct chipset_bus_clock_list_entry sixty_six_base_hpt370[] = {
-+struct chipset_bus_clock_list_entry sixty_six_base_old_hpt370[] = {
- { XFER_UDMA_5, 0x14846231 },
- { XFER_UDMA_4, 0x14886231 },
- { XFER_UDMA_3, 0x148c6231 },
-@@ -309,7 +306,6 @@
- { XFER_PIO_0, 0x06914e57 },
- { 0, 0x06514e57 }
- };
--#endif
-
- struct chipset_bus_clock_list_entry fifty_base_hpt370[] = {
- { XFER_UDMA_5, 0x12848242 },
-@@ -331,6 +327,144 @@
- { 0, 0x0ac1f48a }
- };
-
-+struct chipset_bus_clock_list_entry thirty_three_base_hpt372[] = {
-+ { XFER_UDMA_6, 0x1c81dc62 },
-+ { XFER_UDMA_5, 0x1c6ddc62 },
-+ { XFER_UDMA_4, 0x1c8ddc62 },
-+ { XFER_UDMA_3, 0x1c8edc62 }, /* checkme */
-+ { XFER_UDMA_2, 0x1c91dc62 },
-+ { XFER_UDMA_1, 0x1c9adc62 }, /* checkme */
-+ { XFER_UDMA_0, 0x1c82dc62 }, /* checkme */
-+
-+ { XFER_MW_DMA_2, 0x2c829262 },
-+ { XFER_MW_DMA_1, 0x2c829266 }, /* checkme */
-+ { XFER_MW_DMA_0, 0x2c82922e }, /* checkme */
-+
-+ { XFER_PIO_4, 0x0c829c62 },
-+ { XFER_PIO_3, 0x0c829c84 },
-+ { XFER_PIO_2, 0x0c829ca6 },
-+ { XFER_PIO_1, 0x0d029d26 },
-+ { XFER_PIO_0, 0x0d029d5e },
-+ { 0, 0x0d029d5e }
-+};
-+
-+struct chipset_bus_clock_list_entry fifty_base_hpt372[] = {
-+ { XFER_UDMA_5, 0x12848242 },
-+ { XFER_UDMA_4, 0x12ac8242 },
-+ { XFER_UDMA_3, 0x128c8242 },
-+ { XFER_UDMA_2, 0x120c8242 },
-+ { XFER_UDMA_1, 0x12148254 },
-+ { XFER_UDMA_0, 0x121882ea },
-+
-+ { XFER_MW_DMA_2, 0x22808242 },
-+ { XFER_MW_DMA_1, 0x22808254 },
-+ { XFER_MW_DMA_0, 0x228082ea },
-+
-+ { XFER_PIO_4, 0x0a81f442 },
-+ { XFER_PIO_3, 0x0a81f443 },
-+ { XFER_PIO_2, 0x0a81f454 },
-+ { XFER_PIO_1, 0x0ac1f465 },
-+ { XFER_PIO_0, 0x0ac1f48a },
-+ { 0, 0x0a81f443 }
-+};
-+
-+struct chipset_bus_clock_list_entry sixty_six_base_hpt372[] = {
-+ { XFER_UDMA_6, 0x1c869c62 },
-+ { XFER_UDMA_5, 0x1cae9c62 },
-+ { XFER_UDMA_4, 0x1c8a9c62 },
-+ { XFER_UDMA_3, 0x1c8e9c62 },
-+ { XFER_UDMA_2, 0x1c929c62 },
-+ { XFER_UDMA_1, 0x1c9a9c62 },
-+ { XFER_UDMA_0, 0x1c829c62 },
-+
-+ { XFER_MW_DMA_2, 0x2c829c62 },
-+ { XFER_MW_DMA_1, 0x2c829c66 },
-+ { XFER_MW_DMA_0, 0x2c829d2e },
-+
-+ { XFER_PIO_4, 0x0c829c62 },
-+ { XFER_PIO_3, 0x0c829c84 },
-+ { XFER_PIO_2, 0x0c829ca6 },
-+ { XFER_PIO_1, 0x0d029d26 },
-+ { XFER_PIO_0, 0x0d029d5e },
-+ { 0, 0x0d029d26 }
-+};
-+
-+struct chipset_bus_clock_list_entry thirty_three_base_hpt374[] = {
-+ { XFER_UDMA_6, 0x12808242 },
-+ { XFER_UDMA_5, 0x12848242 },
-+ { XFER_UDMA_4, 0x12ac8242 },
-+ { XFER_UDMA_3, 0x128c8242 },
-+ { XFER_UDMA_2, 0x120c8242 },
-+ { XFER_UDMA_1, 0x12148254 },
-+ { XFER_UDMA_0, 0x121882ea },
-+
-+ { XFER_MW_DMA_2, 0x22808242 },
-+ { XFER_MW_DMA_1, 0x22808254 },
-+ { XFER_MW_DMA_0, 0x228082ea },
-+
-+ { XFER_PIO_4, 0x0a81f442 },
-+ { XFER_PIO_3, 0x0a81f443 },
-+ { XFER_PIO_2, 0x0a81f454 },
-+ { XFER_PIO_1, 0x0ac1f465 },
-+ { XFER_PIO_0, 0x0ac1f48a },
-+ { 0, 0x06814e93 }
-+};
-+
-+#if 0
-+struct chipset_bus_clock_list_entry fifty_base_hpt374[] = {
-+ { XFER_UDMA_6, },
-+ { XFER_UDMA_5, },
-+ { XFER_UDMA_4, },
-+ { XFER_UDMA_3, },
-+ { XFER_UDMA_2, },
-+ { XFER_UDMA_1, },
-+ { XFER_UDMA_0, },
-+ { XFER_MW_DMA_2, },
-+ { XFER_MW_DMA_1, },
-+ { XFER_MW_DMA_0, },
-+ { XFER_PIO_4, },
-+ { XFER_PIO_3, },
-+ { XFER_PIO_2, },
-+ { XFER_PIO_1, },
-+ { XFER_PIO_0, },
-+ { 0, }
-+};
-+#endif
-+#if 0
-+struct chipset_bus_clock_list_entry sixty_six_base_hpt374[] = {
-+ { XFER_UDMA_6, 0x12406231 }, /* checkme */
-+ { XFER_UDMA_5, 0x12446231 },
-+ 0x14846231
-+ { XFER_UDMA_4, 0x16814ea7 },
-+ 0x14886231
-+ { XFER_UDMA_3, 0x16814ea7 },
-+ 0x148c6231
-+ { XFER_UDMA_2, 0x16814ea7 },
-+ 0x148c6231
-+ { XFER_UDMA_1, 0x16814ea7 },
-+ 0x14906231
-+ { XFER_UDMA_0, 0x16814ea7 },
-+ 0x14986231
-+ { XFER_MW_DMA_2, 0x16814ea7 },
-+ 0x26514e21
-+ { XFER_MW_DMA_1, 0x16814ea7 },
-+ 0x26514e97
-+ { XFER_MW_DMA_0, 0x16814ea7 },
-+ 0x26514e97
-+ { XFER_PIO_4, 0x06814ea7 },
-+ 0x06514e21
-+ { XFER_PIO_3, 0x06814ea7 },
-+ 0x06514e22
-+ { XFER_PIO_2, 0x06814ea7 },
-+ 0x06514e33
-+ { XFER_PIO_1, 0x06814ea7 },
-+ 0x06914e43
-+ { XFER_PIO_0, 0x06814ea7 },
-+ 0x06914e57
-+ { 0, 0x06814ea7 }
-+};
-+#endif
-+
- #define HPT366_DEBUG_DRIVE_INFO 0
- #define HPT370_ALLOW_ATA100_5 1
- #define HPT366_ALLOW_ATA66_4 1
-@@ -345,8 +479,11 @@
- static struct pci_dev *hpt_devs[HPT366_MAX_DEVS];
- static int n_hpt_devs;
-
--static unsigned int pci_rev_check_hpt3xx(struct pci_dev *dev);
- static unsigned int pci_rev2_check_hpt3xx(struct pci_dev *dev);
-+static unsigned int pci_rev3_check_hpt3xx(struct pci_dev *dev);
-+static unsigned int pci_rev5_check_hpt3xx(struct pci_dev *dev);
-+static unsigned int pci_rev7_check_hpt3xx(struct pci_dev *dev);
-+
- byte hpt366_proc = 0;
- byte hpt363_shared_irq;
- byte hpt363_shared_pin;
-@@ -360,11 +497,13 @@
- static int hpt366_get_info (char *buffer, char **addr, off_t offset, int count)
- {
- char *p = buffer;
-- char *chipset_nums[] = {"366", "366", "368", "370", "370A"};
-+ char *chipset_nums[] = {"366", "366", "368",
-+ "370", "370A", "372",
-+ "??", "374" };
- int i;
-
- p += sprintf(p, "\n "
-- "HighPoint HPT366/368/370\n");
-+ "HighPoint HPT366/368/370/372/374\n");
- for (i = 0; i < n_hpt_devs; i++) {
- struct pci_dev *dev = hpt_devs[i];
- unsigned long iobase = dev->resource[4].start;
-@@ -373,9 +512,14 @@
-
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
- class_rev &= 0xff;
-+
-+ if(class_rev >= sizeof(chipset_nums)/sizeof(char *))
-
- p += sprintf(p, "\nController: %d\n", i);
-- p += sprintf(p, "Chipset: HPT%s\n", chipset_nums[class_rev]);
-+ if(class_rev >= sizeof(chipset_nums)/sizeof(char *))
-+ p += sprintf(p, "Chipset: UNKNOWN\n");
-+ else
-+ p += sprintf(p, "Chipset: HPT%s\n", chipset_nums[class_rev]);
- p += sprintf(p, "--------------- Primary Channel "
- "--------------- Secondary Channel "
- "--------------\n");
-@@ -388,7 +532,7 @@
- (c0 & 0x80) ? "no" : "yes",
- (c1 & 0x80) ? "no" : "yes");
-
-- if (pci_rev_check_hpt3xx(dev)) {
-+ if (pci_rev3_check_hpt3xx(dev)) {
- u8 cbl;
- cbl = inb_p(iobase + 0x7b);
- outb_p(cbl | 1, iobase + 0x7b);
-@@ -437,7 +581,19 @@
- }
- #endif /* defined(DISPLAY_HPT366_TIMINGS) && defined(CONFIG_PROC_FS) */
-
--static unsigned int pci_rev_check_hpt3xx (struct pci_dev *dev)
-+/*
-+ * fixme: it really needs to be a switch.
-+ */
-+
-+static unsigned int pci_rev2_check_hpt3xx (struct pci_dev *dev)
-+{
-+ unsigned int class_rev;
-+ pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
-+ class_rev &= 0xff;
-+ return ((int) (class_rev > 0x01) ? 1 : 0);
-+}
-+
-+static unsigned int pci_rev3_check_hpt3xx (struct pci_dev *dev)
- {
- unsigned int class_rev;
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
-@@ -445,12 +601,20 @@
- return ((int) (class_rev > 0x02) ? 1 : 0);
- }
-
--static unsigned int pci_rev2_check_hpt3xx (struct pci_dev *dev)
-+static unsigned int pci_rev5_check_hpt3xx (struct pci_dev *dev)
- {
- unsigned int class_rev;
- pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
- class_rev &= 0xff;
-- return ((int) (class_rev > 0x01) ? 1 : 0);
-+ return ((int) (class_rev > 0x04) ? 1 : 0);
-+}
-+
-+static unsigned int pci_rev7_check_hpt3xx (struct pci_dev *dev)
-+{
-+ unsigned int class_rev;
-+ pci_read_config_dword(dev, PCI_CLASS_REVISION, &class_rev);
-+ class_rev &= 0xff;
-+ return ((int) (class_rev > 0x06) ? 1 : 0);
- }
-
- static int check_in_drive_lists (ide_drive_t *drive, const char **list)
-@@ -484,54 +648,31 @@
-
- static void hpt366_tune_chipset (ide_drive_t *drive, byte speed)
- {
-- byte regtime = (drive->select.b.unit & 0x01) ? 0x44 : 0x40;
-+ struct pci_dev *dev = HWIF(drive)->pci_dev;
-+ byte drive_pci = (drive->select.b.unit & 0x01) ? 0x44 : 0x40;
- byte regfast = (HWIF(drive)->channel) ? 0x55 : 0x51;
-- /*
-- * since the channel is always 0 it does not matter.
-- */
--
-- unsigned int reg1 = 0;
-- unsigned int reg2 = 0;
- byte drive_fast = 0;
--
-- /*
-- * Disable the "fast interrupt" prediction.
-- */
-- pci_read_config_byte(HWIF(drive)->pci_dev, regfast, &drive_fast);
-+ unsigned int list_conf = 0;
-+ unsigned int drive_conf = 0;
-+ unsigned int conf_mask = (speed >= XFER_MW_DMA_0) ? 0xc0000000 : 0x30070000;
-+
-+ /* Disable the "fast interrupt" prediction. */
-+ pci_read_config_byte(dev, regfast, &drive_fast);
- if (drive_fast & 0x02)
-- pci_write_config_byte(HWIF(drive)->pci_dev, regfast, drive_fast & ~0x20);
--
-- pci_read_config_dword(HWIF(drive)->pci_dev, regtime, &reg1);
-- /* detect bus speed by looking at control reg timing: */
-- switch((reg1 >> 8) & 7) {
-- case 5:
-- reg2 = pci_bus_clock_list(speed, forty_base);
-- break;
-- case 9:
-- reg2 = pci_bus_clock_list(speed, twenty_five_base);
-- break;
-- default:
-- case 7:
-- reg2 = pci_bus_clock_list(speed, thirty_three_base);
-- break;
-- }
--#if 0
-- /* this is a nice idea ... */
-+ pci_write_config_byte(dev, regfast, drive_fast & ~0x20);
- list_conf = pci_bus_clock_list(speed,
- (struct chipset_bus_clock_list_entry *)
- dev->sysdata);
--#endif
-- /*
-- * Disable on-chip PIO FIFO/buffer (to avoid problems handling I/O errors later)
-- */
-- if (speed >= XFER_MW_DMA_0) {
-- reg2 = (reg2 & ~0xc0000000) | (reg1 & 0xc0000000);
-- } else {
-- reg2 = (reg2 & ~0x30070000) | (reg1 & 0x30070000);
-- }
-- reg2 &= ~0x80000000;
-+ pci_read_config_dword(dev, drive_pci, &drive_conf);
-+ list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);
-+ if (speed < XFER_MW_DMA_0)
-+ list_conf &= ~0x80000000; /* Disable on-chip PIO FIFO/buffer */
-+ pci_write_config_dword(dev, drive_pci, list_conf);
-+}
-
-- pci_write_config_dword(HWIF(drive)->pci_dev, regtime, reg2);
-+static void hpt368_tune_chipset (ide_drive_t *drive, byte speed)
-+{
-+ hpt366_tune_chipset(drive, speed);
- }
-
- static void hpt370_tune_chipset (ide_drive_t *drive, byte speed)
-@@ -577,6 +718,39 @@
- pci_write_config_dword(dev, drive_pci, list_conf);
- }
-
-+static void hpt372_tune_chipset (ide_drive_t *drive, byte speed)
-+{
-+ byte regfast = (HWIF(drive)->channel) ? 0x55 : 0x51;
-+ unsigned int list_conf = 0;
-+ unsigned int drive_conf = 0;
-+ unsigned int conf_mask = (speed >= XFER_MW_DMA_0) ? 0xc0000000 : 0x30070000;
-+ byte drive_pci = 0x40 + (drive->dn * 4);
-+ byte drive_fast = 0;
-+ struct pci_dev *dev = HWIF(drive)->pci_dev;
-+
-+ /*
-+ * Disable the "fast interrupt" prediction.
-+ * don't holdoff on interrupts. (== 0x01 despite what the docs say)
-+ */
-+ pci_read_config_byte(dev, regfast, &drive_fast);
-+ drive_fast &= ~0x07;
-+ pci_write_config_byte(HWIF(drive)->pci_dev, regfast, drive_fast);
-+
-+ list_conf = pci_bus_clock_list(speed,
-+ (struct chipset_bus_clock_list_entry *)
-+ dev->sysdata);
-+ pci_read_config_dword(dev, drive_pci, &drive_conf);
-+ list_conf = (list_conf & ~conf_mask) | (drive_conf & conf_mask);
-+ if (speed < XFER_MW_DMA_0)
-+ list_conf &= ~0x80000000; /* Disable on-chip PIO FIFO/buffer */
-+ pci_write_config_dword(dev, drive_pci, list_conf);
-+}
-+
-+static void hpt374_tune_chipset (ide_drive_t *drive, byte speed)
-+{
-+ hpt372_tune_chipset(drive, speed);
-+}
-+
- static int hpt3xx_tune_chipset (ide_drive_t *drive, byte speed)
- {
- if ((drive->media != ide_disk) && (speed < XFER_SW_DMA_0))
-@@ -585,9 +759,15 @@
- if (!drive->init_speed)
- drive->init_speed = speed;
-
-- if (pci_rev_check_hpt3xx(HWIF(drive)->pci_dev)) {
-+ if (pci_rev7_check_hpt3xx(HWIF(drive)->pci_dev)) {
-+ hpt374_tune_chipset(drive, speed);
-+ } else if (pci_rev5_check_hpt3xx(HWIF(drive)->pci_dev)) {
-+ hpt372_tune_chipset(drive, speed);
-+ } else if (pci_rev3_check_hpt3xx(HWIF(drive)->pci_dev)) {
- hpt370_tune_chipset(drive, speed);
-- } else {
-+ } else if (pci_rev2_check_hpt3xx(HWIF(drive)->pci_dev)) {
-+ hpt368_tune_chipset(drive, speed);
-+ } else {
- hpt366_tune_chipset(drive, speed);
- }
- drive->current_speed = speed;
-@@ -664,13 +844,19 @@
- byte ultra66 = eighty_ninty_three(drive);
- int rval;
-
-+ config_chipset_for_pio(drive);
-+
- if ((drive->media != ide_disk) && (speed < XFER_SW_DMA_0))
- return ((int) ide_dma_off_quietly);
-
-- if ((id->dma_ultra & 0x0020) &&
-+ if ((id->dma_ultra & 0x0040) &&
-+ (pci_rev5_check_hpt3xx(HWIF(drive)->pci_dev)) &&
-+ (ultra66)) {
-+ speed = XFER_UDMA_6;
-+ } else if ((id->dma_ultra & 0x0020) &&
- (!check_in_drive_lists(drive, bad_ata100_5)) &&
- (HPT370_ALLOW_ATA100_5) &&
-- (pci_rev_check_hpt3xx(HWIF(drive)->pci_dev)) &&
-+ (pci_rev3_check_hpt3xx(HWIF(drive)->pci_dev)) &&
- (ultra66)) {
- speed = XFER_UDMA_5;
- } else if ((id->dma_ultra & 0x0010) &&
-@@ -703,7 +889,8 @@
-
- (void) hpt3xx_tune_chipset(drive, speed);
-
-- rval = (int)( ((id->dma_ultra >> 11) & 7) ? ide_dma_on :
-+ rval = (int)( ((id->dma_ultra >> 14) & 3) ? ide_dma_on :
-+ ((id->dma_ultra >> 11) & 7) ? ide_dma_on :
- ((id->dma_ultra >> 8) & 7) ? ide_dma_on :
- ((id->dma_mword >> 8) & 7) ? ide_dma_on :
- ide_dma_off_quietly);
-@@ -717,17 +904,16 @@
-
- void hpt3xx_intrproc (ide_drive_t *drive)
- {
-- if (drive->quirk_list) {
-- /* drives in the quirk_list may not like intr setups/cleanups */
-- } else {
-- OUT_BYTE((drive)->ctl|2, HWIF(drive)->io_ports[IDE_CONTROL_OFFSET]);
-- }
-+ /* drives in the quirk_list may not like intr setups/cleanups */
-+ if (drive->quirk_list)
-+ return;
-+ OUT_BYTE((drive)->ctl|2, HWIF(drive)->io_ports[IDE_CONTROL_OFFSET]);
- }
-
- void hpt3xx_maskproc (ide_drive_t *drive, int mask)
- {
- if (drive->quirk_list) {
-- if (pci_rev_check_hpt3xx(HWIF(drive)->pci_dev)) {
-+ if (pci_rev3_check_hpt3xx(HWIF(drive)->pci_dev)) {
- byte reg5a = 0;
- pci_read_config_byte(HWIF(drive)->pci_dev, 0x5a, &reg5a);
- if (((reg5a & 0x10) >> 4) != mask)
-@@ -758,7 +944,7 @@
- }
- dma_func = ide_dma_off_quietly;
- if (id->field_valid & 4) {
-- if (id->dma_ultra & 0x002F) {
-+ if (id->dma_ultra & 0x007F) {
- /* Force if Capable UltraDMA */
- dma_func = config_chipset_for_dma(drive);
- if ((id->field_valid & 2) &&
-@@ -821,8 +1007,10 @@
- reg50h, reg52h, reg5ah);
- if (reg5ah & 0x10)
- pci_write_config_byte(HWIF(drive)->pci_dev, 0x5a, reg5ah & ~0x10);
-+#if 1
-+ /* how about we flush and reset, mmmkay? */
-+ pci_write_config_byte(HWIF(drive)->pci_dev, 0x51, 0x1F);
- /* fall through to a reset */
--#if 0
- case ide_dma_begin:
- case ide_dma_end:
- /* reset the chips state over and over.. */
-@@ -889,6 +1077,44 @@
- }
- return ide_dmaproc(func, drive); /* use standard DMA stuff */
- }
-+
-+int hpt374_dmaproc (ide_dma_action_t func, ide_drive_t *drive)
-+{
-+ ide_hwif_t *hwif = HWIF(drive);
-+ unsigned long dma_base = hwif->dma_base;
-+ byte mscreg = hwif->channel ? 0x54 : 0x50;
-+// byte reginfo = hwif->channel ? 0x56 : 0x52;
-+ byte dma_stat;
-+
-+ switch (func) {
-+ case ide_dma_check:
-+ return config_drive_xfer_rate(drive);
-+ case ide_dma_test_irq: /* returns 1 if dma irq issued, 0 otherwise */
-+ dma_stat = inb(dma_base+2);
-+#if 0 /* do not set unless you know what you are doing */
-+ if (dma_stat & 4) {
-+ byte stat = GET_STAT();
-+ outb(dma_base+2, dma_stat & 0xE4);
-+ }
-+#endif
-+ /* return 1 if INTR asserted */
-+ return (dma_stat & 4) == 4;
-+ case ide_dma_end:
-+ {
-+ byte bwsr_mask = hwif->channel ? 0x02 : 0x01;
-+ byte bwsr_stat, msc_stat;
-+ pci_read_config_byte(hwif->pci_dev, 0x6a, &bwsr_stat);
-+ pci_read_config_byte(hwif->pci_dev, mscreg, &msc_stat);
-+ if ((bwsr_stat & bwsr_mask) == bwsr_mask)
-+ pci_write_config_byte(hwif->pci_dev, mscreg, msc_stat|0x30);
-+ }
-+ default:
-+ break;
-+ }
-+ return ide_dmaproc(func, drive); /* use standard DMA stuff */
-+}
-+
-+
- #endif /* CONFIG_BLK_DEV_IDEDMA */
-
- /*
-@@ -1006,6 +1232,184 @@
- return 0;
- }
-
-+static void __init init_hpt374(struct pci_dev *dev)
-+{
-+ int adjust, i;
-+ u16 freq;
-+ u32 pll;
-+ byte reg5bh;
-+
-+ /*
-+ * default to pci clock. make sure MA15/16 are set to output
-+ * to prevent drives having problems with 40-pin cables.
-+ */
-+ pci_write_config_byte(dev, 0x5b, 0x23);
-+
-+ /*
-+ * set up the PLL. we need to adjust it so that it's stable.
-+ * freq = Tpll * 192 / Tpci
-+ */
-+ pci_read_config_word(dev, 0x78, &freq);
-+ freq &= 0x1FF;
-+ if (freq < 0x9c) {
-+ pll = F_LOW_PCI_33;
-+ dev->sysdata = (void *) thirty_three_base_hpt374;
-+ printk("HPT374: using 33MHz PCI clock\n");
-+ } else if (freq < 0xb0) {
-+ pll = F_LOW_PCI_40;
-+ } else if (freq < 0xc8) {
-+ pll = F_LOW_PCI_50;
-+// dev->sysdata = (void *) fifty_base_hpt374;
-+ printk("HPT374: using 50MHz PCI clock\n");
-+ } else {
-+ pll = F_LOW_PCI_66;
-+// dev->sysdata = (void *) sixty_six_base_hpt374;
-+ printk("HPT374: using 66MHz PCI clock\n");
-+ }
-+
-+ /*
-+ * only try the pll if we don't have a table for the clock
-+ * speed that we're running at. NOTE: the internal PLL will
-+ * result in slow reads when using a 33MHz PCI clock. we also
-+ * don't like to use the PLL because it will cause glitches
-+ * on PRST/SRST when the HPT state engine gets reset.
-+ */
-+ if (dev->sysdata)
-+ goto init_hpt374_done;
-+
-+ /*
-+ * adjust PLL based upon PCI clock, enable it, and wait for
-+ * stabilization.
-+ */
-+ adjust = 0;
-+ freq = (pll < F_LOW_PCI_50) ? 2 : 4;
-+ while (adjust++ < 6) {
-+ pci_write_config_dword(dev, 0x5c, (freq + pll) << 16 |
-+ pll | 0x100);
-+
-+ /* wait for clock stabilization */
-+ for (i = 0; i < 0x50000; i++) {
-+ pci_read_config_byte(dev, 0x5b, &reg5bh);
-+ if (reg5bh & 0x80) {
-+ /* spin looking for the clock to destabilize */
-+ for (i = 0; i < 0x1000; ++i) {
-+ pci_read_config_byte(dev, 0x5b,
-+ &reg5bh);
-+ if ((reg5bh & 0x80) == 0)
-+ goto pll_recal;
-+ }
-+ pci_read_config_dword(dev, 0x5c, &pll);
-+ pci_write_config_dword(dev, 0x5c,
-+ pll & ~0x100);
-+ pci_write_config_byte(dev, 0x5b, 0x21);
-+// dev->sysdata = (void *) fifty_base_hpt374;
-+ printk("HPT374: using 50MHz internal PLL\n");
-+ goto init_hpt374_done;
-+ }
-+ }
-+pll_recal:
-+ if (adjust & 1)
-+ pll -= (adjust >> 1);
-+ else
-+ pll += (adjust >> 1);
-+ }
-+
-+init_hpt374_done:
-+ /* reset state engine */
-+ pci_write_config_byte(dev, 0x50, 0x36);
-+ pci_write_config_byte(dev, 0x54, 0x36);
-+ udelay(100);
-+}
-+
-+static void __init init_hpt372(struct pci_dev *dev)
-+{
-+ int adjust, i;
-+ u16 freq;
-+ u32 pll;
-+ byte reg5bh;
-+
-+ /*
-+ * default to pci clock. make sure MA15/16 are set to output
-+ * to prevent drives having problems with 40-pin cables.
-+ */
-+ pci_write_config_byte(dev, 0x5b, 0x23);
-+
-+ /*
-+ * set up the PLL. we need to adjust it so that it's stable.
-+ * freq = Tpll * 192 / Tpci
-+ */
-+ pci_read_config_word(dev, 0x78, &freq);
-+ freq &= 0x1FF;
-+ if (freq < 0x9c) {
-+ pll = F_LOW_PCI_33;
-+ dev->sysdata = (void *) thirty_three_base_hpt372;
-+ printk("HPT372: using 33MHz PCI clock\n");
-+ } else if (freq < 0xb0) {
-+ pll = F_LOW_PCI_40;
-+ } else if (freq < 0xc8) {
-+ pll = F_LOW_PCI_50;
-+ dev->sysdata = (void *) fifty_base_hpt372;
-+ printk("HPT372: using 50MHz PCI clock\n");
-+ } else {
-+ pll = F_LOW_PCI_66;
-+ dev->sysdata = (void *) sixty_six_base_hpt372;
-+ printk("HPT372: using 66MHz PCI clock\n");
-+ }
-+
-+ /*
-+ * only try the pll if we don't have a table for the clock
-+ * speed that we're running at. NOTE: the internal PLL will
-+ * result in slow reads when using a 33MHz PCI clock. we also
-+ * don't like to use the PLL because it will cause glitches
-+ * on PRST/SRST when the HPT state engine gets reset.
-+ */
-+ if (dev->sysdata)
-+ goto init_hpt372_done;
-+
-+ /*
-+ * adjust PLL based upon PCI clock, enable it, and wait for
-+ * stabilization.
-+ */
-+ adjust = 0;
-+ freq = (pll < F_LOW_PCI_50) ? 2 : 4;
-+ while (adjust++ < 6) {
-+ pci_write_config_dword(dev, 0x5c, (freq + pll) << 16 |
-+ pll | 0x100);
-+
-+ /* wait for clock stabilization */
-+ for (i = 0; i < 0x50000; i++) {
-+ pci_read_config_byte(dev, 0x5b, &reg5bh);
-+ if (reg5bh & 0x80) {
-+ /* spin looking for the clock to destabilize */
-+ for (i = 0; i < 0x1000; ++i) {
-+ pci_read_config_byte(dev, 0x5b,
-+ &reg5bh);
-+ if ((reg5bh & 0x80) == 0)
-+ goto pll_recal;
-+ }
-+ pci_read_config_dword(dev, 0x5c, &pll);
-+ pci_write_config_dword(dev, 0x5c,
-+ pll & ~0x100);
-+ pci_write_config_byte(dev, 0x5b, 0x21);
-+ dev->sysdata = (void *) fifty_base_hpt372;
-+ printk("HPT372: using 50MHz internal PLL\n");
-+ goto init_hpt372_done;
-+ }
-+ }
-+pll_recal:
-+ if (adjust & 1)
-+ pll -= (adjust >> 1);
-+ else
-+ pll += (adjust >> 1);
-+ }
-+
-+init_hpt372_done:
-+ /* reset state engine */
-+ pci_write_config_byte(dev, 0x50, 0x37);
-+ pci_write_config_byte(dev, 0x54, 0x37);
-+ udelay(100);
-+}
-+
- static void __init init_hpt370(struct pci_dev *dev)
- {
- int adjust, i;
-@@ -1095,6 +1499,34 @@
- udelay(100);
- }
-
-+static void __init init_hpt366 (struct pci_dev *dev)
-+{
-+ unsigned int reg1 = 0;
-+ byte drive_fast = 0;
-+
-+ /*
-+ * Disable the "fast interrupt" prediction.
-+ */
-+ pci_read_config_byte(dev, 0x51, &drive_fast);
-+ if (drive_fast & 0x02)
-+ pci_write_config_byte(dev, 0x51, drive_fast & ~0x20);
-+ pci_read_config_dword(dev, 0x40, &reg1);
-+
-+ /* detect bus speed by looking at control reg timing: */
-+ switch((reg1 >> 8) & 7) {
-+ case 5:
-+ dev->sysdata = (void *) forty_base_hpt366;
-+ break;
-+ case 9:
-+ dev->sysdata = (void *) twenty_five_base_hpt366;
-+ break;
-+ case 7:
-+ default:
-+ dev->sysdata = (void *) thirty_three_base_hpt366;
-+ break;
-+ }
-+}
-+
- unsigned int __init pci_init_hpt366 (struct pci_dev *dev, const char *name)
- {
- byte test = 0;
-@@ -1118,13 +1550,29 @@
- if (test != 0x08)
- pci_write_config_byte(dev, PCI_MAX_LAT, 0x08);
-
-- if (pci_rev_check_hpt3xx(dev)) {
-- init_hpt370(dev);
-- hpt_devs[n_hpt_devs++] = dev;
-- } else {
-- hpt_devs[n_hpt_devs++] = dev;
-+ if(n_hpt_devs < HPT366_MAX_DEVS)
-+ {
-+ if (pci_rev7_check_hpt3xx(dev)) {
-+ init_hpt374(dev);
-+ hpt_devs[n_hpt_devs++] = dev;
-+ } else if (pci_rev5_check_hpt3xx(dev)) {
-+ init_hpt372(dev);
-+ hpt_devs[n_hpt_devs++] = dev;
-+ } else if (pci_rev3_check_hpt3xx(dev)) {
-+ init_hpt370(dev);
-+ hpt_devs[n_hpt_devs++] = dev;
-+ } else {
-+ if (dev->device == PCI_DEVICE_ID_TTI_HPT372) {
-+ init_hpt372(dev);
-+ hpt_devs[n_hpt_devs++] = dev;
-+ } else {
-+ init_hpt366(dev);
-+ hpt_devs[n_hpt_devs++] = dev;
-+ }
-+ }
- }
--
-+ else printk(KERN_ERR "hpt366: Too many highpoint controllers.\n");
-+
- #if defined(DISPLAY_HPT366_TIMINGS) && defined(CONFIG_PROC_FS)
- if (!hpt366_proc) {
- hpt366_proc = 1;
-@@ -1151,8 +1599,6 @@
-
- void __init ide_init_hpt366 (ide_hwif_t *hwif)
- {
-- int hpt_rev;
--
- hwif->tuneproc = &hpt3xx_tune_drive;
- hwif->speedproc = &hpt3xx_tune_chipset;
- hwif->quirkproc = &hpt3xx_quirkproc;
-@@ -1165,47 +1611,61 @@
- hwif->serialized = hwif->mate->serialized = 1;
- #endif
-
-- hpt_rev = pci_rev_check_hpt3xx(hwif->pci_dev);
-- if (hpt_rev) {
-- /* set up ioctl for power status. note: power affects both
-- * drives on each channel */
-- hwif->busproc = &hpt370_busproc;
-- }
--
-- if (pci_rev2_check_hpt3xx(hwif->pci_dev)) {
-- /* do nothing now but will split device types */
-- hwif->resetproc = &hpt3xx_reset;
--/*
-- * don't do until we can parse out the cobalt box argh ...
-- * hwif->busproc = &hpt3xx_tristate;
-- */
-- }
--
- #ifdef CONFIG_BLK_DEV_IDEDMA
-- if (hwif->dma_base) {
-- if (hpt_rev) {
-+ if ((pci_rev3_check_hpt3xx(hwif->pci_dev)) ||
-+ (hwif->pci_dev->device == PCI_DEVICE_ID_TTI_HPT372)) {
-+ if (hwif->dma_base) {
- byte reg5ah = 0;
- pci_read_config_byte(hwif->pci_dev, 0x5a, &reg5ah);
-- if (reg5ah & 0x10) /* interrupt force enable */
-- pci_write_config_byte(hwif->pci_dev, 0x5a, reg5ah & ~0x10);
-- hwif->dmaproc = &hpt370_dmaproc;
-- } else {
-- hwif->dmaproc = &hpt366_dmaproc;
-+ reg5ah &= ~0x10;
-+ pci_write_config_byte(hwif->pci_dev, 0x5a, reg5ah);
- }
-- if (!noautodma)
-- hwif->autodma = 1;
-- else
-- hwif->autodma = 0;
-+ }
-+#endif /* CONFIG_BLK_DEV_IDEDMA */
-+
-+ if (pci_rev7_check_hpt3xx(hwif->pci_dev)) {
-+ hwif->resetproc = &hpt3xx_reset;
-+ hwif->busproc = &hpt370_busproc;
-+#ifdef CONFIG_BLK_DEV_IDEDMA
-+ if (hwif->dma_base)
-+ hwif->dmaproc = &hpt374_dmaproc;
-+#endif /* CONFIG_BLK_DEV_IDEDMA */
-+ } else if (pci_rev5_check_hpt3xx(hwif->pci_dev)) {
-+ hwif->resetproc = &hpt3xx_reset;
-+ hwif->busproc = &hpt370_busproc;
-+#ifdef CONFIG_BLK_DEV_IDEDMA
-+ if (hwif->dma_base)
-+ hwif->dmaproc = &hpt374_dmaproc;
-+#endif /* CONFIG_BLK_DEV_IDEDMA */
-+ } else if (pci_rev3_check_hpt3xx(hwif->pci_dev)) {
-+ /*
-+ * set up ioctl for power status. note: power affects both
-+ * drives on each channel
-+ */
-+ hwif->resetproc = &hpt3xx_reset;
-+ hwif->busproc = &hpt370_busproc;
-+#ifdef CONFIG_BLK_DEV_IDEDMA
-+ if (hwif->dma_base)
-+ hwif->dmaproc = &hpt370_dmaproc;
-+#endif /* CONFIG_BLK_DEV_IDEDMA */
-+ } else if (hwif->pci_dev->device == PCI_DEVICE_ID_TTI_HPT372) {
-+ hwif->resetproc = &hpt3xx_reset;
-+ hwif->busproc = &hpt370_busproc;
-+#ifdef CONFIG_BLK_DEV_IDEDMA
-+ if (hwif->dma_base)
-+ hwif->dmaproc = &hpt370_dmaproc;
-+#endif /* CONFIG_BLK_DEV_IDEDMA */
- } else {
-- hwif->autodma = 0;
-- hwif->drives[0].autotune = 1;
-- hwif->drives[1].autotune = 1;
-- }
--#else /* !CONFIG_BLK_DEV_IDEDMA */
-- hwif->drives[0].autotune = 1;
-- hwif->drives[1].autotune = 1;
-- hwif->autodma = 0;
-+ /* do nothing now but will split device types */
-+ hwif->resetproc = &hpt3xx_reset;
-+ hwif->busproc = &hpt3xx_tristate;
-+#ifdef CONFIG_BLK_DEV_IDEDMA
-+ if (hwif->dma_base)
-+ hwif->dmaproc = &hpt366_dmaproc;
- #endif /* CONFIG_BLK_DEV_IDEDMA */
-+ }
-+ hwif->drives[0].autotune = (hwif->autodma) ? 0 : 1;
-+ hwif->drives[1].autotune = (hwif->autodma) ? 0 : 1;
- }
-
- void __init ide_dmacapable_hpt366 (ide_hwif_t *hwif, unsigned long dmabase)
diff --git a/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.XDRWrapFix.patch b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.XDRWrapFix.patch
new file mode 100644
index 000000000000..9a336ab7876a
--- /dev/null
+++ b/sys-kernel/gentoo-sources/files/gentoo-sources-2.4.XDRWrapFix.patch
@@ -0,0 +1,48 @@
+# This is a BitKeeper generated diff -Nru style patch.
+#
+# ChangeSet
+# 2004/08/16 14:50:04-03:00 neilb@cse.unsw.edu.au
+# [PATCH] Fixed possibly xdr parsing error if write size exceed 2^31
+#
+# xdr_argsize_check needs to cope with the possibility that the
+# pointer has wrapped and could be below buf->base.
+#
+# Signed-off-by: Neil Brown <neilb@cse.unsw.edu.au>
+#
+# ### Diffstat output
+# ./fs/nfsd/nfs3xdr.c | 2 +-
+# ./include/linux/nfsd/xdr3.h | 2 +-
+# 2 files changed, 2 insertions(+), 2 deletions(-)
+#
+# fs/nfsd/nfs3xdr.c
+# 2004/08/14 00:23:06-03:00 neilb@cse.unsw.edu.au +1 -1
+# Fixed possibly xdr parsing error if write size exceed 2^31
+#
+# include/linux/nfsd/xdr3.h
+# 2004/08/15 20:48:43-03:00 neilb@cse.unsw.edu.au +1 -1
+# Fixed possibly xdr parsing error if write size exceed 2^31
+#
+diff -Nru a/fs/nfsd/nfs3xdr.c b/fs/nfsd/nfs3xdr.c
+--- a/fs/nfsd/nfs3xdr.c 2004-09-06 11:20:28 -07:00
++++ b/fs/nfsd/nfs3xdr.c 2004-09-06 11:20:28 -07:00
+@@ -273,7 +273,7 @@
+ {
+ struct svc_buf *buf = &rqstp->rq_argbuf;
+
+- return p - buf->base <= buf->buflen;
++ return p >= buf->base && p <= buf->base + buf->buflen ;
+ }
+
+ static inline int
+diff -Nru a/include/linux/nfsd/xdr3.h b/include/linux/nfsd/xdr3.h
+--- a/include/linux/nfsd/xdr3.h 2004-09-06 11:20:28 -07:00
++++ b/include/linux/nfsd/xdr3.h 2004-09-06 11:20:28 -07:00
+@@ -41,7 +41,7 @@
+ __u32 count;
+ int stable;
+ __u8 * data;
+- int len;
++ __u32 len;
+ };
+
+ struct nfsd3_createargs {
diff --git a/sys-kernel/gentoo-sources/files/i810_drm.patch b/sys-kernel/gentoo-sources/files/i810_drm.patch
deleted file mode 100644
index 785b18a2879b..000000000000
--- a/sys-kernel/gentoo-sources/files/i810_drm.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- linux-2.4.19-gentoo-r10/drivers/char/drm/i810_dma.c 2002-11-16 01:41:14.000000000 -0600
-+++ linux-2.4.19-gentoo-r10/drivers/char/drm/i810_dma.c.new 2002-12-08 16:13:53.000000000 -0600
-@@ -229,11 +229,11 @@
- #endif
- #if LINUX_VERSION_CODE < 0x020399
- retcode = do_munmap((unsigned long)buf_priv->virtual,
-- (size_t) buf->total);
-+ (size_t) buf->total,1);
- #else
- retcode = do_munmap(current->mm,
- (unsigned long)buf_priv->virtual,
-- (size_t) buf->total);
-+ (size_t) buf->total,1);
- #endif
- #if LINUX_VERSION_CODE <= 0x020402
- up( &current->mm->mmap_sem );
---- linux-2.4.19-gentoo-r10/drivers/char/drm-4.0/i810_dma.c 2002-11-16 01:41:14.000000000 -0600
-+++ linux-2.4.19-gentoo-r10/drivers/char/drm-4.0/i810_dma.c.new 2002-12-08 16:14:18.000000000 -0600
-@@ -227,11 +227,11 @@
- down_write(&current->mm->mmap_sem);
- #if LINUX_VERSION_CODE < 0x020399
- retcode = do_munmap((unsigned long)buf_priv->virtual,
-- (size_t) buf->total);
-+ (size_t) buf->total,1);
- #else
- retcode = do_munmap(current->mm,
- (unsigned long)buf_priv->virtual,
-- (size_t) buf->total);
-+ (size_t) buf->total,1);
- #endif
- up_write(&current->mm->mmap_sem);
- }
diff --git a/sys-kernel/gentoo-sources/files/lcall-DoS.patch b/sys-kernel/gentoo-sources/files/lcall-DoS.patch
deleted file mode 100644
index dea58ed342d3..000000000000
--- a/sys-kernel/gentoo-sources/files/lcall-DoS.patch
+++ /dev/null
@@ -1,32 +0,0 @@
---- 1.15/arch/i386/kernel/entry.S Wed Sep 11 15:39:07 2002
-+++ 1.16/arch/i386/kernel/entry.S Wed Nov 13 13:40:19 2002
-@@ -63,7 +63,9 @@
- OLDSS = 0x38
-
- CF_MASK = 0x00000001
-+TF_MASK = 0x00000100
- IF_MASK = 0x00000200
-+DF_MASK = 0x00000400
- NT_MASK = 0x00004000
- VM_MASK = 0x00020000
-
-@@ -140,6 +142,9 @@
- movl CS(%esp),%edx # this is eip..
- movl EFLAGS(%esp),%ecx # and this is cs..
- movl %eax,EFLAGS(%esp) #
-+ andl $~(NT_MASK|TF_MASK|DF_MASK), %eax
-+ pushl %eax
-+ popfl
- movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
- movl %esp,%ebx
-@@ -161,6 +166,9 @@
- movl CS(%esp),%edx # this is eip..
- movl EFLAGS(%esp),%ecx # and this is cs..
- movl %eax,EFLAGS(%esp) #
-+ andl $~(NT_MASK|TF_MASK|DF_MASK), %eax
-+ pushl %eax
-+ popfl
- movl %edx,EIP(%esp) # Now we move them to their "normal" places
- movl %ecx,CS(%esp) #
- movl %esp,%ebx
diff --git a/sys-kernel/gentoo-sources/files/security.patch5 b/sys-kernel/gentoo-sources/files/security.patch5
deleted file mode 100644
index 197d255e2463..000000000000
--- a/sys-kernel/gentoo-sources/files/security.patch5
+++ /dev/null
@@ -1,571 +0,0 @@
-diff -Nru a/arch/alpha/kernel/entry.S b/arch/alpha/kernel/entry.S
---- a/arch/alpha/kernel/entry.S 2004-08-05 12:52:10 -07:00
-+++ b/arch/alpha/kernel/entry.S 2004-08-05 12:52:10 -07:00
-@@ -231,12 +231,12 @@
- .end kernel_clone
-
- /*
-- * kernel_thread(fn, arg, clone_flags)
-+ * arch_kernel_thread(fn, arg, clone_flags)
- */
- .align 3
- .globl kernel_thread
- .ent kernel_thread
--kernel_thread:
-+arch_kernel_thread:
- ldgp $29,0($27) /* we can be called from a module */
- .frame $30, 4*8, $26
- subq $30,4*8,$30
-diff -Nru a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c
---- a/arch/arm/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/arm/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -366,7 +366,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
- pid_t __ret;
-
-diff -Nru a/arch/cris/kernel/entry.S b/arch/cris/kernel/entry.S
---- a/arch/cris/kernel/entry.S 2004-08-05 12:52:10 -07:00
-+++ b/arch/cris/kernel/entry.S 2004-08-05 12:52:10 -07:00
-@@ -739,12 +739,12 @@
- * the grosser the code, at least with the gcc version in cris-dist-1.13.
- */
-
--/* int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) */
-+/* int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags) */
- /* r10 r11 r12 */
-
- .text
-- .global kernel_thread
--kernel_thread:
-+ .global arch_kernel_thread
-+arch_kernel_thread:
-
- /* Save ARG for later. */
- move.d $r11, $r13
-diff -Nru a/arch/i386/kernel/process.c b/arch/i386/kernel/process.c
---- a/arch/i386/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/i386/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -485,7 +485,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval, d0;
-
-@@ -508,6 +508,7 @@
- "r" (arg), "r" (fn),
- "b" (flags | CLONE_VM)
- : "memory");
-+
- return retval;
- }
-
-diff -Nru a/arch/ia64/kernel/process.c b/arch/ia64/kernel/process.c
---- a/arch/ia64/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/ia64/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -230,7 +230,7 @@
- * | | <-- sp (lowest addr)
- * +---------------------+
- *
-- * Note: if we get called through kernel_thread() then the memory
-+ * Note: if we get called through arch_kernel_thread() then the memory
- * above "(highest addr)" is valid kernel stack memory that needs to
- * be copied as well.
- *
-@@ -485,7 +485,7 @@
- }
-
- pid_t
--kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
-+arch_kernel_thread (int (*fn)(void *), void *arg, unsigned long flags)
- {
- struct task_struct *parent = current;
- int result, tid;
-diff -Nru a/arch/m68k/kernel/process.c b/arch/m68k/kernel/process.c
---- a/arch/m68k/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/m68k/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -124,7 +124,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int pid;
- mm_segment_t fs;
-diff -Nru a/arch/mips/kernel/process.c b/arch/mips/kernel/process.c
---- a/arch/mips/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/mips/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -152,7 +152,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nru a/arch/mips64/kernel/process.c b/arch/mips64/kernel/process.c
---- a/arch/mips64/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/mips64/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -151,7 +151,7 @@
- /*
- * Create a kernel thread
- */
--int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
- int retval;
-
-diff -Nru a/arch/parisc/kernel/process.c b/arch/parisc/kernel/process.c
---- a/arch/parisc/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/parisc/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -169,7 +169,7 @@
- */
-
- extern pid_t __kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
--pid_t kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags)
- {
-
- /*
-diff -Nru a/arch/ppc/kernel/misc.S b/arch/ppc/kernel/misc.S
---- a/arch/ppc/kernel/misc.S 2004-08-05 12:52:10 -07:00
-+++ b/arch/ppc/kernel/misc.S 2004-08-05 12:52:10 -07:00
-@@ -899,9 +899,9 @@
-
- /*
- * Create a kernel thread
-- * kernel_thread(fn, arg, flags)
-+ * arch_kernel_thread(fn, arg, flags)
- */
--_GLOBAL(kernel_thread)
-+_GLOBAL(arch_kernel_thread)
- mr r6,r3 /* function */
- ori r3,r5,CLONE_VM /* flags */
- li r0,__NR_clone
-diff -Nru a/arch/ppc64/kernel/misc.S b/arch/ppc64/kernel/misc.S
---- a/arch/ppc64/kernel/misc.S 2004-08-05 12:52:10 -07:00
-+++ b/arch/ppc64/kernel/misc.S 2004-08-05 12:52:10 -07:00
-@@ -481,9 +481,9 @@
-
- /*
- * Create a kernel thread
-- * kernel_thread(fn, arg, flags)
-+ * arch_kernel_thread(fn, arg, flags)
- */
--_GLOBAL(kernel_thread)
-+_GLOBAL(arch_kernel_thread)
- mr r6,r3 /* function */
- ori r3,r5,CLONE_VM /* flags */
- li r0,__NR_clone
-diff -Nru a/arch/s390/kernel/process.c b/arch/s390/kernel/process.c
---- a/arch/s390/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/s390/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -105,7 +105,7 @@
- show_trace((unsigned long *) regs->gprs[15]);
- }
-
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int clone_arg = flags | CLONE_VM;
- int retval;
-diff -Nru a/arch/s390x/kernel/process.c b/arch/s390x/kernel/process.c
---- a/arch/s390x/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/s390x/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -102,7 +102,7 @@
- show_trace((unsigned long *) regs->gprs[15]);
- }
-
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- int clone_arg = flags | CLONE_VM;
- int retval;
-diff -Nru a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c
---- a/arch/sh/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/sh/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -118,7 +118,7 @@
- * This is the mechanism for creating a new kernel thread.
- *
- */
--int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- { /* Don't use this in BL=1(cli). Or else, CPU resets! */
- register unsigned long __sc0 __asm__ ("r0");
- register unsigned long __sc3 __asm__ ("r3") = __NR_clone;
-diff -Nru a/arch/sparc/kernel/process.c b/arch/sparc/kernel/process.c
---- a/arch/sparc/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/sparc/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -676,7 +676,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nru a/arch/sparc64/kernel/process.c b/arch/sparc64/kernel/process.c
---- a/arch/sparc64/kernel/process.c 2004-08-05 12:52:10 -07:00
-+++ b/arch/sparc64/kernel/process.c 2004-08-05 12:52:10 -07:00
-@@ -673,7 +673,7 @@
- * a system call from a "real" process, but the process memory space will
- * not be free'd until both the parent and the child have exited.
- */
--pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
- {
- long retval;
-
-diff -Nru a/fs/exec.c b/fs/exec.c
---- a/fs/exec.c 2004-08-05 12:52:10 -07:00
-+++ b/fs/exec.c 2004-08-05 12:52:10 -07:00
-@@ -576,8 +576,10 @@
-
- current->sas_ss_sp = current->sas_ss_size = 0;
-
-- if (current->euid == current->uid && current->egid == current->gid)
-+ if (current->euid == current->uid && current->egid == current->gid) {
- current->mm->dumpable = 1;
-+ current->task_dumpable = 1;
-+ }
- name = bprm->filename;
- for (i=0; (ch = *(name++)) != '\0';) {
- if (ch == '/')
-@@ -1085,7 +1087,7 @@
- binfmt = current->binfmt;
- if (!binfmt || !binfmt->core_dump)
- goto fail;
-- if (!current->mm->dumpable)
-+ if (!is_dumpable(current))
- goto fail;
- current->mm->dumpable = 0;
- if (current->rlim[RLIMIT_CORE].rlim_cur < binfmt->min_coredump)
-diff -Nru a/include/asm-alpha/processor.h b/include/asm-alpha/processor.h
---- a/include/asm-alpha/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-alpha/processor.h 2004-08-05 12:52:10 -07:00
-@@ -119,7 +119,7 @@
- extern void release_thread(struct task_struct *);
-
- /* Create a kernel thread without removing it from tasklists. */
--extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern long arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nru a/include/asm-arm/processor.h b/include/asm-arm/processor.h
---- a/include/asm-arm/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-arm/processor.h 2004-08-05 12:52:10 -07:00
-@@ -117,7 +117,7 @@
- /*
- * Create a new kernel thread
- */
--extern int kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- #endif
-
-diff -Nru a/include/asm-cris/processor.h b/include/asm-cris/processor.h
---- a/include/asm-cris/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-cris/processor.h 2004-08-05 12:52:10 -07:00
-@@ -81,7 +81,7 @@
- #define INIT_THREAD { \
- 0, 0, 0x20 } /* ccr = int enable, nothing else */
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* give the thread a program location
- * set user-mode (The 'U' flag (User mode flag) is CCR/DCCR bit 8)
-diff -Nru a/include/asm-i386/processor.h b/include/asm-i386/processor.h
---- a/include/asm-i386/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-i386/processor.h 2004-08-05 12:52:10 -07:00
-@@ -433,7 +433,7 @@
- /*
- * create a kernel thread without removing it from tasklists
- */
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- extern void copy_segments(struct task_struct *p, struct mm_struct * mm);
-diff -Nru a/include/asm-ia64/processor.h b/include/asm-ia64/processor.h
---- a/include/asm-ia64/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-ia64/processor.h 2004-08-05 12:52:10 -07:00
-@@ -372,7 +372,7 @@
- * do_basic_setup() and the timing is such that free_initmem() has
- * been called already.
- */
--extern int kernel_thread (int (*fn)(void *), void *arg, unsigned long flags);
-+extern int arch_kernel_thread (int (*fn)(void *), void *arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(tsk, mm) do { } while (0)
-diff -Nru a/include/asm-m68k/processor.h b/include/asm-m68k/processor.h
---- a/include/asm-m68k/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-m68k/processor.h 2004-08-05 12:52:10 -07:00
-@@ -105,7 +105,7 @@
- {
- }
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nru a/include/asm-mips/processor.h b/include/asm-mips/processor.h
---- a/include/asm-mips/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-mips/processor.h 2004-08-05 12:52:10 -07:00
-@@ -188,7 +188,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(thread) do { } while(0)
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(p, mm) do { } while(0)
-diff -Nru a/include/asm-mips64/processor.h b/include/asm-mips64/processor.h
---- a/include/asm-mips64/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-mips64/processor.h 2004-08-05 12:52:10 -07:00
-@@ -231,7 +231,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(thread) do { } while(0)
-
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(p, mm) do { } while(0)
-diff -Nru a/include/asm-parisc/processor.h b/include/asm-parisc/processor.h
---- a/include/asm-parisc/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-parisc/processor.h 2004-08-05 12:52:10 -07:00
-@@ -292,7 +292,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- extern void map_hpux_gateway_page(struct task_struct *tsk, struct mm_struct *mm);
-
-diff -Nru a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
---- a/include/asm-ppc/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-ppc/processor.h 2004-08-05 12:52:10 -07:00
-@@ -622,7 +622,7 @@
- /*
- * Create a new kernel thread.
- */
--extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern long arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- /*
- * Bus types
-diff -Nru a/include/asm-ppc64/processor.h b/include/asm-ppc64/processor.h
---- a/include/asm-ppc64/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-ppc64/processor.h 2004-08-05 12:52:10 -07:00
-@@ -602,7 +602,7 @@
- /*
- * Create a new kernel thread.
- */
--extern long kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-+extern long arch_kernel_thread(int (*fn)(void *), void *arg, unsigned long flags);
-
- /*
- * Bus types
-diff -Nru a/include/asm-s390/processor.h b/include/asm-s390/processor.h
---- a/include/asm-s390/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-s390/processor.h 2004-08-05 12:52:10 -07:00
-@@ -113,7 +113,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(nr, mm) do { } while (0)
-diff -Nru a/include/asm-s390x/processor.h b/include/asm-s390x/processor.h
---- a/include/asm-s390x/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-s390x/processor.h 2004-08-05 12:52:10 -07:00
-@@ -128,7 +128,7 @@
-
- /* Free all resources held by a thread. */
- extern void release_thread(struct task_struct *);
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /* Copy and release all segment info associated with a VM */
- #define copy_segments(nr, mm) do { } while (0)
-diff -Nru a/include/asm-sh/processor.h b/include/asm-sh/processor.h
---- a/include/asm-sh/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-sh/processor.h 2004-08-05 12:52:10 -07:00
-@@ -137,7 +137,7 @@
- /*
- * create a kernel thread without removing it from tasklists
- */
--extern int kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern int arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- /*
- * Bus types
-diff -Nru a/include/asm-sparc/processor.h b/include/asm-sparc/processor.h
---- a/include/asm-sparc/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-sparc/processor.h 2004-08-05 12:52:10 -07:00
-@@ -146,7 +146,7 @@
-
- /* Free all resources held by a thread. */
- #define release_thread(tsk) do { } while(0)
--extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
-
- #define copy_segments(tsk, mm) do { } while (0)
-diff -Nru a/include/asm-sparc64/processor.h b/include/asm-sparc64/processor.h
---- a/include/asm-sparc64/processor.h 2004-08-05 12:52:10 -07:00
-+++ b/include/asm-sparc64/processor.h 2004-08-05 12:52:10 -07:00
-@@ -270,7 +270,7 @@
- /* Free all resources held by a thread. */
- #define release_thread(tsk) do { } while(0)
-
--extern pid_t kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-+extern pid_t arch_kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define copy_segments(tsk, mm) do { } while (0)
- #define release_segments(mm) do { } while (0)
-diff -Nru a/include/linux/sched.h b/include/linux/sched.h
---- a/include/linux/sched.h 2004-08-05 12:52:10 -07:00
-+++ b/include/linux/sched.h 2004-08-05 12:52:10 -07:00
-@@ -345,6 +345,7 @@
- /* ??? */
- unsigned long personality;
- int did_exec:1;
-+ unsigned task_dumpable:1;
- pid_t pid;
- pid_t pgrp;
- pid_t tty_old_pgrp;
-@@ -454,6 +455,8 @@
- #define PT_TRACESYSGOOD 0x00000008
- #define PT_PTRACE_CAP 0x00000010 /* ptracer can follow suid-exec */
-
-+#define is_dumpable(tsk) ((tsk)->task_dumpable && (tsk)->mm && (tsk)->mm->dumpable)
-+
- /*
- * Limit the stack by to some sane default: root can always
- * increase this limit if needed.. 8MB seems reasonable.
-@@ -808,6 +811,8 @@
- extern void FASTCALL(add_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
- extern void FASTCALL(add_wait_queue_exclusive(wait_queue_head_t *q, wait_queue_t * wait));
- extern void FASTCALL(remove_wait_queue(wait_queue_head_t *q, wait_queue_t * wait));
-+
-+extern long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags);
-
- #define __wait_event(wq, condition) \
- do { \
-diff -Nru a/kernel/fork.c b/kernel/fork.c
---- a/kernel/fork.c 2004-08-05 12:52:10 -07:00
-+++ b/kernel/fork.c 2004-08-05 12:52:10 -07:00
-@@ -27,6 +27,7 @@
- #include <asm/pgalloc.h>
- #include <asm/uaccess.h>
- #include <asm/mmu_context.h>
-+#include <asm/processor.h>
-
- /* The idle threads do not count.. */
- int nr_threads;
-@@ -563,6 +564,31 @@
- if (!(clone_flags & CLONE_PTRACE))
- p->ptrace = 0;
- p->flags = new_flags;
-+}
-+
-+long kernel_thread(int (*fn)(void *), void * arg, unsigned long flags)
-+{
-+ struct task_struct *task = current;
-+ unsigned old_task_dumpable;
-+ long ret;
-+
-+ /* lock out any potential ptracer */
-+ task_lock(task);
-+ if (task->ptrace) {
-+ task_unlock(task);
-+ return -EPERM;
-+ }
-+
-+ old_task_dumpable = task->task_dumpable;
-+ task->task_dumpable = 0;
-+ task_unlock(task);
-+
-+ ret = arch_kernel_thread(fn, arg, flags);
-+
-+ /* never reached in child process, only in parent */
-+ current->task_dumpable = old_task_dumpable;
-+
-+ return ret;
- }
-
- /*
-diff -Nru a/kernel/ptrace.c b/kernel/ptrace.c
---- a/kernel/ptrace.c 2004-08-05 12:52:10 -07:00
-+++ b/kernel/ptrace.c 2004-08-05 12:52:10 -07:00
-@@ -21,6 +21,10 @@
- */
- int ptrace_check_attach(struct task_struct *child, int kill)
- {
-+ mb();
-+ if (!is_dumpable(child))
-+ return -EPERM;
-+
- if (!(child->ptrace & PT_PTRACED))
- return -ESRCH;
-
-@@ -70,7 +74,7 @@
- (current->gid != task->gid)) && !capable(CAP_SYS_PTRACE))
- goto bad;
- rmb();
-- if (!task->mm->dumpable && !capable(CAP_SYS_PTRACE))
-+ if (!is_dumpable(task) && !capable(CAP_SYS_PTRACE))
- goto bad;
- /* the same process cannot be attached many times */
- if (task->ptrace & PT_PTRACED)
-@@ -136,6 +140,8 @@
- /* Worry about races with exit() */
- task_lock(tsk);
- mm = tsk->mm;
-+ if (!is_dumpable(tsk) || (&init_mm == mm))
-+ mm = NULL;
- if (mm)
- atomic_inc(&mm->mm_users);
- task_unlock(tsk);
-diff -Nru a/kernel/sys.c b/kernel/sys.c
---- a/kernel/sys.c 2004-08-05 12:52:10 -07:00
-+++ b/kernel/sys.c 2004-08-05 12:52:10 -07:00
-@@ -1238,7 +1238,7 @@
- error = put_user(current->pdeath_signal, (int *)arg2);
- break;
- case PR_GET_DUMPABLE:
-- if (current->mm->dumpable)
-+ if (is_dumpable(current))
- error = 1;
- break;
- case PR_SET_DUMPABLE:
-@@ -1246,7 +1246,8 @@
- error = -EINVAL;
- break;
- }
-- current->mm->dumpable = arg2;
-+ if (is_dumpable(current))
-+ current->mm->dumpable = arg2;
- break;
-
- case PR_SET_UNALIGN:
-
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r22.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r22.ebuild
deleted file mode 100644
index fa10a9b03321..000000000000
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r22.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.19-r22.ebuild,v 1.1 2004/08/14 14:35:32 plasmaroo Exp $
-
-IUSE="acpi4linux crypt xfs"
-
-# OKV=original kernel version, KV=patched kernel version. They can be the same.
-
-# Kernel ebuilds using the kernel.eclass can remove any patch that you
-# do not want to apply by simply setting the KERNEL_EXCLUDE shell
-# variable to the string you want to exclude (for instance
-# KERNEL_EXCLUDE="evms" would not patch any patches whose names match
-# *evms*). Kernels are only tested in the default configuration, but
-# this may be useful if you know that a particular patch is causing a
-# conflict with a patch you personally want to apply, or some other
-# similar situation.
-
-# This kernel also has support for the local USE flag acpi4linux which
-# activates the latest code from acpi.sourceforge.net instead of the
-# very out of date vanilla version
-
-ETYPE="sources"
-
-inherit kernel eutils
-
-OKV="`echo ${PV}|sed -e 's:^\([0-9]\+\.[0-9]\+\.[0-9]\+\).*:\1:'`"
-EXTRAVERSION="-${PN/-*/}"
-[ ! "${PR}" == "r0" ] && EXTRAVERSION="${EXTRAVERSION}-${PR}"
-KV="${OKV}${EXTRAVERSION}"
-
-S=${WORKDIR}/linux-${KV}
-
-# Documentation on the patches contained in this kernel will be installed
-# to /usr/share/doc/gentoo-sources-${PV}/patches.txt.gz
-
-DESCRIPTION="Full sources for the Gentoo Linux kernel"
-SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
- http://gentoo.lostlogicx.com/patches-${KV/-r22/-r10}.tar.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-${OKV}-CAN-2004-0415.patch"
-KEYWORDS="x86 -ppc -sparc -amd64 -ia64"
-SLOT="${KV}"
-
-src_unpack() {
- unpack ${A}
- mv linux-${OKV} linux-${KV} || die
-
- cd ${KV/-r22/-r10}
- # Kill patches we aren't suppposed to use, don't worry about
- # failures, if they aren't there that is a good thing!
-
- # This is the ratified crypt USE flag, enables IPSEC and patch-int
- use crypt || rm 8*
-
- # This is the XFS filesystem from SGI, use at your own risk ;)
- use xfs || rm *xfs*
-
- # This is the latest release of ACPI from
- # http://www.sourceforge.net/projects/acpi
- use acpi4linux || rm 70*
-
- kernel_src_unpack
-
- cd ${S}
- epatch ${FILESDIR}/${P}-gcc33.patch || die "GCC 3.3 patch failed!"
- epatch ${FILESDIR}/${PN}-2.4.20-cs46xx-gcc33.patch || die "GCC 3.3 patch failed!"
-
- epatch ${FILESDIR}/security.patch2
- epatch ${FILESDIR}/security.patch3
- epatch ${FILESDIR}/security.patch4
- epatch ${FILESDIR}/security.patch5
-
- epatch ${FILESDIR}/lcall-DoS.patch || die "lcall-DoS patch failed"
- epatch ${FILESDIR}/i810_drm.patch || die "i810_drm patch failed"
- epatch ${FILESDIR}/do_brk_fix.patch || die "Failed to apply do_brk() patch!"
- epatch ${FILESDIR}/${P}-munmap.patch || die "Failed to apply munmap patch!"
- epatch ${FILESDIR}/${P}-rtc_fix.patch || die "Failed to apply the RTC fixes!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2003-0643.patch || die "Failed to add the CAN-2003-0643 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2003-0985.patch || die "Failed to add the CAN-2003-0985 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0010.patch || die "Failed to add the CAN-2004-0010 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0109.patch || die "Failed to add the CAN-2004-0109 patch!"
- use xfs && { epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0133.patch || die "Failed to add the CAN-2004-0133 patch!"; }
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0177.patch || die "Failed to add the CAN-2004-0177 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0178.patch || die "Failed to add the CAN-2004-0178 patch!"
- epatch ${FILESDIR}/${P}-CAN-2004-0181.patch || die "Failed to add the CAN-2004-0181 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0394.patch || die "Failed to add the CAN-2004-0394 patch!"
- epatch ${DISTDIR}/linux-${OKV}-CAN-2004-0415.patch || die "Failed to add the CAN-2004-0415 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0427.patch || die "Failed to add the CAN-2004-0427 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0495.patch || die "Failed to add the CAN-2004-0495 patch!"
- epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0497.patch || die "Failed to add the CAN-2004-0497 patch!"
- epatch ${FILESDIR}/${PN}-2.4.20-CAN-2004-0685.patch || die "Failed to add the CAN-2004-0685 patch!"
- epatch ${FILESDIR}/${PN}-2.4.FPULockup-53804.patch || die "Failed to apply FPU-lockup patch!"
- epatch ${FILESDIR}/${PN}-2.4.cmdlineLeak.patch || die "Failed to apply the /proc/cmdline patch!"
-}
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r25.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r26.ebuild
index 495c8f2859d9..a1ca235c5449 100644
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r25.ebuild
+++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r26.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r25.ebuild,v 1.1 2004/08/14 14:35:32 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.20-r26.ebuild,v 1.1 2004/11/09 22:23:54 plasmaroo Exp $
IUSE="aavm crypt evms2 usagi"
@@ -30,8 +30,9 @@ S=${WORKDIR}/linux-${KV}
DESCRIPTION="Full sources for the Gentoo Kernel."
SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/patches-${KV/r25/r14}.tar.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/gentoo-sources-${OKV}-CAN-2004-0415.patch"
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/patches-${KV/r26/r14}.tar.bz2
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0415.patch
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0814.patch"
HOMEPAGE="http://www.gentoo.org/ http://www.kernel.org/"
LICENSE="GPL-2"
KEYWORDS="x86 -ppc -sparc -alpha -hppa -mips"
@@ -41,7 +42,7 @@ src_unpack() {
unpack ${A}
mv linux-${OKV} linux-${KV} || die "Error moving kernel source tree to linux-${KV}"
- cd ${WORKDIR}/${KV/r25/r14}
+ cd ${WORKDIR}/${KV/r26/r14}
# This is the *ratified* aavm USE flag, enables aavm support in this kernel
if ! use aavm; then
@@ -137,15 +138,17 @@ src_unpack() {
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0178.patch || die "Failed to add the CAN-2004-0178 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0181.patch || die "Failed to add the CAN-2004-0181 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0394.patch || die "Failed to add the CAN-2004-0394 patch!"
- epatch ${DISTDIR}/${PN}-${OKV}-CAN-2004-0415.patch || die "Failed to add the CAN-2004-0415 patch!"
+ epatch ${DISTDIR}/${P}-CAN-2004-0415.patch || die "Failed to add the CAN-2004-0415 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0427.patch || die "Failed to add the CAN-2004-0427 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0495.patch || die "Failed to add the CAN-2004-0495 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0497.patch || die "Failed to add the CAN-2004-0497 patch!"
epatch ${FILESDIR}/${PN}-2.4.CAN-2004-0535.patch || die "Failed to add the CAN-2004-0535 patch!"
epatch ${FILESDIR}/${P}-CAN-2004-0685.patch || die "Failed to add the CAN-2004-0685 patch!"
+ epatch ${DISTDIR}/${P}-CAN-2004-0814.patch || die "Failed to add the CAN-2004-0814 patch!"
epatch ${FILESDIR}/${PN}-2.4.I2C_Limits.patch || die "Failed to patch the I2C i2cdev_ioctl() kmalloc() bug!"
epatch ${FILESDIR}/${PN}-2.4.FPULockup-53804.patch || die "Failed to apply FPU-lockup patch!"
epatch ${FILESDIR}/${PN}-2.4.cmdlineLeak.patch || die "Failed to apply the /proc/cmdline patch!"
+ epatch ${FILESDIR}/${PN}-2.4.XDRWrapFix.patch || die "Failed to apply the kNFSd XDR patch!"
}
pkg_postinst() {
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r16.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r17.ebuild
index 985cd0d8b09c..2ff35f7e535c 100644
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r16.ebuild
+++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r17.ebuild
@@ -1,13 +1,15 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r16.ebuild,v 1.1 2004/08/14 14:35:32 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.22-r17.ebuild,v 1.1 2004/11/09 22:23:54 plasmaroo Exp $
ETYPE="sources"
inherit kernel-2
detect_version
+UNIPATCH_STRICTORDER='Y'
UNIPATCH_LIST="
+ ${DISTDIR}/gentoo-sources-${PVR/17/5}.patch.bz2
${FILESDIR}/${PN}-2.4.munmap.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0001.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0010.patch
@@ -24,16 +26,18 @@ UNIPATCH_LIST="
${FILESDIR}/${PN}-2.4.CAN-2004-0497.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0535.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0685.patch
+ ${DISTDIR}/${P}-CAN-2004-0814.patch
${FILESDIR}/${PN}-2.4.FPULockup-53804.patch
${FILESDIR}/${PN}-2.4.cmdlineLeak.patch
- ${DISTDIR}/gentoo-sources-${PVR/16/5}.patch.bz2"
+ ${FILESDIR}/${PN}-2.4.XDRWrapFix.patch"
S=${WORKDIR}/linux-${KV}
DESCRIPTION="Full sources for the Gentoo Kernel."
SRC_URI="mirror://kernel/linux/kernel/v2.4/linux-${OKV}.tar.bz2
- http://dev.gentoo.org/~iggy/gentoo-sources-${PVR/16/5}.patch.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-${OKV}-CAN-2004-0415.patch"
+ http://dev.gentoo.org/~iggy/gentoo-sources-${PVR/17/5}.patch.bz2
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-${OKV}-CAN-2004-0415.patch
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${P}-CAN-2004-0814.patch"
KEYWORDS="x86 -*"
IUSE=""
SLOT="${KV}"
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r9.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r10.ebuild
index e7ee4a070357..5ed98b8ac43b 100644
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r9.ebuild
+++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r10.ebuild
@@ -1,14 +1,17 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r9.ebuild,v 1.1 2004/08/14 14:35:32 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.25-r10.ebuild,v 1.1 2004/11/09 22:23:54 plasmaroo Exp $
ETYPE="sources"
inherit kernel-2
detect_version
KEYWORDS="x86 -ppc"
-IUSE=""
+IUSE=''
+
+UNIPATCH_STRICTORDER='Y'
UNIPATCH_LIST="
+ ${DISTDIR}/${P}.patch.bz2
${FILESDIR}/${PN}-2.4.CAN-2004-0109.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0133.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0177.patch
@@ -22,9 +25,12 @@ UNIPATCH_LIST="
${FILESDIR}/${PN}-2.4.CAN-2004-0685.patch
${FILESDIR}/${PN}-2.4.FPULockup-53804.patch
${FILESDIR}/${PN}-2.4.cmdlineLeak.patch
+ ${FILESDIR}/${PN}-2.4.XDRWrapFix.patch
${DISTDIR}/linux-2.4.26-CAN-2004-0415.patch
- ${DISTDIR}/${P}.patch.bz2"
+ ${DISTDIR}/${PN}-2.4.22-CAN-2004-0814.patch"
DESCRIPTION="Full sources including the gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
SRC_URI="${KERNEL_URI} http://dev.gentoo.org/~livewire/${P}.patch.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-2.4.26-CAN-2004-0415.patch"
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-2.4.26-CAN-2004-0415.patch
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-2.4.22-CAN-2004-0814.patch"
+
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r9.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r10.ebuild
index f95e8c805959..2e0fdb8181af 100644
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r9.ebuild
+++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r10.ebuild
@@ -1,23 +1,29 @@
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r9.ebuild,v 1.2 2004/09/03 18:54:23 pvdabeel Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.26-r10.ebuild,v 1.1 2004/11/09 22:23:54 plasmaroo Exp $
ETYPE="sources"
inherit kernel-2
detect_version
KEYWORDS="x86 -ppc"
-IUSE=""
-UNIPATCH_LIST="${FILESDIR}/${PN}-2.4.CAN-2004-0495.patch
+IUSE=''
+
+UNIPATCH_STRICTORDER='Y'
+UNIPATCH_LIST="
+ ${DISTDIR}/${PF/r10/r6}.tar.bz2
+ ${FILESDIR}/${PN}-2.4.CAN-2004-0495.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0497.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0535.patch
${FILESDIR}/${PN}-2.4.CAN-2004-0685.patch
${FILESDIR}/${PN}-2.4.FPULockup-53804.patch
${FILESDIR}/${P}-OpenSWAN-CompileFix.patch
${FILESDIR}/${PN}-2.4.cmdlineLeak.patch
+ ${FILESDIR}/${PN}-2.4.XDRWrapFix.patch
${DISTDIR}/linux-${OKV}-CAN-2004-0415.patch
- ${DISTDIR}/${PF/r9/r6}.tar.bz2"
+ ${DISTDIR}/${PN}-2.4.22-CAN-2004-0814.patch"
DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
-SRC_URI="${KERNEL_URI} http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/${PF/r9/r6}.tar.bz2
- http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-${OKV}-CAN-2004-0415.patch"
+SRC_URI="${KERNEL_URI} http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/${PF/r10/r6}.tar.bz2
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/linux-${OKV}-CAN-2004-0415.patch
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-2.4.22-CAN-2004-0814.patch"
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r1.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r1.ebuild
deleted file mode 100644
index 411a2ea02b1b..000000000000
--- a/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r1.ebuild
+++ /dev/null
@@ -1,15 +0,0 @@
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r1.ebuild,v 1.3 2004/09/03 18:54:23 pvdabeel Exp $
-
-ETYPE="sources"
-inherit kernel-2
-detect_version
-
-KEYWORDS="~x86 -ppc"
-IUSE=""
-UNIPATCH_LIST="${DISTDIR}/${PF}.tar.bz2
- ${FILESDIR}/${PN}-2.4.cmdlineLeak.patch"
-
-DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
-SRC_URI="${KERNEL_URI} http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/${PF}.tar.bz2"
diff --git a/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r2.ebuild b/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r2.ebuild
new file mode 100644
index 000000000000..e25149303373
--- /dev/null
+++ b/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/gentoo-sources/gentoo-sources-2.4.27-r2.ebuild,v 1.1 2004/11/09 22:23:54 plasmaroo Exp $
+
+ETYPE="sources"
+inherit kernel-2
+detect_version
+
+KEYWORDS="~x86 -ppc"
+IUSE=''
+
+UNIPATCH_STRICTORDER='Y'
+UNIPATCH_LIST="${DISTDIR}/${PF/r2/r1}.tar.bz2
+ ${DISTDIR}/${PN}-2.4.22-CAN-2004-0814.patch
+ ${FILESDIR}/${PN}-2.4.cmdlineLeak.patch
+ ${FILESDIR}/${PN}-2.4.XDRWrapFix.patch"
+
+DESCRIPTION="Full sources including the Gentoo patchset for the ${KV_MAJOR}.${KV_MINOR} kernel tree"
+SRC_URI="${KERNEL_URI} http://dev.gentoo.org/~plasmaroo/patches/kernel/gentoo-sources/${PF/r2/r1}.tar.bz2
+ http://dev.gentoo.org/~plasmaroo/patches/kernel/misc/security/${PN}-2.4.22-CAN-2004-0814.patch"
+