Opened 7 years ago
Last modified 7 years ago
#749 closed defect
Map and eradicate uses of kernel addresses as IDs for userspace — at Version 3
| Reported by: | Jakub Jermář | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | 0.8.0 |
| Component: | helenos/kernel/generic | Version: | mainline |
| Keywords: | Cc: | ||
| Blocker for: | Depends on: | ||
| See also: |
Description (last modified by )
The kernel (still) intentionally leaks kernel addresses at various places in order to provide identifiers to userspace.
In the past it used to identify calls this way, but this behavior has been replaced by using capabilities. There are still some other uses in other contexts that this ticket aims to map and eventually eradicate.
Note that using kernel addresses as userspace IDs is bad for two reasons:
- leaking addresses of kernel objects represents a security risk and
- kernel addresses use a global namespace (unlike task-local capability handles), so this precludes some light forms of virtualisation on the namespace-level
The following list enumerates the individual cases:
ipc_forwardsetsphone_t *newphoneincall->data.phoneipc_forwardsetsTASK->taskid(another global ID) incall->data.task_id_ipc_call_actions_internalsetsphone_t *phoneincall->data.phone_ipc_call_actions_internalsetscaller->task_idincall->data.task_idsys_ipc_wait_for_callsetscall->privincall->data.phoneevent_enqueuesetsTASK->taskidincall->data.task_id_ipc_answer_free_callsetsTASK->taskidincall->data.task_id
Change History (3)
comment:1 by , 7 years ago
| Description: | modified (diff) |
|---|---|
| Summary: | Map and eradicate use of kernel addresses as IDs for userspace → Map and eradicate uses of kernel addresses as IDs for userspace |
comment:2 by , 7 years ago
| Description: | modified (diff) |
|---|
comment:3 by , 7 years ago
| Description: | modified (diff) |
|---|
Note:
See TracTickets
for help on using tickets.
