summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Yamin <plasmaroo@gentoo.org>2004-02-18 21:33:10 +0000
committerTim Yamin <plasmaroo@gentoo.org>2004-02-18 21:33:10 +0000
commitb73e0eb4a5270a2c4c835bc1b07036cbee4a1423 (patch)
tree3c3356e0e96493466b0ae188e0226c7d42c76b04 /sys-kernel/compaq-sources
parentAdded ~amd64 keyword. (diff)
downloadhistorical-b73e0eb4a5270a2c4c835bc1b07036cbee4a1423.tar.gz
historical-b73e0eb4a5270a2c4c835bc1b07036cbee4a1423.tar.bz2
historical-b73e0eb4a5270a2c4c835bc1b07036cbee4a1423.zip
Added munmap() patch...
Diffstat (limited to 'sys-kernel/compaq-sources')
-rw-r--r--sys-kernel/compaq-sources/Manifest1
-rw-r--r--sys-kernel/compaq-sources/files/compaq-sources-2.4.9.32.7.munmap.patch27
2 files changed, 28 insertions, 0 deletions
diff --git a/sys-kernel/compaq-sources/Manifest b/sys-kernel/compaq-sources/Manifest
index 8e5419c37119..9957a41d5929 100644
--- a/sys-kernel/compaq-sources/Manifest
+++ b/sys-kernel/compaq-sources/Manifest
@@ -4,4 +4,5 @@ MD5 fa89a9407fb524aa495fff27051ef881 metadata.xml 684
MD5 e637c6fa41097ea2c4693d0766f2e1c5 files/compaq-sources-2.4.9.32.7.do_brk.patch 242
MD5 2c8a6f5232ae153c016cd241881b0719 files/compaq-sources-2.4.9.32.7.rtc_fix.patch 2152
MD5 942bf419fd5ef9c56b2025b5af96abb8 files/digest-compaq-sources-2.4.9.32.7-r2 81
+MD5 174438d215b70cad5ffb00ca8123c062 files/compaq-sources-2.4.9.32.7.munmap.patch 837
MD5 e77a93fdf26f06cf3ea5080b27211725 files/compaq-sources-2.4.9.32.7.CAN-2003-0985.patch 414
diff --git a/sys-kernel/compaq-sources/files/compaq-sources-2.4.9.32.7.munmap.patch b/sys-kernel/compaq-sources/files/compaq-sources-2.4.9.32.7.munmap.patch
new file mode 100644
index 000000000000..e120b35b7adb
--- /dev/null
+++ b/sys-kernel/compaq-sources/files/compaq-sources-2.4.9.32.7.munmap.patch
@@ -0,0 +1,27 @@
+diff -ur linux-2.4.25-rc3/mm/mremap.c linux-2.4.25-rc4/mm/mremap.c
+--- linux-2.4.25-rc3/mm/mremap.c 2004-02-18 13:56:01.000000000 +0000
++++ linux-2.4.25-rc4/mm/mremap.c 2004-02-18 13:49:08.000000000 +0000
+@@ -258,16 +258,20 @@
+ if ((addr <= new_addr) && (addr+old_len) > new_addr)
+ goto out;
+
+- do_munmap(current->mm, new_addr, new_len);
++ ret = do_munmap(current->mm, new_addr, new_len);
++ if (ret && new_len)
++ goto out;
+ }
+
+ /*
+ * Always allow a shrinking remap: that just unmaps
+ * the unnecessary pages..
+ */
+- ret = addr;
+ if (old_len >= new_len) {
+- do_munmap(current->mm, addr+new_len, old_len - new_len);
++ ret = do_munmap(current->mm, addr+new_len, old_len - new_len);
++ if (ret && old_len != new_len)
++ goto out;
++ ret = addr;
+ if (!(flags & MREMAP_FIXED) || (new_addr == addr))
+ goto out;
+ }