aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndy Lutomirski <luto@amacapital.net>2014-11-21 17:29:43 -0800
committerAndy Lutomirski <luto@amacapital.net>2014-11-21 17:29:43 -0800
commit6f11b1102fbb5b336e536dfb5bd99f70b48bfe07 (patch)
treebb9b8111033e561e95fe979486b62a4158c8bc78
parenta0b526d6a692207dd0cfd61e4abc2c51116c3296 (diff)
downloadvirtme-6f11b1102fbb5b336e536dfb5bd99f70b48bfe07.tar.gz
virtme-init: If we don't have explicit modules, block implicit modules
This fixes crashes when using --kimg on a kernel image with a version that matches an installed kernel. Signed-off-by: Andy Lutomirski <luto@amacapital.net>
-rwxr-xr-xvirtme/guest/virtme-init6
1 files changed, 5 insertions, 1 deletions
diff --git a/virtme/guest/virtme-init b/virtme/guest/virtme-init
index 31395a4..5e2d396 100755
--- a/virtme/guest/virtme-init
+++ b/virtme/guest/virtme-init
@@ -22,11 +22,15 @@ for i in /sys/bus/virtio/drivers/9pnet_virtio/virtio*/mount_tag; do
mount_tags["`cat "$i"`"]=1
done
+kver="`uname -r`"
+
if [[ -n "${mount_tags[virtme.moddir]}" ]]; then
mount -t tmpfs none /lib/modules
- kver="`uname -r`"
mkdir /lib/modules/"$kver"
mount -n -t 9p -o ro,version=9p2000.L,trans=virtio,access=any virtme.moddir /lib/modules/"$kver"
+elif [[ -d "/lib/modules/$kver" ]]; then
+ # We may have mismatched modules. Mask them off.
+ mount -n -t tmpfs -o ro,mode=0000 disallow_modules "/lib/modules/$kver"
fi
mount -t tmpfs tmpfs /tmp/