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
This commit is contained in:
Stefan Kalkowski 2012-05-03 11:15:55 +02:00 committed by Norman Feske
parent d1c7d64c2c
commit a4282e2033
1 changed files with 13 additions and 0 deletions

View File

@ -0,0 +1,13 @@
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