We do have magic bytes in configfile headers for distunguishing cell and
system configurations. Add this check to jailhouse-cell-linux to avoid
passing system configurations to jailhouse-cell-linux.

Signed-off-by: Ralf Ramsauer <[email protected]>
---
 tools/jailhouse-cell-linux | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/tools/jailhouse-cell-linux b/tools/jailhouse-cell-linux
index 151f3e41b2..1a08f8a100 100755
--- a/tools/jailhouse-cell-linux
+++ b/tools/jailhouse-cell-linux
@@ -509,12 +509,13 @@ class MemoryRegion:
 
 
 class Config:
-    _HEADER_FORMAT = '8x32s4xIIIIIIIII'
+    _HEADER_FORMAT = '8s32s4xIIIIIIIII'
 
     def __init__(self, config_file):
         self.data = config_file.read()
 
-        (name,
+        (signature,
+         name,
          self.flags,
          self.cpu_set_size,
          self.num_memory_regions,
@@ -525,6 +526,9 @@ class Config:
          self.num_pci_caps,
          self.vpci_irq_base) = \
             struct.unpack_from(Config._HEADER_FORMAT, self.data)
+        if str(signature.decode()) != 'JAILCELL':
+            print('Not a cell configuration: %s' % config_file.name, 
file=sys.stderr)
+            exit(1)
         self.name = str(name.decode())
 
         memregion_offs = struct.calcsize(Config._HEADER_FORMAT) + \
-- 
2.11.0.rc2

-- 
You received this message because you are subscribed to the Google Groups 
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to