Or fail by setting the cell's state and halt.

Signed-off-by: Ralf Ramsauer <[email protected]>
---
 inmates/lib/setup.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/inmates/lib/setup.c b/inmates/lib/setup.c
index ed35b6f8..be651696 100644
--- a/inmates/lib/setup.c
+++ b/inmates/lib/setup.c
@@ -4,6 +4,17 @@ void __attribute__((noreturn)) c_entry(void);
 
 void __attribute__((noreturn)) c_entry(void)
 {
+       /* check if the ABI version of the communication region matches */
+       if (comm_region->revision != COMM_REGION_ABI_REVISION ||
+               memcmp(comm_region->signature, COMM_REGION_MAGIC,
+                      sizeof(comm_region->signature))) {
+                       comm_region->cell_state =
+                               JAILHOUSE_CELL_FAILED_COMM_REV;
+                       goto spin;
+               }
+
+
        inmate_main();
+spin:
        spin_forever();
 }
-- 
2.17.0

-- 
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