You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the handle management library (libs/resea/handle.c) use the pair of a client task ID and task-local ID (handle_t) as a handle, e.g., file handle in fs servers and TCP sockets in tcpip server. The problem is that, since it checks the client task ID to deny accessing other tasks' handles, user programs can't transfer their own handles to others.
This is the tracking issue for supporting handle type in IPC to allow handle transferring like SCM_RIGHTS in Linux.
The text was updated successfully, but these errors were encountered:
A server allocates a sufficiently-long ID (say 2^128 bits) as a handle.
Brute force attack on a large space is inevitable: even if each attempt can finish in 1 nanosecond, trying 2^128 take far longer than the age of the universe.
Clients simply use or share the allocated ID to use the resource.
Pros
We don't need to implement anything in kernel.
Cons
We can't move the handle ownership: every tasks that know the handle ID can use the handle.
Currently, the handle management library (libs/resea/handle.c) use the pair of a client task ID and task-local ID (
handle_t
) as a handle, e.g., file handle in fs servers and TCP sockets in tcpip server. The problem is that, since it checks the client task ID to deny accessing other tasks' handles, user programs can't transfer their own handles to others.This is the tracking issue for supporting handle type in IPC to allow handle transferring like
SCM_RIGHTS
in Linux.The text was updated successfully, but these errors were encountered: