diff options
author | 2004-02-18 17:43:13 +0000 | |
---|---|---|
committer | 2004-02-18 17:43:13 +0000 | |
commit | 36816a86e6618d150827ddcc3f5814a71397b0ca (patch) | |
tree | 1de3b13475ddac1884a71a1b4857052e3fbe9b43 /sys-kernel/xfs-sources/files | |
parent | Remove -m486 based on patch from Thomas Veith <th_veith@web.de>, closing bug (diff) | |
download | gentoo-2-36816a86e6618d150827ddcc3f5814a71397b0ca.tar.gz gentoo-2-36816a86e6618d150827ddcc3f5814a71397b0ca.tar.bz2 gentoo-2-36816a86e6618d150827ddcc3f5814a71397b0ca.zip |
add patch for the new munmap vuln
Diffstat (limited to 'sys-kernel/xfs-sources/files')
-rw-r--r-- | sys-kernel/xfs-sources/files/digest-xfs-sources-2.4.24-r2 | 2 | ||||
-rw-r--r-- | sys-kernel/xfs-sources/files/xfs-sources-2.4.24.munmap.patch | 27 |
2 files changed, 29 insertions, 0 deletions
diff --git a/sys-kernel/xfs-sources/files/digest-xfs-sources-2.4.24-r2 b/sys-kernel/xfs-sources/files/digest-xfs-sources-2.4.24-r2 new file mode 100644 index 000000000000..a5896036351f --- /dev/null +++ b/sys-kernel/xfs-sources/files/digest-xfs-sources-2.4.24-r2 @@ -0,0 +1,2 @@ +MD5 1e055c42921b2396a559d84df4c3d9aa linux-2.4.24.tar.bz2 29837818 +MD5 382291043af6e6f545dfd4cb9319de6d xfs-sources-2.4.24-r1.patch.bz2 1378159 diff --git a/sys-kernel/xfs-sources/files/xfs-sources-2.4.24.munmap.patch b/sys-kernel/xfs-sources/files/xfs-sources-2.4.24.munmap.patch new file mode 100644 index 000000000000..e120b35b7adb --- /dev/null +++ b/sys-kernel/xfs-sources/files/xfs-sources-2.4.24.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; + } |