[oe-commits] Martin Jansa : qemu: add workarround to fallback to safe mmap_min_addr

git version control git at git.openembedded.org
Thu May 13 11:17:04 UTC 2010


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 93a439a42b538be1f96c9250122504bfbdbd8d7b
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=93a439a42b538be1f96c9250122504bfbdbd8d7b

Author: Martin Jansa <Martin.Jansa at gmail.com>
Date:   Thu May 13 12:33:59 2010 +0200

qemu: add workarround to fallback to safe mmap_min_addr

* in case /proc/sys/vm/mmap_min_addr cannot be read because of security
  of host system

Signed-off-by: Martin Jansa <Martin.Jansa at gmail.com>

---

 .../fallback.to.safe.mmap_min_addr.patch           |   37 ++++++++++++++++++++
 recipes/qemu/qemu_0.12.3.bb                        |    3 +-
 2 files changed, 39 insertions(+), 1 deletions(-)

diff --git a/recipes/qemu/qemu-0.12.3/fallback.to.safe.mmap_min_addr.patch b/recipes/qemu/qemu-0.12.3/fallback.to.safe.mmap_min_addr.patch
new file mode 100644
index 0000000..fb1080f
--- /dev/null
+++ b/recipes/qemu/qemu-0.12.3/fallback.to.safe.mmap_min_addr.patch
@@ -0,0 +1,37 @@
+From c313f89c33217ac0e471554dace2144718f86669 Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa at gmail.com>
+Date: Thu, 13 May 2010 12:23:40 +0200
+Subject: [PATCH] linux-user: use default mmap_min_addr 65536 when /proc/sys/vm/mmap_min_addr cannot be read
+
+* 65536 is default at least for ubuntu and fedora.
+---
+ linux-user/main.c |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/linux-user/main.c b/linux-user/main.c
+index 18b52c0..cf2cc59 100644
+--- a/linux-user/main.c
++++ b/linux-user/main.c
+@@ -2728,6 +2728,7 @@
+      * When user has explicitly set the quest base, we skip this
+      * test.
+      */
++#define MMAP_MIN_ADDR_DEFAULT 65536
+     if (!have_guest_base) {
+         FILE *fp;
+ 
+@@ -2736,8 +2737,14 @@
+             if (fscanf(fp, "%lu", &tmp) == 1) {
+                 mmap_min_addr = tmp;
+                 qemu_log("host mmap_min_addr=0x%lx\n", mmap_min_addr);
++            } else {
++                qemu_log("cannot read value from /proc/sys/vm/mmap_min_addr, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
++                mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
+             }
+             fclose(fp);
++        } else {
++            qemu_log("cannot open /proc/sys/vm/mmap_min_addr for reading, assuming %d\n", MMAP_MIN_ADDR_DEFAULT);
++            mmap_min_addr = MMAP_MIN_ADDR_DEFAULT;
+         }
+     }
+ #endif /* CONFIG_USE_GUEST_BASE */
diff --git a/recipes/qemu/qemu_0.12.3.bb b/recipes/qemu/qemu_0.12.3.bb
index 1ce7c58..8bc6747 100644
--- a/recipes/qemu/qemu_0.12.3.bb
+++ b/recipes/qemu/qemu_0.12.3.bb
@@ -1,7 +1,7 @@
 LICENSE = "GPL"
 DEPENDS = "zlib"
 
-PR = "r2"
+PR = "r3"
 
 SRC_URI = "\
     http://download.savannah.gnu.org/releases/qemu/qemu-${PV}.tar.gz;name=qemu-${PV} \
@@ -20,6 +20,7 @@ SRC_URI = "\
     file://fix_fortify_source_compilation.patch;patch=1 \
     file://3f26c1227e3b08010f2a65379cecf4cb4b5933fa.patch;patch=1 \
     file://c5883be23519921254c6940873ee8db04979c20a.patch;patch=1 \
+    file://fallback.to.safe.mmap_min_addr.patch;patch=1 \
     "
 
 SRC_URI[qemu-0.12.3.sha256sum] = "3ce26f8fb0a59418b2064a26bac4b40ea4e493acbc3df7ad5932635477fade4b"





More information about the Openembedded-commits mailing list