From 2ffb8d0089dddbaa0d37edfdff1816e74bfc497d Mon Sep 17 00:00:00 2001 From: Joel Beeren Date: Mon, 29 Feb 2016 16:58:10 +1100 Subject: [PATCH] SELFOUR-421: added device check to sameObjectAs --- src/arch/arm/32/object/objecttype.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/arch/arm/32/object/objecttype.c b/src/arch/arm/32/object/objecttype.c index 5d5af28e2..d9ef38640 100644 --- a/src/arch/arm/32/object/objecttype.c +++ b/src/arch/arm/32/object/objecttype.c @@ -471,8 +471,10 @@ Arch_sameObjectAs(cap_t cap_a, cap_t cap_b) { if (cap_get_capType(cap_a) == cap_small_frame_cap) { if (cap_get_capType(cap_b) == cap_small_frame_cap) { - return (cap_small_frame_cap_get_capFBasePtr(cap_a) == - cap_small_frame_cap_get_capFBasePtr(cap_b)); + return ((cap_small_frame_cap_get_capFBasePtr(cap_a) == + cap_small_frame_cap_get_capFBasePtr(cap_b)) && + (cap_small_frame_cap_get_capFIsDevice(cap_a) == + cap_small_frame_cap_get_capFIsDevice(cap_b))); } else if (cap_get_capType(cap_b) == cap_frame_cap) { return false; } @@ -482,7 +484,9 @@ Arch_sameObjectAs(cap_t cap_a, cap_t cap_b) return ((cap_frame_cap_get_capFBasePtr(cap_a) == cap_frame_cap_get_capFBasePtr(cap_b)) && (cap_frame_cap_get_capFSize(cap_a) == - cap_frame_cap_get_capFSize(cap_b))); + cap_frame_cap_get_capFSize(cap_b)) && + (cap_frame_cap_get_capFIsDevice(cap_a) == + cap_frame_cap_get_capFIsDevice(cap_b))); } else if (cap_get_capType(cap_b) == cap_small_frame_cap) { return false; }