genode/base-foc/patches/foc_caps_equal.patch
2012-09-18 10:53:16 +02:00

21 lines
772 B
Diff

Index: kernel/fiasco/src/kern/task.cpp
===================================================================
--- kernel/fiasco/src/kern/task.cpp (revision 40)
+++ kernel/fiasco/src/kern/task.cpp (working copy)
@@ -488,10 +488,12 @@
if (obj_a.special() || obj_b.special())
return commit_result(obj_a.special_cap() == obj_b.special_cap());
- Obj_space::Capability c_a = lookup(obj_a.cap());
- Obj_space::Capability c_b = lookup(obj_b.cap());
+ Kobject_iface* ki_a = lookup(obj_a.cap()).obj();
+ Kobject_iface* ki_b = lookup(obj_b.cap()).obj();
+ Address a_a = ki_a ? ki_a->kobject_start_addr() : 0;
+ Address a_b = ki_b ? ki_b->kobject_start_addr() : 0;
- return commit_result(c_a == c_b);
+ return commit_result(a_a == a_b);
}
PRIVATE inline NOEXPORT