Changeset 91b60499 in mainline for kernel/generic/include/proc/task.h


Ignore:
Timestamp:
2017-09-30T06:29:42Z (7 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
300f4c4
Parents:
d076f16 (diff), 6636fb19 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge support for capabilities from lp:~jakub/helenos/caps

This commit introduces capabilities as task-local names for references to kernel
objects. Kernel objects are reference-counted wrappers for a select group of
objects allocated in and by the kernel that can be made accessible to userspace
in a controlled way via integer handles.

So far, a kernel object encapsulates either an irq_t or a phone_t.

Support for the former lead to the removal of kernel-assigned devnos and
unsecure deregistration of IRQs in which a random task was able to unregister
some other task's IRQ.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/proc/task.h

    rd076f16 r91b60499  
    6060#include <abi/sysinfo.h>
    6161#include <arch.h>
     62#include <cap/cap.h>
    6263
    6364#define TASK                 THE->task
     
    6566
    6667struct thread;
     68struct cap;
    6769
    6870/** Task structure. */
     
    9597        /** Task permissions. */
    9698        perm_t perms;
     99
     100        /** Capabilities */
     101        cap_info_t *cap_info;
    97102       
    98103        /* IPC stuff */
     
    100105        /** Receiving communication endpoint */
    101106        answerbox_t answerbox;
    102 
    103         /** Sending communication endpoints */
    104         phone_t phones[IPC_MAX_PHONES];
    105107
    106108        /** Spinlock protecting the active_calls list. */
Note: See TracChangeset for help on using the changeset viewer.