genode/base-foc/patches/foc_caps_equal.patch
Stefan Kalkowski a4282e2033 Fiasco.OC: fix l4_task_cap_equal semantic.
The syscall l4_task_cap_equal almost returns false although the referenced
kernel-objects are equal. This patch changes the semantic of the syscall so
that whenever two capabilities refering the same kernel-object are compared
it will return true. Please refer to the discussion of the following mail
thread:
  http://www.mail-archive.com/l4-hackers@os.inf.tu-dresden.de/msg05162.html
2012-05-09 20:50:57 +02:00

14 lines
520 B
Diff

Index: kernel/fiasco/src/kern/task.cpp
===================================================================
--- kernel/fiasco/src/kern/task.cpp (revision 38)
+++ kernel/fiasco/src/kern/task.cpp (working copy)
@@ -511,7 +511,7 @@
Obj_space::Capability c_a = obj_space()->lookup(obj_a.cap());
Obj_space::Capability c_b = obj_space()->lookup(obj_b.cap());
- return commit_result(c_a == c_b);
+ return commit_result(c_a.obj()->kobject_start_addr() == c_b.obj()->kobject_start_addr());
}
PRIVATE inline NOEXPORT