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 | 4207c093deb342244fc7eaa16ce54f0090cf9459 (patch) | |
tree | 04e05a2dd5672c2b898e2b7698e7a31fdd2b83a7 /sys-kernel | |
parent | Fix mm/mmap.c compile errors. (diff) | |
download | gentoo-2-4207c093deb342244fc7eaa16ce54f0090cf9459.tar.gz gentoo-2-4207c093deb342244fc7eaa16ce54f0090cf9459.tar.bz2 gentoo-2-4207c093deb342244fc7eaa16ce54f0090cf9459.zip |
Fix #87036.
(Portage version: 2.0.51.19)
Diffstat (limited to 'sys-kernel')
4 files changed, 12 insertions, 162 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/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 |