diff options
author | Tim Yamin <plasmaroo@gentoo.org> | 2005-04-13 19:47:10 +0000 |
---|---|---|
committer | Tim Yamin <plasmaroo@gentoo.org> | 2005-04-13 19:47:10 +0000 |
commit | f9e19ee3ff34b5c1c4ac64bcd1f98df76fcc1166 (patch) | |
tree | ad2c269dc20f269c6e52b8f74b97b60b61e83809 | |
parent | Fix mm/mmap.c compile errors. (diff) | |
download | historical-f9e19ee3ff34b5c1c4ac64bcd1f98df76fcc1166.tar.gz historical-f9e19ee3ff34b5c1c4ac64bcd1f98df76fcc1166.tar.bz2 historical-f9e19ee3ff34b5c1c4ac64bcd1f98df76fcc1166.zip |
Fix #87036.
Package-Manager: portage-2.0.51.19
5 files changed, 15 insertions, 166 deletions
diff --git a/sys-kernel/win4lin-sources/ChangeLog b/sys-kernel/win4lin-sources/ChangeLog index 739c9390ae8f..e5125baf836e 100644 --- a/sys-kernel/win4lin-sources/ChangeLog +++ b/sys-kernel/win4lin-sources/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog for sys-kernel/win4lin-sources # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/ChangeLog,v 1.51 2005/03/25 19:40:07 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/ChangeLog,v 1.52 2005/04/13 19:47:09 plasmaroo Exp $ + + 13 Apr 2005; <plasmaroo@gentoo.org> win4lin-sources-2.6.9-r7.ebuild, + -files/win4lin-sources-2.6.9.77094.patch, + files/win4lin-sources-2.6.9.77666.patch: + Fix #87036. *win4lin-sources-2.4.26-r13 (25 Mar 2005) diff --git a/sys-kernel/win4lin-sources/Manifest b/sys-kernel/win4lin-sources/Manifest index 1016a44a6b3c..9d21e34da2ad 100644 --- a/sys-kernel/win4lin-sources/Manifest +++ b/sys-kernel/win4lin-sources/Manifest @@ -1,17 +1,16 @@ -MD5 5e73d452ef9b26ae6716c2b88a0c253b ChangeLog 13234 -MD5 549519cb6a5929567fd10223bb0c1513 win4lin-sources-2.6.9-r7.ebuild 1924 +MD5 2b37211ac103b0aef7aeef27d3c4e6e4 ChangeLog 13407 +MD5 18e5bd406fe3197548faf877c8e44ec4 win4lin-sources-2.6.9-r7.ebuild 1894 MD5 187bdceff27270c19fbeafbab4281ae0 win4lin-sources-2.4.26-r13.ebuild 3438 MD5 608fe99985244b0445f76cee44c9ae14 metadata.xml 290 MD5 530630d25910e6bd9376b63ea099655f files/win4lin-sources-2.6.9.AF_UNIX.patch 469 MD5 6aa8f7a7c2d55734389b53d3bcf78570 files/win4lin-sources-2.4.26.CAN-2004-1016.patch 2835 MD5 7695b79187fcc27339ab62af1112ec11 files/win4lin-sources-2.6.9.74070.patch 525 MD5 2b3ddb8b8b15f8da35ade38544b57857 files/win4lin-sources-2.4.26.XDRWrapFix.patch 1499 -MD5 fa8a60de8592cd8a1a851219398e3575 files/win4lin-sources-2.6.9.77666.patch 4799 +MD5 d9bce0ed3173a1ac571834dbb8d06cdc files/win4lin-sources-2.6.9.77666.patch 4377 MD5 1efe4024e443e60db5fd9b21b22fabd2 files/win4lin-sources-2.4.26.77666.patch 1724 MD5 655251f31f0bdc85bdd0cd0280af22b7 files/win4lin-sources-2.6.9.75963.patch 979 MD5 4d656fa3f3a47df751c0d78b64ed8353 files/win4lin-sources-2.6.9.AF_UNIX.SELinux.patch 1761 MD5 f211ff52010dfc1d94d2dcfc06636fd9 files/win4lin-sources-2.6.9.shmLocking.patch 1757 -MD5 9eda91c0c7c7cd61ac3fbc4b309de3c0 files/win4lin-sources-2.6.9.77094.patch 5193 MD5 53fe3d26f6fc45487d69895fc07770cb files/win4lin-sources-2.6.9.binfmt_elf.patch 2350 MD5 8812f60b8d02b0b3b4c46a3311ddd851 files/win4lin-sources-2.6.9.smbfs.patch 2662 MD5 a9991d6324d7404ed99e79be6e44e9de files/win4lin-sources-2.6.binfmt_elf.patch 2348 diff --git a/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77094.patch b/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77094.patch deleted file mode 100644 index 6b2c7bdb2317..000000000000 --- a/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77094.patch +++ /dev/null @@ -1,142 +0,0 @@ -diff -urp linux-2.6.8.1-r7/drivers/block/scsi_ioctl.c linux-2.6.8.1-r8/drivers/block/scsi_ioctl.c ---- linux-2.6.8.1-r7/drivers/block/scsi_ioctl.c 2004-08-14 11:56:23.000000000 +0100 -+++ linux-2.6.8.1-r8/drivers/block/scsi_ioctl.c 2005-01-09 12:09:55.345308528 +0000 -@@ -304,7 +304,8 @@ static int sg_scsi_ioctl(struct file *fi - struct gendisk *bd_disk, Scsi_Ioctl_Command __user *sic) - { - struct request *rq; -- int err, in_len, out_len, bytes, opcode, cmdlen; -+ unsigned int in_len, out_len, bytes, opcode, cmdlen; -+ int err; - char *buffer = NULL, sense[SCSI_SENSE_BUFFERSIZE]; - - /* -diff -urp linux-2.6.8.1-r7/drivers/char/moxa.c linux-2.6.8.1-r8/drivers/char/moxa.c ---- linux-2.6.8.1-r7/drivers/char/moxa.c 2005-01-09 12:06:21.000000000 +0000 -+++ linux-2.6.8.1-r8/drivers/char/moxa.c 2005-01-09 12:09:55.327311264 +0000 -@@ -1687,6 +1687,8 @@ int MoxaDriverIoctl(unsigned int cmd, un - return -EFAULT; - if(dltmp.cardno < 0 || dltmp.cardno >= MAX_BOARDS) - return -EINVAL; -+ if(dltmp.len < 0 || dltmp.len > sizeof(moxaBuff)) -+ return -EINVAL; - - switch(cmd) - { -@@ -2841,8 +2843,6 @@ static int moxaload320b(int cardno, unsi - unsigned long baseAddr; - int i; - -- if(len > sizeof(moxaBuff)) -- return -EINVAL; - if(copy_from_user(moxaBuff, tmp, len)) - return -EFAULT; - baseAddr = moxaBaseAddr[cardno]; -diff -urp linux-2.6.8.1-r7/drivers/char/random.c linux-2.6.8.1-r8/drivers/char/random.c ---- linux-2.6.8.1-r7/drivers/char/random.c 2004-08-14 11:54:48.000000000 +0100 -+++ linux-2.6.8.1-r8/drivers/char/random.c 2005-01-09 12:09:55.358306552 +0000 -@@ -1917,7 +1917,7 @@ static int poolsize_strategy(ctl_table * - void __user *oldval, size_t __user *oldlenp, - void __user *newval, size_t newlen, void **context) - { -- int len; -+ size_t len; - - sysctl_poolsize = random_state->poolinfo.POOLBYTES; - -diff -urp linux-2.6.8.1-r7/include/linux/writeback.h linux-2.6.8.1-r8/include/linux/writeback.h ---- linux-2.6.8.1-r7/include/linux/writeback.h 2004-08-14 11:54:49.000000000 +0100 -+++ linux-2.6.8.1-r8/include/linux/writeback.h 2005-01-09 12:09:55.000000000 +0000 -@@ -74,6 +74,7 @@ static inline void wait_on_inode(struct - int wakeup_bdflush(long nr_pages); - void laptop_io_completion(void); - void laptop_sync_completion(void); -+void throttle_vm_writeout(void); - - /* These are exported to sysctl. */ - extern int dirty_background_ratio; -diff -urp linux-2.6.8.1-r7/mm/mmap.c linux-2.6.8.1-r8/mm/mmap.c ---- linux-2.6.8.1-r7/mm/mmap.c 2005-01-09 12:06:23.000000000 +0000 -+++ linux-2.6.8.1-r8/mm/mmap.c 2005-01-09 12:09:55.000000000 +0000 -@@ -1223,6 +1223,13 @@ int expand_stack(struct vm_area_struct * - vm_unacct_memory(grow); - return -ENOMEM; - } -+ if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && -+ ((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > -+ current->rlim[RLIMIT_MEMLOCK].rlim_cur) { -+ anon_vma_unlock(vma); -+ vm_unacct_memory(grow); -+ return -ENOMEM; -+ } - vma->vm_end = address; - vma->vm_mm->total_vm += grow; - if (vma->vm_flags & VM_LOCKED) -@@ -1284,6 +1291,13 @@ int expand_stack(struct vm_area_struct * - vm_unacct_memory(grow); - return -ENOMEM; - } -+ if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && -+ ((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > -+ current->rlim[RLIMIT_MEMLOCK].rlim_cur) { -+ anon_vma_unlock(vma); -+ vm_unacct_memory(grow); -+ return -ENOMEM; -+ } - vma->vm_start = address; - vma->vm_pgoff -= grow; - vma->vm_mm->total_vm += grow; -diff -urp linux-2.6.8.1-r7/mm/page-writeback.c linux-2.6.8.1-r8/mm/page-writeback.c ---- linux-2.6.8.1-r7/mm/page-writeback.c 2004-08-14 11:55:47.000000000 +0100 -+++ linux-2.6.8.1-r8/mm/page-writeback.c 2005-01-09 12:09:55.000000000 +0000 -@@ -276,6 +276,28 @@ void balance_dirty_pages_ratelimited(str - } - EXPORT_SYMBOL(balance_dirty_pages_ratelimited); - -+void throttle_vm_writeout(void) -+{ -+ struct writeback_state wbs; -+ long background_thresh; -+ long dirty_thresh; -+ -+ for ( ; ; ) { -+ get_dirty_limits(&wbs, &background_thresh, &dirty_thresh); -+ -+ /* -+ * Boost the allowable dirty threshold a bit for page -+ * allocators so they don't get DoS'ed by heavy writers -+ */ -+ dirty_thresh += dirty_thresh / 10; /* wheeee... */ -+ -+ if (wbs.nr_unstable + wbs.nr_writeback <= dirty_thresh) -+ break; -+ blk_congestion_wait(WRITE, HZ/10); -+ } -+} -+ -+ - /* - * writeback at least _min_pages, and keep writing until the amount of dirty - * memory is less than the background threshold, or until we're all clean. -diff -urp linux-2.6.8.1-r7/mm/vmscan.c linux-2.6.8.1-r8/mm/vmscan.c ---- linux-2.6.8.1-r7/mm/vmscan.c 2004-08-14 11:54:50.000000000 +0100 -+++ linux-2.6.8.1-r8/mm/vmscan.c 2005-01-09 12:10:52.000000000 +0000 -@@ -362,9 +362,6 @@ static int shrink_list(struct list_head - - BUG_ON(PageActive(page)); - -- if (PageWriteback(page)) -- goto keep_locked; -- - sc->nr_scanned++; - /* Double the slab pressure for mapped and swapcache pages */ - if (page_mapped(page) || PageSwapCache(page)) -@@ -841,6 +838,8 @@ shrink_zone(struct zone *zone, struct sc - break; - } - } -+ -+ throttle_vm_writeout(); - } - - /* diff --git a/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77666.patch b/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77666.patch index ce33a9c062d8..0ba387c4e78b 100644 --- a/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77666.patch +++ b/sys-kernel/win4lin-sources/files/win4lin-sources-2.6.9.77666.patch @@ -1,4 +1,4 @@ ---- linux-2.6.9/mm/mmap.c 2005-03-16 21:06:42.000000000 +0000 +(vma->vm_start - address) >> PAGE_SHIFT--- linux-2.6.9/mm/mmap.c 2005-03-16 21:06:42.000000000 +0000 +++ linux-2.6.9-plasmaroo/mm/mmap.c 2005-03-16 21:09:26.000000000 +0000 @@ -1316,13 +1316,57 @@ out: return prev ? prev->vm_next : vma; @@ -59,7 +59,7 @@ if (!(vma->vm_flags & VM_GROWSUP)) return -EFAULT; -@@ -1342,20 +1386,18 @@ int expand_stack(struct vm_area_struct * +@@ -1342,28 +1386,24 @@ int expand_stack(struct vm_area_struct * */ address += 4 + PAGE_SIZE - 1; address &= PAGE_MASK; @@ -89,12 +89,6 @@ + if (!error) + vma->vm_end = address; } - if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && - ((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > -@@ -1364,13 +1406,12 @@ int expand_stack(struct vm_area_struct * - vm_unacct_memory(grow); - return -ENOMEM; - } - vma->vm_end = address; - vma->vm_mm->total_vm += grow; - if (vma->vm_flags & VM_LOCKED) @@ -102,7 +96,7 @@ + error = acct_stack_growth(vma, size, grow); + if (!error) + vma->vm_end = address; - __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); +- __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); anon_vma_unlock(vma); - return 0; + return error; @@ -118,7 +112,7 @@ /* * We must make sure the anon_vma is allocated -@@ -1411,20 +1452,20 @@ int expand_stack(struct vm_area_struct * +@@ -1411,29 +1452,23 @@ int expand_stack(struct vm_area_struct * * anon_vma lock to serialize against concurrent expand_stacks. */ address &= PAGE_MASK; @@ -150,18 +144,12 @@ + vma->vm_pgoff -= grow; + } } - if ((vma->vm_flags & VM_LOCKED) && !capable(CAP_IPC_LOCK) && - ((vma->vm_mm->locked_vm + grow) << PAGE_SHIFT) > -@@ -1433,14 +1474,9 @@ int expand_stack(struct vm_area_struct * - vm_unacct_memory(grow); - return -ENOMEM; - } - vma->vm_start = address; - vma->vm_pgoff -= grow; - vma->vm_mm->total_vm += grow; - if (vma->vm_flags & VM_LOCKED) - vma->vm_mm->locked_vm += grow; - __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); +- __vm_stat_account(vma->vm_mm, vma->vm_flags, vma->vm_file, grow); anon_vma_unlock(vma); - return 0; + return error; diff --git a/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild b/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild index 5da2ba3a77bf..9282e38189a6 100644 --- a/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild +++ b/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild,v 1.1 2005/03/25 19:40:07 plasmaroo Exp $ +# $Header: /var/cvsroot/gentoo-x86/sys-kernel/win4lin-sources/win4lin-sources-2.6.9-r7.ebuild,v 1.2 2005/04/13 19:47:09 plasmaroo Exp $ ETYPE="sources" inherit kernel-2 @@ -24,7 +24,6 @@ UNIPATCH_LIST=" ${FILESDIR}/${P}.shmLocking.patch ${FILESDIR}/${P}.75963.patch ${FILESDIR}/${P}.brk-locked.patch - ${FILESDIR}/${P}.77094.patch ${FILESDIR}/${P}.74070.patch ${FILESDIR}/${P}.77666.patch ${FILESDIR}/${P}.77923.patch |