Index: kernel/generic/include/cap/cap.h
===================================================================
--- kernel/generic/include/cap/cap.h	(revision 174156fd1cf321a6363777352073d05829467b2f)
+++ kernel/generic/include/cap/cap.h	(revision 2cea4c585d04ba6729a55fa46ff3c45fdd514a70)
@@ -69,9 +69,15 @@
 
 /*
- * Everything in kobject_t except for the atomic reference count is imutable.
+ * Everything in kobject_t except for the atomic reference count, the capability
+ * list and its lock is imutable.
  */
 typedef struct kobject {
 	kobject_type_t type;
 	atomic_t refcnt;
+
+	/** Mutex protecting caps_list */
+	mutex_t caps_list_lock;
+	/** List of published capabilities associated with the kobject */
+	list_t caps_list;
 
 	kobject_ops_t *ops;
@@ -93,4 +99,7 @@
 	struct task *task;
 	cap_handle_t handle;
+
+	/** Link to the kobject's list of capabilities. */
+	link_t kobj_link;
 
 	/* Link to the task's capabilities of the same kobject type. */
@@ -122,4 +131,5 @@
 extern void cap_publish(struct task *, cap_handle_t, kobject_t *);
 extern kobject_t *cap_unpublish(struct task *, cap_handle_t, kobject_type_t);
+extern void cap_revoke(kobject_t *);
 extern void cap_free(struct task *, cap_handle_t);
 
