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

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

diff --git a/inmates/lib/setup.c b/inmates/lib/setup.c
index 5af94fc8..64e749b1 100644
--- a/inmates/lib/setup.c
+++ b/inmates/lib/setup.c
@@ -4,6 +4,14 @@ void __attribute__((noreturn)) c_entry(void);
 
 void __attribute__((noreturn)) c_entry(void)
 {
-       inmate_main();
+       /* 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;
+       } else {
+               inmate_main();
+       }
+
        stop();
 }
-- 
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