Version bump
authorDaniel Drake <dsd@gentoo.org>
Sat, 25 Dec 2004 15:59:15 +0000 (15:59 +0000)
committerDaniel Drake <dsd@gentoo.org>
Sat, 25 Dec 2004 15:59:15 +0000 (15:59 +0000)
17 files changed:
sys-kernel/ck-sources/ChangeLog
sys-kernel/ck-sources/Manifest
sys-kernel/ck-sources/ck-sources-2.6.10-r1.ebuild [moved from sys-kernel/ck-sources/ck-sources-2.6.9-r3.ebuild with 57% similarity]
sys-kernel/ck-sources/files/ck-sources-2.6.10.CAN-2004-1056.patch [moved from sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1056.patch with 100% similarity]
sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.SELinux.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1016.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1137.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1151.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_a.out.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_elf.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.shmLocking.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.smbfs.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources-2.6.9.vma.patch [deleted file]
sys-kernel/ck-sources/files/ck-sources.AF_UNIX.patch [deleted file]
sys-kernel/ck-sources/files/digest-ck-sources-2.6.10-r1 [new file with mode: 0644]
sys-kernel/ck-sources/files/digest-ck-sources-2.6.9-r3 [deleted file]

index 089c5a55d0f428e40787f321fe45b36cadfcef4d..e92afbe494512b7f30a92840469e21a393973845 100644 (file)
@@ -1,6 +1,24 @@
 # ChangeLog for sys-kernel/ck-sources
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ChangeLog,v 1.76 2004/12/25 15:30:23 dsd Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ChangeLog,v 1.77 2004/12/25 15:59:15 dsd Exp $
+
+*ck-sources-2.6.10-r1 (25 Dec 2004)
+
+  25 Dec 2004; Daniel Drake <dsd@gentoo.org>
+  +files/ck-sources-2.6.10.CAN-2004-1056.patch,
+  -files/ck-sources-2.6.9.AF_UNIX.SELinux.patch,
+  -files/ck-sources-2.6.9.AF_UNIX.patch,
+  -files/ck-sources-2.6.9.CAN-2004-1016.patch,
+  -files/ck-sources-2.6.9.CAN-2004-1056.patch,
+  -files/ck-sources-2.6.9.CAN-2004-1137.patch,
+  -files/ck-sources-2.6.9.CAN-2004-1151.patch,
+  -files/ck-sources-2.6.9.binfmt_a.out.patch,
+  -files/ck-sources-2.6.9.binfmt_elf.patch,
+  -files/ck-sources-2.6.9.shmLocking.patch,
+  -files/ck-sources-2.6.9.smbfs.patch, -files/ck-sources-2.6.9.vma.patch,
+  -files/ck-sources.AF_UNIX.patch, +ck-sources-2.6.10-r1.ebuild,
+  -ck-sources-2.6.9-r3.ebuild:
+  Version bump
 
 *ck-sources-2.4.28-r1 (25 Dec 2004)
 
index 1259deff4fd4c1ec52a2ee10f2153aee0d33799c..a49280a5a2b23471c4de36830a654bf501090955 100644 (file)
@@ -1,25 +1,14 @@
 MD5 b6e2f5aa9770de9a81272db5aa39f662 ck-sources-2.4.28-r1.ebuild 1089
-MD5 da6a8b2e8485d25070da95f62bcf9282 ck-sources-2.6.9-r3.ebuild 1057
-MD5 98e043bf40d524baf369f298410d7d3f ChangeLog 15990
+MD5 fdcab6015cff9a00d641352358d67734 ck-sources-2.6.10-r1.ebuild 724
+MD5 0a2dc152f17f0d10f53da3c998fd7f09 ChangeLog 16718
 MD5 7187b8c28501f454a2412c9e4a7fcf53 metadata.xml 421
-MD5 6bcdd0bb63e2db559a5c6465c73a7f89 files/ck-sources-2.6.9.CAN-2004-1151.patch 1143
-MD5 53fe3d26f6fc45487d69895fc07770cb files/ck-sources-2.6.9.binfmt_elf.patch 2350
-MD5 8812f60b8d02b0b3b4c46a3311ddd851 files/ck-sources-2.6.9.smbfs.patch 2662
-MD5 001b0a631c9fc28133013a1f8f78f74c files/ck-sources-2.6.9.CAN-2004-1056.patch 8458
 MD5 8c35751caf824a9dacb02e80d6189b2e files/ck-sources-2.4.28.CAN-2004-1137.patch 1764
-MD5 b0a1f80aff51d6601e8924329023b241 files/ck-sources.AF_UNIX.patch 515
+MD5 001b0a631c9fc28133013a1f8f78f74c files/ck-sources-2.6.10.CAN-2004-1056.patch 8458
 MD5 6aa8f7a7c2d55734389b53d3bcf78570 files/ck-sources-2.4.28.CAN-2004-1016.patch 2835
-MD5 530630d25910e6bd9376b63ea099655f files/ck-sources-2.6.9.AF_UNIX.patch 469
-MD5 42b42f2a4f260fad2fef264b82aff2ae files/ck-sources-2.6.9.vma.patch 8952
 MD5 d1ccc2047be533c992f67270a150a210 files/ck-sources-2.4.28.cmdlineLeak.patch 388
-MD5 025c80544aef14ce3a49024d791c5596 files/ck-sources-2.6.9.binfmt_a.out.patch 1763
-MD5 7f0579764a55a43256ce069632e0373e files/digest-ck-sources-2.6.9-r3 129
 MD5 c27699e9d62f7d46213bd51f87636163 files/ck-sources-2.4.28.vma.patch 8143
 MD5 55eb417b53b98efb6e89557bbf35e51b files/digest-ck-sources-2.4.28-r1 214
 MD5 79a76d3cb0029b85d4303b0019e788a8 files/ck-sources-2.4.28.compileFix.patch 2070
-MD5 4d656fa3f3a47df751c0d78b64ed8353 files/ck-sources-2.6.9.AF_UNIX.SELinux.patch 1761
-MD5 f211ff52010dfc1d94d2dcfc06636fd9 files/ck-sources-2.6.9.shmLocking.patch 1757
 MD5 b9a94233e1457787352e5f85e3e3582d files/ck-sources-2.4.28.binfmt_a.out.patch 2009
 MD5 757ee1239c3f14645ccea3640d551e11 files/ck-sources-2.4.28.CAN-2004-1056.patch 11249
-MD5 09e9f1cad6f2f28fe81682cbad8e3011 files/ck-sources-2.6.9.CAN-2004-1137.patch 2551
-MD5 6aa8f7a7c2d55734389b53d3bcf78570 files/ck-sources-2.6.9.CAN-2004-1016.patch 2835
+MD5 b16a5ef5d8bdaf351a70ca61aa0e4bc2 files/digest-ck-sources-2.6.10-r1 131
similarity index 57%
rename from sys-kernel/ck-sources/ck-sources-2.6.9-r3.ebuild
rename to sys-kernel/ck-sources/ck-sources-2.6.10-r1.ebuild
index c8b93b242c50a8637d5cccb0ebe7e68a9e13aeac..93a07f14c46696b26de6200d02fa42c380b7b423 100644 (file)
@@ -1,18 +1,9 @@
 # Copyright 1999-2004 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ck-sources-2.6.9-r3.ebuild,v 1.9 2004/12/20 20:20:39 plasmaroo Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/ck-sources/ck-sources-2.6.10-r1.ebuild,v 1.1 2004/12/25 15:59:15 dsd Exp $
 
 UNIPATCH_LIST="${DISTDIR}/patch-${KV}.bz2
-       ${FILESDIR}/${P}.binfmt_elf.patch
-       ${FILESDIR}/${P}.binfmt_a.out.patch
-       ${FILESDIR}/${P}.AF_UNIX.patch
-       ${FILESDIR}/${P}.AF_UNIX.SELinux.patch
-       ${FILESDIR}/${P}.vma.patch
-       ${FILESDIR}/${P}.CAN-2004-1016.patch
-       ${FILESDIR}/${P}.CAN-2004-1056.patch
-       ${FILESDIR}/${P}.CAN-2004-1137.patch
-       ${FILESDIR}/${P}.CAN-2004-1151.patch
-       ${FILESDIR}/${P}.shmLocking.patch"
+       ${FILESDIR}/${P}.CAN-2004-1056.patch"
 K_PREPATCHED="yes"
 UNIPATCH_STRICTORDER="yes"
 
@@ -27,4 +18,4 @@ DESCRIPTION="Full sources for the Stock Linux kernel and Con Kolivas's high perf
 HOMEPAGE="http://members.optusnet.com.au/ckolivas/kernel/"
 SRC_URI="${KERNEL_URI} http://ck.kolivas.org/patches/2.6/${KV/-ck*/}/${KV}/patch-${KV}.bz2"
 
-KEYWORDS="~x86 ~amd64"
+KEYWORDS="~x86"
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.SELinux.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.SELinux.patch
deleted file mode 100644 (file)
index dbb8b23..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
---- a/net/unix/af_unix.c       2004-10-18 22:54:37.000000000 +0100
-+++ b/net/unix/af_unix.c       2004-12-19 18:33:12.000000000 +0000
-@@ -477,6 +477,8 @@
-                             struct msghdr *, size_t, int);
- static int unix_dgram_connect(struct socket *, struct sockaddr *,
-                             int, int);
-+static int unix_seqpacket_sendmsg(struct kiocb *, struct socket *,
-+                                struct msghdr *, size_t);
- 
- static struct proto_ops unix_stream_ops = {
-       .family =       PF_UNIX,
-@@ -535,7 +537,7 @@
-       .shutdown =     unix_shutdown,
-       .setsockopt =   sock_no_setsockopt,
-       .getsockopt =   sock_no_getsockopt,
--      .sendmsg =      unix_dgram_sendmsg,
-+      .sendmsg =      unix_seqpacket_sendmsg,
-       .recvmsg =      unix_dgram_recvmsg,
-       .mmap =         sock_no_mmap,
-       .sendpage =     sock_no_sendpage,
-@@ -1365,9 +1367,11 @@
-       if (other->sk_shutdown & RCV_SHUTDOWN)
-               goto out_unlock;
- 
--      err = security_unix_may_send(sk->sk_socket, other->sk_socket);
--      if (err)
--              goto out_unlock;
-+      if (sk->sk_type != SOCK_SEQPACKET) {
-+              err = security_unix_may_send(sk->sk_socket, other->sk_socket);
-+              if (err)
-+                      goto out_unlock;
-+      }
- 
-       if (unix_peer(other) != sk &&
-           (skb_queue_len(&other->sk_receive_queue) >
-@@ -1517,6 +1521,25 @@
-       return sent ? : err;
- }
- 
-+static int unix_seqpacket_sendmsg(struct kiocb *kiocb, struct socket *sock,
-+                                struct msghdr *msg, size_t len)
-+{
-+      int err;
-+      struct sock *sk = sock->sk;
-+      
-+      err = sock_error(sk);
-+      if (err)
-+              return err;
-+
-+      if (sk->sk_state != TCP_ESTABLISHED)
-+              return -ENOTCONN;
-+
-+      if (msg->msg_namelen)
-+              msg->msg_namelen = 0;
-+
-+      return unix_dgram_sendmsg(kiocb, sock, msg, len);
-+}
-+                                                                                            
- static void unix_copy_addr(struct msghdr *msg, struct sock *sk)
- {
-       struct unix_sock *u = unix_sk(sk);
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.AF_UNIX.patch
deleted file mode 100644 (file)
index a95e94f..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- linux-2.6.9/net/unix/af_unix.c     2004-11-24 08:23:21 -08:00
-+++ linux-2.6.9.plasmaroo/net/unix/af_unix.c   2004-11-24 08:23:21 -08:00
-@@ -1535,9 +1535,11 @@
- 
-       msg->msg_namelen = 0;
- 
-+      down(&u->readsem);
-+
-       skb = skb_recv_datagram(sk, flags, noblock, &err);
-       if (!skb)
--              goto out;
-+              goto out_unlock;
- 
-       wake_up_interruptible(&u->peer_wait);
- 
-@@ -1587,6 +1589,8 @@
- 
- out_free:
-       skb_free_datagram(sk,skb);
-+out_unlock:
-+      up(&u->readsem);
- out:
-       return err;
- }
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1016.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1016.patch
deleted file mode 100644 (file)
index aa25ac9..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-===== include/linux/socket.h 1.12 vs edited =====
---- 1.12/include/linux/socket.h        2004-09-09 06:40:01 +10:00
-+++ edited/include/linux/socket.h      2004-11-27 11:53:40 +11:00
-@@ -90,6 +90,10 @@
-                                 (struct cmsghdr *)(ctl) : \
-                                 (struct cmsghdr *)NULL)
- #define CMSG_FIRSTHDR(msg)    __CMSG_FIRSTHDR((msg)->msg_control, (msg)->msg_controllen)
-+#define CMSG_OK(mhdr, cmsg) ((cmsg)->cmsg_len >= sizeof(struct cmsghdr) && \
-+                           (cmsg)->cmsg_len <= (unsigned long) \
-+                           ((mhdr)->msg_controllen - \
-+                            ((char *)(cmsg) - (char *)(mhdr)->msg_control)))
- 
- /*
-  *    This mess will go away with glibc
-===== net/core/scm.c 1.10 vs edited =====
---- 1.10/net/core/scm.c        2004-05-31 05:08:14 +10:00
-+++ edited/net/core/scm.c      2004-11-27 11:48:55 +11:00
-@@ -127,9 +127,7 @@
-                  for too short ancillary data object at all! Oops.
-                  OK, let's add it...
-                */
--              if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
--                  (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
--                                  + cmsg->cmsg_len) > msg->msg_controllen)
-+              if (!CMSG_OK(msg, cmsg))
-                       goto error;
- 
-               if (cmsg->cmsg_level != SOL_SOCKET)
-===== net/ipv4/ip_sockglue.c 1.26 vs edited =====
---- 1.26/net/ipv4/ip_sockglue.c        2004-07-01 06:10:53 +10:00
-+++ edited/net/ipv4/ip_sockglue.c      2004-11-27 11:49:45 +11:00
-@@ -146,11 +146,8 @@
-       struct cmsghdr *cmsg;
- 
-       for (cmsg = CMSG_FIRSTHDR(msg); cmsg; cmsg = CMSG_NXTHDR(msg, cmsg)) {
--              if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
--                  (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
--                                  + cmsg->cmsg_len) > msg->msg_controllen) {
-+              if (!CMSG_OK(msg, cmsg))
-                       return -EINVAL;
--              }
-               if (cmsg->cmsg_level != SOL_IP)
-                       continue;
-               switch (cmsg->cmsg_type) {
-===== net/ipv6/datagram.c 1.20 vs edited =====
---- 1.20/net/ipv6/datagram.c   2004-11-10 17:57:03 +11:00
-+++ edited/net/ipv6/datagram.c 2004-11-27 11:51:15 +11:00
-@@ -427,9 +427,7 @@
-               int addr_type;
-               struct net_device *dev = NULL;
- 
--              if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
--                  (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
--                                  + cmsg->cmsg_len) > msg->msg_controllen) {
-+              if (!CMSG_OK(msg, cmsg)) {
-                       err = -EINVAL;
-                       goto exit_f;
-               }
-===== net/sctp/socket.c 1.129 vs edited =====
---- 1.129/net/sctp/socket.c    2004-11-19 08:43:18 +11:00
-+++ edited/net/sctp/socket.c   2004-11-27 11:52:11 +11:00
-@@ -4098,12 +4098,8 @@
-       for (cmsg = CMSG_FIRSTHDR(msg);
-            cmsg != NULL;
-            cmsg = CMSG_NXTHDR((struct msghdr*)msg, cmsg)) {
--              /* Check for minimum length.  The SCM code has this check.  */
--              if (cmsg->cmsg_len < sizeof(struct cmsghdr) ||
--                  (unsigned long)(((char*)cmsg - (char*)msg->msg_control)
--                                  + cmsg->cmsg_len) > msg->msg_controllen) {
-+              if (!CMSG_OK(msg, cmsg))
-                       return -EINVAL;
--              }
- 
-               /* Should we parse this header or ignore?  */
-               if (cmsg->cmsg_level != IPPROTO_SCTP)
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1137.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1137.patch
deleted file mode 100644 (file)
index 0a54680..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-# ChangeSet
-#   2004/12/14 11:06:25-08:00 chrisw@osdl.org 
-#   [IPV4/IPV6]: IGMP source filter fixes
-#   
-#   When adding or deleting from the source list make sure to find matches
-#   by comparing against the new source address, not the group address.
-#   Also, check each addr in the list rather than just the first one.
-#   And, finally, only delete from list when there's a match rather than
-#   vice-versa.  Drop the effort to keep list sorted, since it's not done
-#   on full-state api and can create an sl_addr entry that the delta api
-#   won't be able to delete. Without these fixes sl_count can be corrupted
-#   which can allow for kernel memory corruption.
-#   
-#   Signed-off-by: Chris Wright <chrisw@osdl.org>
-#   Signed-off-by: David S. Miller <davem@davemloft.net>
-# 
-diff -Nru a/net/ipv4/igmp.c b/net/ipv4/igmp.c
---- a/net/ipv4/igmp.c  2004-12-20 11:32:15 -08:00
-+++ b/net/ipv4/igmp.c  2004-12-20 11:32:15 -08:00
-@@ -1778,12 +1778,12 @@
-                       goto done;
-               rv = !0;
-               for (i=0; i<psl->sl_count; i++) {
--                      rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr,
-+                      rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr,
-                               sizeof(__u32));
--                      if (rv >= 0)
-+                      if (rv == 0)
-                               break;
-               }
--              if (!rv)        /* source not found */
-+              if (rv)         /* source not found */
-                       goto done;
- 
-               /* update the interface filter */
-@@ -1825,9 +1825,9 @@
-       }
-       rv = 1; /* > 0 for insert logic below if sl_count is 0 */
-       for (i=0; i<psl->sl_count; i++) {
--              rv = memcmp(&psl->sl_addr, &mreqs->imr_multiaddr,
-+              rv = memcmp(&psl->sl_addr[i], &mreqs->imr_sourceaddr,
-                       sizeof(__u32));
--              if (rv >= 0)
-+              if (rv == 0)
-                       break;
-       }
-       if (rv == 0)            /* address already there is an error */
-diff -Nru a/net/ipv6/mcast.c b/net/ipv6/mcast.c
---- a/net/ipv6/mcast.c 2004-12-20 11:32:15 -08:00
-+++ b/net/ipv6/mcast.c 2004-12-20 11:32:15 -08:00
-@@ -391,12 +391,12 @@
-                       goto done;
-               rv = !0;
-               for (i=0; i<psl->sl_count; i++) {
--                      rv = memcmp(&psl->sl_addr, group,
-+                      rv = memcmp(&psl->sl_addr[i], source,
-                               sizeof(struct in6_addr));
--                      if (rv >= 0)
-+                      if (rv == 0)
-                               break;
-               }
--              if (!rv)        /* source not found */
-+              if (rv)         /* source not found */
-                       goto done;
- 
-               /* update the interface filter */
-@@ -437,8 +437,8 @@
-       }
-       rv = 1; /* > 0 for insert logic below if sl_count is 0 */
-       for (i=0; i<psl->sl_count; i++) {
--              rv = memcmp(&psl->sl_addr, group, sizeof(struct in6_addr));
--              if (rv >= 0)
-+              rv = memcmp(&psl->sl_addr[i], source, sizeof(struct in6_addr));
-+              if (rv == 0)
-                       break;
-       }
-       if (rv == 0)            /* address already there is an error */
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1151.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.CAN-2004-1151.patch
deleted file mode 100644 (file)
index fc4289e..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
---- 1.74/arch/x86_64/ia32/sys_ia32.c   2004-12-19 10:58:02 -08:00
-+++ 1.75/arch/x86_64/ia32/sys_ia32.c   2004-12-19 10:58:02 -08:00
-@@ -525,11 +525,12 @@
- int sys32_ni_syscall(int call)
- { 
-       struct task_struct *me = current;
--      static char lastcomm[8];
--      if (strcmp(lastcomm, me->comm)) {
--      printk(KERN_INFO "IA32 syscall %d from %s not implemented\n", call,
--             current->comm);
--              strcpy(lastcomm, me->comm); 
-+      static char lastcomm[sizeof(me->comm)];
-+
-+      if (strncmp(lastcomm, me->comm, sizeof(lastcomm))) {
-+              printk(KERN_INFO "IA32 syscall %d from %s not implemented\n",
-+                     call, me->comm);
-+              strncpy(lastcomm, me->comm, sizeof(lastcomm));
-       } 
-       return -ENOSYS;        
- } 
-@@ -1125,11 +1126,11 @@
- long sys32_vm86_warning(void)
- { 
-       struct task_struct *me = current;
--      static char lastcomm[8];
--      if (strcmp(lastcomm, me->comm)) {
-+      static char lastcomm[sizeof(me->comm)];
-+      if (strncmp(lastcomm, me->comm, sizeof(lastcomm))) {
-               printk(KERN_INFO "%s: vm86 mode not supported on 64 bit kernel\n",
-                      me->comm);
--              strcpy(lastcomm, me->comm); 
-+              strncpy(lastcomm, me->comm, sizeof(lastcomm));
-       } 
-       return -ENOSYS;
- } 
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_a.out.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_a.out.patch
deleted file mode 100644 (file)
index 89665ce..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-diff -Nru linux-2.6.9/fs/exec.c linux-2.6.9.plasmaroo/fs/exec.c
---- linux-2.6.9/fs/exec.c      2004-11-27 08:30:03 -08:00
-+++ linux-2.6.9.plasmaroo/fs/exec.c    2004-11-27 08:30:03 -08:00
-@@ -413,6 +413,7 @@
- 
-       down_write(&mm->mmap_sem);
-       {
-+              struct vm_area_struct *vma;
-               mpnt->vm_mm = mm;
- #ifdef CONFIG_STACK_GROWSUP
-               mpnt->vm_start = stack_base;
-@@ -433,6 +434,12 @@
-                       mpnt->vm_flags = VM_STACK_FLAGS;
-               mpnt->vm_flags |= mm->def_flags;
-               mpnt->vm_page_prot = protection_map[mpnt->vm_flags & 0x7];
-+              vma = find_vma(mm, mpnt->vm_start);
-+              if (vma) {
-+                      up_write(&mm->mmap_sem);
-+                      kmem_cache_free(vm_area_cachep, mpnt);
-+                      return -ENOMEM;
-+              }
-               insert_vm_struct(mm, mpnt);
-               mm->stack_vm = mm->total_vm = vma_pages(mpnt);
-       }
-diff -Nru linux-2.6.9/fs/binfmt_aout.c linux-2.6.9.plasmaroo/fs/binfmt_aout.c
---- linux-2.6.9/fs/binfmt_aout.c       2004-11-27 08:31:43 -08:00
-+++ linux-2.6.9.plasmaroo/fs/binfmt_aout.c     2004-11-27 08:31:43 -08:00
-@@ -43,13 +43,18 @@
-       .min_coredump   = PAGE_SIZE
- };
- 
--static void set_brk(unsigned long start, unsigned long end)
-+#define BAD_ADDR(x)   ((unsigned long)(x) >= TASK_SIZE)
-+
-+static int set_brk(unsigned long start, unsigned long end)
- {
-       start = PAGE_ALIGN(start);
-       end = PAGE_ALIGN(end);
--      if (end <= start)
--              return;
--      do_brk(start, end - start);
-+      if (end > start) {
-+              unsigned long addr = do_brk(start, end - start);
-+              if (BAD_ADDR(addr))
-+                      return addr;
-+      }
-+      return 0;
- }
- 
- /*
-@@ -413,7 +418,11 @@
- beyond_if:
-       set_binfmt(&aout_format);
- 
--      set_brk(current->mm->start_brk, current->mm->brk);
-+      retval = set_brk(current->mm->start_brk, current->mm->brk);
-+      if (retval < 0) {
-+              send_sig(SIGKILL, current, 0);
-+              return retval;
-+      }
- 
-       retval = setup_arg_pages(bprm, EXSTACK_DEFAULT);
-       if (retval < 0) { 
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_elf.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.binfmt_elf.patch
deleted file mode 100644 (file)
index a836201..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-diff -ur linux-2.6.9/fs/binfmt_elf.c linux-2.6.9.plasmaroo/fs/binfmt_elf.c
---- linux-2.6.9/fs/binfmt_elf.c        2004-10-24 14:58:48.000000000 +0100
-+++ linux-2.6.9.plasmaroo/fs/binfmt_elf.c      2004-11-19 20:11:36.000000000 +0000
-@@ -335,9 +335,12 @@
-               goto out;
- 
-       retval = kernel_read(interpreter,interp_elf_ex->e_phoff,(char *)elf_phdata,size);
--      error = retval;
--      if (retval < 0)
-+      error = -EIO;
-+      if (retval != size) {
-+              if (retval < 0)
-+                      error = retval; 
-               goto out_close;
-+      }
- 
-       eppnt = elf_phdata;
-       for (i=0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
-@@ -532,8 +535,11 @@
-               goto out;
- 
-       retval = kernel_read(bprm->file, loc->elf_ex.e_phoff, (char *) elf_phdata, size);
--      if (retval < 0)
-+      if (retval != size) {
-+              if (retval >= 0)
-+                      retval = -EIO;
-               goto out_free_ph;
-+      }
- 
-       files = current->files;         /* Refcounted so ok */
-       retval = unshare_files();
-@@ -570,7 +576,8 @@
-                        */
- 
-                       retval = -ENOMEM;
--                      if (elf_ppnt->p_filesz > PATH_MAX)
-+                      if (elf_ppnt->p_filesz > PATH_MAX || 
-+                          elf_ppnt->p_filesz == 0)
-                               goto out_free_file;
-                       elf_interpreter = (char *) kmalloc(elf_ppnt->p_filesz,
-                                                          GFP_KERNEL);
-@@ -580,8 +587,16 @@
-                       retval = kernel_read(bprm->file, elf_ppnt->p_offset,
-                                          elf_interpreter,
-                                          elf_ppnt->p_filesz);
--                      if (retval < 0)
-+                      if (retval != elf_ppnt->p_filesz) {
-+                              if (retval >= 0)
-+                                      retval = -EIO;
-                               goto out_free_interp;
-+                      }
-+                      /* make sure path is NULL terminated */
-+                      retval = -EINVAL;
-+                      if (elf_interpreter[elf_ppnt->p_filesz - 1] != '\0')
-+                              goto out_free_interp;
-+
-                       /* If the program interpreter is one of these two,
-                        * then assume an iBCS2 image. Otherwise assume
-                        * a native linux image.
-@@ -616,8 +631,11 @@
-                       if (IS_ERR(interpreter))
-                               goto out_free_interp;
-                       retval = kernel_read(interpreter, 0, bprm->buf, BINPRM_BUF_SIZE);
--                      if (retval < 0)
-+                      if (retval != BINPRM_BUF_SIZE) {
-+                              if (retval >= 0)
-+                                      retval = -EIO;
-                               goto out_free_dentry;
-+                      }
- 
-                       /* Get the exec headers */
-                       loc->interp_ex = *((struct exec *) bprm->buf);
-@@ -776,8 +794,10 @@
-               }
- 
-               error = elf_map(bprm->file, load_bias + vaddr, elf_ppnt, elf_prot, elf_flags);
--              if (BAD_ADDR(error))
--                      continue;
-+              if (BAD_ADDR(error)) {
-+                      send_sig(SIGKILL, current, 0);
-+                      goto out_free_dentry;
-+              }
- 
-               if (!load_addr_set) {
-                       load_addr_set = 1;
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.shmLocking.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.shmLocking.patch
deleted file mode 100644 (file)
index 66e4520..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2004/12/13 08:30:17-08:00 hugh@veritas.com 
-#   [PATCH] shmctl SHM_LOCK perms
-#   
-#   Michael Kerrisk has observed that at present any process can SHM_LOCK any
-#   shm segment of size within process RLIMIT_MEMLOCK, despite having no
-#   permissions on the segment: surprising, though not obviously evil.  And any
-#   process can SHM_UNLOCK any shm segment, despite no permissions on it: that
-#   is surely wrong.
-#   
-#   Unless CAP_IPC_LOCK, restrict both SHM_LOCK and SHM_UNLOCK to when the
-#   process euid matches the shm owner or creator: that seems the least
-#   surprising behaviour, which could be relaxed if a need appears later.
-#   
-#   Signed-off-by: Hugh Dickins <hugh@veritas.com>
-#   Signed-off-by: Andrew Morton <akpm@osdl.org>
-#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-# 
-# ipc/shm.c
-#   2004/12/13 02:47:27-08:00 hugh@veritas.com +10 -5
-#   shmctl SHM_LOCK perms
-# 
-diff -Nru a/ipc/shm.c b/ipc/shm.c
---- a/ipc/shm.c        2004-12-20 10:32:59 -08:00
-+++ b/ipc/shm.c        2004-12-20 10:32:59 -08:00
-@@ -511,11 +511,6 @@
-       case SHM_LOCK:
-       case SHM_UNLOCK:
-       {
--              /* Allow superuser to lock segment in memory */
--              if (!can_do_mlock() && cmd == SHM_LOCK) {
--                      err = -EPERM;
--                      goto out;
--              }
-               shp = shm_lock(shmid);
-               if(shp==NULL) {
-                       err = -EINVAL;
-@@ -524,6 +519,16 @@
-               err = shm_checkid(shp,shmid);
-               if(err)
-                       goto out_unlock;
-+
-+              if (!capable(CAP_IPC_LOCK)) {
-+                      err = -EPERM;
-+                      if (current->euid != shp->shm_perm.uid &&
-+                          current->euid != shp->shm_perm.cuid)
-+                              goto out_unlock;
-+                      if (cmd == SHM_LOCK &&
-+                          !current->rlim[RLIMIT_MEMLOCK].rlim_cur)
-+                              goto out_unlock;
-+              }
- 
-               err = security_shm_shmctl(shp, cmd);
-               if (err)
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.smbfs.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.smbfs.patch
deleted file mode 100644 (file)
index f10cfed..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-diff -urN linux-2.6.8.1/fs/smbfs/proc.c linux-2.6.8.1.plasmaroo/fs/smbfs/proc.c
---- linux-2.6.8.1/fs/smbfs/proc.c      2004-08-24 17:15:57.000000000 +1000
-+++ linux-2.6.8.1.plasmaroo/fs/smbfs/proc.c    2004-11-06 11:27:20.000000000 +1100
-@@ -1427,9 +1427,9 @@
-        * So we must first calculate the amount of padding used by the server.
-        */
-       data_off -= hdrlen;
--      if (data_off > SMB_READX_MAX_PAD) {
--              PARANOIA("offset is larger than max pad!\n");
--              PARANOIA("%d > %d\n", data_off, SMB_READX_MAX_PAD);
-+      if (data_off > SMB_READX_MAX_PAD || data_off < 0) {
-+              PARANOIA("offset is larger than SMB_READX_MAX_PAD or negative!\n");
-+              PARANOIA("%d > %d || %d < 0\n", data_off, SMB_READX_MAX_PAD, data_off);
-               req->rq_rlen = req->rq_bufsize + 1;
-               return;
-       }
-diff -urN linux-2.6.8.1/fs/smbfs/request.c linux-2.6.8.1.plasmaroo/fs/smbfs/request.c
---- linux-2.6.8.1/fs/smbfs/request.c   2004-11-06 11:27:51.000000000 +1100
-+++ linux-2.6.8.1.plasmaroo/fs/smbfs/request.c 2004-11-06 11:27:20.000000000 +1100
-@@ -588,6 +588,10 @@
-       data_count  = WVAL(inbuf, smb_drcnt);
- 
-       /* Modify offset for the split header/buffer we use */
-+      if (data_offset < hdrlen)
-+              goto out_bad_data;
-+      if (parm_offset < hdrlen)
-+              goto out_bad_parm;
-       data_offset -= hdrlen;
-       parm_offset -= hdrlen;
- 
-@@ -607,6 +611,10 @@
-               req->rq_lparm = parm_count;
-               req->rq_data = req->rq_buffer + data_offset;
-               req->rq_parm = req->rq_buffer + parm_offset;
-+              if (parm_offset + parm_count > req->rq_rlen)
-+                      goto out_bad_parm;
-+              if (data_offset + data_count > req->rq_rlen)
-+                      goto out_bad_data;
-               return 0;
-       }
-
-@@ -643,8 +652,12 @@
- 
-       if (parm_disp + parm_count > req->rq_total_parm)
-               goto out_bad_parm;
-+      if (parm_offset + parm_count > req->rq_rlen)
-+              goto out_bad_parm;
-       if (data_disp + data_count > req->rq_total_data)
-               goto out_bad_data;
-+      if (data_offset + data_count > req->rq_rlen)
-+              goto out_bad_data;
- 
-       inbuf = req->rq_buffer;
-       memcpy(req->rq_parm + parm_disp, inbuf + parm_offset, parm_count);
-@@ -676,13 +692,13 @@
-       req->rq_errno = -EIO;
-       goto out;
- out_bad_parm:
--      printk(KERN_ERR "smb_trans2: invalid parms, disp=%d, cnt=%d, tot=%d\n",
--             parm_disp, parm_count, parm_tot);
-+      printk(KERN_ERR "smb_trans2: invalid parms, disp=%d, cnt=%d, tot=%d, ofs=%d\n",
-+             parm_disp, parm_count, parm_tot, parm_offset);
-       req->rq_errno = -EIO;
-       goto out;
- out_bad_data:
--      printk(KERN_ERR "smb_trans2: invalid data, disp=%d, cnt=%d, tot=%d\n",
--             data_disp, data_count, data_tot);
-+      printk(KERN_ERR "smb_trans2: invalid data, disp=%d, cnt=%d, tot=%d, ofs=%d\n",
-+             data_disp, data_count, data_tot, data_offset);
-       req->rq_errno = -EIO;
- out:
-       return req->rq_errno;
diff --git a/sys-kernel/ck-sources/files/ck-sources-2.6.9.vma.patch b/sys-kernel/ck-sources/files/ck-sources-2.6.9.vma.patch
deleted file mode 100644 (file)
index a335bfc..0000000
+++ /dev/null
@@ -1,268 +0,0 @@
-# This is a BitKeeper generated diff -Nru style patch.
-#
-# ChangeSet
-#   2004/11/25 16:00:28-08:00 nanhai.zou@intel.com 
-#   [PATCH] ia64/x86_64/s390 overlapping vma fix
-#   
-#   IA64 is also vulnerable to the huge-vma-in-executable bug in 64 bit elf
-#   support, it just insert a vma of zero page without checking overlap, so user
-#   can construct a elf with section begin from 0x0 to trigger this BUGON().
-#   
-#   However, I think it's safe to check overlap before we actually insert a vma
-#   into vma list.  And I also feel check vma overlap everywhere is unnecessary,
-#   because invert_vm_struct will check it again, so the check is duplicated.
-#   It's better to have invert_vm_struct return a value then let caller check if
-#   it successes.  Here is a patch against 2.6.10.rc2-mm3 I have tested it on
-#   i386, x86_64 and ia64 machines.
-#   
-#   Signed-off-by: Tony Luck <tony.luck@intel.com>
-#   Signed-off-by: Zou Nan hai <Nanhai.zou@intel.com>
-#   Signed-off-by: Andrew Morton <akpm@osdl.org>
-#   Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-# 
-# arch/ia64/ia32/binfmt_elf32.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +21 -5
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# arch/ia64/mm/init.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +14 -2
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# arch/s390/kernel/compat_exec.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +6 -2
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# arch/x86_64/ia32/ia32_binfmt.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +6 -2
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# fs/exec.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +3 -6
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# include/linux/mm.h
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +1 -1
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-# mm/mmap.c
-#   2004/11/24 22:42:43-08:00 nanhai.zou@intel.com +3 -2
-#   ia64/x86_64/s390 overlapping vma fix
-# 
-diff -Nru a/arch/ia64/ia32/binfmt_elf32.c b/arch/ia64/ia32/binfmt_elf32.c
---- a/arch/ia64/ia32/binfmt_elf32.c    2004-12-03 12:01:20 -08:00
-+++ b/arch/ia64/ia32/binfmt_elf32.c    2004-12-03 12:01:20 -08:00
-@@ -100,7 +100,11 @@
-               vma->vm_ops = &ia32_shared_page_vm_ops;
-               down_write(&current->mm->mmap_sem);
-               {
--                      insert_vm_struct(current->mm, vma);
-+                      if (insert_vm_struct(current->mm, vma)) {
-+                              kmem_cache_free(vm_area_cachep, vma);
-+                              up_write(&current->mm->mmap_sem);
-+                              return;
-+                      }
-               }
-               up_write(&current->mm->mmap_sem);
-       }
-@@ -123,7 +127,11 @@
-               vma->vm_ops = &ia32_gate_page_vm_ops;
-               down_write(&current->mm->mmap_sem);
-               {
--                      insert_vm_struct(current->mm, vma);
-+                      if (insert_vm_struct(current->mm, vma)) {
-+                              kmem_cache_free(vm_area_cachep, vma);
-+                              up_write(&current->mm->mmap_sem);
-+                              return;
-+                      }
-               }
-               up_write(&current->mm->mmap_sem);
-       }
-@@ -142,7 +150,11 @@
-               vma->vm_flags = VM_READ|VM_WRITE|VM_MAYREAD|VM_MAYWRITE;
-               down_write(&current->mm->mmap_sem);
-               {
--                      insert_vm_struct(current->mm, vma);
-+                      if (insert_vm_struct(current->mm, vma)) {
-+                              kmem_cache_free(vm_area_cachep, vma);
-+                              up_write(&current->mm->mmap_sem);
-+                              return;
-+                      }
-               }
-               up_write(&current->mm->mmap_sem);
-       }
-@@ -190,7 +202,7 @@
-       unsigned long stack_base;
-       struct vm_area_struct *mpnt;
-       struct mm_struct *mm = current->mm;
--      int i;
-+      int i, ret;
- 
-       stack_base = IA32_STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE;
-       mm->arg_start = bprm->p + stack_base;
-@@ -225,7 +237,11 @@
-                       mpnt->vm_flags = VM_STACK_FLAGS;
-               mpnt->vm_page_prot = (mpnt->vm_flags & VM_EXEC)?
-                                       PAGE_COPY_EXEC: PAGE_COPY;
--              insert_vm_struct(current->mm, mpnt);
-+              if ((ret = insert_vm_struct(current->mm, mpnt))) {
-+                      up_write(&current->mm->mmap_sem);
-+                      kmem_cache_free(vm_area_cachep, mpnt);
-+                      return ret;
-+              }
-               current->mm->stack_vm = current->mm->total_vm = vma_pages(mpnt);
-       }
- 
-diff -Nru a/arch/ia64/mm/init.c b/arch/ia64/mm/init.c
---- a/arch/ia64/mm/init.c      2004-12-03 12:01:20 -08:00
-+++ b/arch/ia64/mm/init.c      2004-12-03 12:01:20 -08:00
-@@ -131,7 +131,13 @@
-               vma->vm_end = vma->vm_start + PAGE_SIZE;
-               vma->vm_page_prot = protection_map[VM_DATA_DEFAULT_FLAGS & 0x7];
-               vma->vm_flags = VM_DATA_DEFAULT_FLAGS | VM_GROWSUP;
--              insert_vm_struct(current->mm, vma);
-+              down_write(&current->mm->mmap_sem);
-+              if (insert_vm_struct(current->mm, vma)) {
-+                      up_write(&current->mm->mmap_sem);
-+                      kmem_cache_free(vm_area_cachep, vma);
-+                      return;
-+              }
-+              up_write(&current->mm->mmap_sem);
-       }
- 
-       /* map NaT-page at address zero to speed up speculative dereferencing of NULL: */
-@@ -143,7 +149,13 @@
-                       vma->vm_end = PAGE_SIZE;
-                       vma->vm_page_prot = __pgprot(pgprot_val(PAGE_READONLY) | _PAGE_MA_NAT);
-                       vma->vm_flags = VM_READ | VM_MAYREAD | VM_IO | VM_RESERVED;
--                      insert_vm_struct(current->mm, vma);
-+                      down_write(&current->mm->mmap_sem);
-+                      if (insert_vm_struct(current->mm, vma)) {
-+                              up_write(&current->mm->mmap_sem);
-+                              kmem_cache_free(vm_area_cachep, vma);
-+                              return;
-+                      }
-+                      up_write(&current->mm->mmap_sem);
-               }
-       }
- }
-diff -Nru a/arch/s390/kernel/compat_exec.c b/arch/s390/kernel/compat_exec.c
---- a/arch/s390/kernel/compat_exec.c   2004-12-03 12:01:20 -08:00
-+++ b/arch/s390/kernel/compat_exec.c   2004-12-03 12:01:20 -08:00
-@@ -39,7 +39,7 @@
-       unsigned long stack_base;
-       struct vm_area_struct *mpnt;
-       struct mm_struct *mm = current->mm;
--      int i;
-+      int i, ret;
- 
-       stack_base = STACK_TOP - MAX_ARG_PAGES*PAGE_SIZE;
-       mm->arg_start = bprm->p + stack_base;
-@@ -68,7 +68,11 @@
-               /* executable stack setting would be applied here */
-               mpnt->vm_page_prot = PAGE_COPY;
-               mpnt->vm_flags = VM_STACK_FLAGS;
--              insert_vm_struct(mm, mpnt);
-+              if ((ret = insert_vm_struct(mm, mpnt))) {
-+                      up_write(&mm->mmap_sem);
-+                      kmem_cache_free(vm_area_cachep, mpnt);
-+                      return ret;
-+              }
-               mm->stack_vm = mm->total_vm = vma_pages(mpnt);
-       } 
- 
-diff -Nru a/arch/x86_64/ia32/ia32_binfmt.c b/arch/x86_64/ia32/ia32_binfmt.c
---- a/arch/x86_64/ia32/ia32_binfmt.c   2004-12-03 12:01:20 -08:00
-+++ b/arch/x86_64/ia32/ia32_binfmt.c   2004-12-03 12:01:20 -08:00
-@@ -334,7 +334,7 @@
-       unsigned long stack_base;
-       struct vm_area_struct *mpnt;
-       struct mm_struct *mm = current->mm;
--      int i;
-+      int i, ret;
- 
-       stack_base = IA32_STACK_TOP - MAX_ARG_PAGES * PAGE_SIZE;
-       mm->arg_start = bprm->p + stack_base;
-@@ -368,7 +368,11 @@
-                       mpnt->vm_flags = VM_STACK_FLAGS;
-               mpnt->vm_page_prot = (mpnt->vm_flags & VM_EXEC) ? 
-                       PAGE_COPY_EXEC : PAGE_COPY;
--              insert_vm_struct(mm, mpnt);
-+              if ((ret = insert_vm_struct(mm, mpnt))) {
-+                      up_write(&mm->mmap_sem);
-+                      kmem_cache_free(vm_area_cachep, mpnt);
-+                      return ret;
-+              }
-               mm->stack_vm = mm->total_vm = vma_pages(mpnt);
-       } 
- 
-diff -Nru a/fs/exec.c b/fs/exec.c
---- a/fs/exec.c        2004-12-03 12:01:20 -08:00
-+++ b/fs/exec.c        2004-12-03 12:01:20 -08:00
-@@ -342,7 +342,7 @@
-       unsigned long stack_base;
-       struct vm_area_struct *mpnt;
-       struct mm_struct *mm = current->mm;
--      int i;
-+      int i, ret;
-       long arg_size;
- 
- #ifdef CONFIG_STACK_GROWSUP
-@@ -413,7 +413,6 @@
- 
-       down_write(&mm->mmap_sem);
-       {
--              struct vm_area_struct *vma;
-               mpnt->vm_mm = mm;
- #ifdef CONFIG_STACK_GROWSUP
-               mpnt->vm_start = stack_base;
-@@ -434,13 +433,11 @@
-                       mpnt->vm_flags = VM_STACK_FLAGS;
-               mpnt->vm_flags |= mm->def_flags;
-               mpnt->vm_page_prot = protection_map[mpnt->vm_flags & 0x7];
--              vma = find_vma(mm, mpnt->vm_start);
--              if (vma) {
-+              if ((ret = insert_vm_struct(mm, mpnt))) {
-                       up_write(&mm->mmap_sem);
-                       kmem_cache_free(vm_area_cachep, mpnt);
--                      return -ENOMEM;
-+                      return ret;
-               }
--              insert_vm_struct(mm, mpnt);
-               mm->stack_vm = mm->total_vm = vma_pages(mpnt);
-       }
- 
-diff -Nru a/include/linux/mm.h b/include/linux/mm.h
---- a/include/linux/mm.h       2004-12-03 12:01:20 -08:00
-+++ b/include/linux/mm.h       2004-12-03 12:01:20 -08:00
-@@ -675,7 +675,7 @@
- extern struct anon_vma *find_mergeable_anon_vma(struct vm_area_struct *);
- extern int split_vma(struct mm_struct *,
-       struct vm_area_struct *, unsigned long addr, int new_below);
--extern void insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
-+extern int insert_vm_struct(struct mm_struct *, struct vm_area_struct *);
- extern void __vma_link_rb(struct mm_struct *, struct vm_area_struct *,
-       struct rb_node **, struct rb_node *);
- extern struct vm_area_struct *copy_vma(struct vm_area_struct **,
-diff -Nru a/mm/mmap.c b/mm/mmap.c
---- a/mm/mmap.c        2004-12-03 12:01:20 -08:00
-+++ b/mm/mmap.c        2004-12-03 12:01:20 -08:00
-@@ -1871,7 +1871,7 @@
-  * and into the inode's i_mmap tree.  If vm_file is non-NULL
-  * then i_mmap_lock is taken here.
-  */
--void insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
-+int insert_vm_struct(struct mm_struct * mm, struct vm_area_struct * vma)
- {
-       struct vm_area_struct * __vma, * prev;
-       struct rb_node ** rb_link, * rb_parent;
-@@ -1894,8 +1894,9 @@
-       }
-       __vma = find_vma_prepare(mm,vma->vm_start,&prev,&rb_link,&rb_parent);
-       if (__vma && __vma->vm_start < vma->vm_end)
--              BUG();
-+              return -ENOMEM;
-       vma_link(mm, vma, prev, rb_link, rb_parent);
-+      return 0;
- }
- 
- /*
diff --git a/sys-kernel/ck-sources/files/ck-sources.AF_UNIX.patch b/sys-kernel/ck-sources/files/ck-sources.AF_UNIX.patch
deleted file mode 100644 (file)
index 6ced784..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
---- linux-2.4.27/net/unix/af_unix.c    2004-11-24 08:23:21 -08:00
-+++ linux-2.4.28/net/unix/af_unix.c    2004-11-24 08:23:21 -08:00
-@@ -1403,9 +1403,11 @@
- 
-       msg->msg_namelen = 0;
- 
-+      down(&sk->protinfo.af_unix.readsem);
-+
-       skb = skb_recv_datagram(sk, flags, noblock, &err);
-       if (!skb)
--              goto out;
-+              goto out_unlock;
- 
-       wake_up_interruptible(&sk->protinfo.af_unix.peer_wait);
- 
-@@ -1449,6 +1451,8 @@
- 
- out_free:
-       skb_free_datagram(sk,skb);
-+out_unlock:
-+      up(&sk->protinfo.af_unix.readsem);
- out:
-       return err;
- }
diff --git a/sys-kernel/ck-sources/files/digest-ck-sources-2.6.10-r1 b/sys-kernel/ck-sources/files/digest-ck-sources-2.6.10-r1
new file mode 100644 (file)
index 0000000..7b37d33
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 cffcd2919d9c8ef793ce1ac07a440eda linux-2.6.10.tar.bz2 36533484
+MD5 0435b10fd9ac396601fa6732d7521f11 patch-2.6.10-ck1.bz2 33017
diff --git a/sys-kernel/ck-sources/files/digest-ck-sources-2.6.9-r3 b/sys-kernel/ck-sources/files/digest-ck-sources-2.6.9-r3
deleted file mode 100644 (file)
index a7477ce..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-MD5 e921200f074ca97184e150ef5a4af825 linux-2.6.9.tar.bz2 36261440
-MD5 b22c946207ad504d511756043929c6ac patch-2.6.9-ck3.bz2 47987