[zion] Enforce cap transmit permissions in more places.

This commit is contained in:
Drew Galbraith 2023-08-01 18:43:48 -07:00
parent 4e9ad6a516
commit f0add6e0c3
7 changed files with 24 additions and 8 deletions

View file

@ -37,7 +37,9 @@ class AddressSpace : public KernelObject {
public:
uint64_t TypeTag() override { return KernelObject::ADDRESS_SPACE; }
static uint64_t DefaultPermissions() { return kZionPerm_Write; }
static uint64_t DefaultPermissions() {
return kZionPerm_Write | kZionPerm_Transmit;
}
enum MemoryType {
UNSPECIFIED,

View file

@ -22,7 +22,8 @@ class Channel : public IpcObject {
public:
uint64_t TypeTag() override { return KernelObject::CHANNEL; }
static uint64_t DefaultPermissions() {
return kZionPerm_Read | kZionPerm_Write | kZionPerm_Duplicate;
return kZionPerm_Read | kZionPerm_Write | kZionPerm_Duplicate |
kZionPerm_Transmit;
}
static glcr::Pair<glcr::RefPtr<Channel>, glcr::RefPtr<Channel>>

View file

@ -21,7 +21,8 @@ class Endpoint : public IpcObject {
public:
uint64_t TypeTag() override { return KernelObject::ENDPOINT; }
static uint64_t DefaultPermissions() {
return kZionPerm_Read | kZionPerm_Write | kZionPerm_Duplicate;
return kZionPerm_Read | kZionPerm_Write | kZionPerm_Duplicate |
kZionPerm_Transmit;
}
static glcr::RefPtr<Endpoint> Create();

View file

@ -23,7 +23,8 @@ class MemoryObject : public KernelObject {
public:
uint64_t TypeTag() override { return KernelObject::MEMORY_OBJECT; }
static uint64_t DefaultPermissions() {
return kZionPerm_Write | kZionPerm_Read | kZionPerm_Duplicate;
return kZionPerm_Write | kZionPerm_Read | kZionPerm_Duplicate |
kZionPerm_Transmit;
}
MemoryObject(uint64_t size);

View file

@ -24,7 +24,7 @@ class Process : public KernelObject {
uint64_t TypeTag() override { return KernelObject::PROCESS; }
static uint64_t DefaultPermissions() {
return kZionPerm_Write | kZionPerm_Read | kZionPerm_SpawnThread |
kZionPerm_SpawnProcess | kZionPerm_Duplicate;
kZionPerm_SpawnProcess | kZionPerm_Duplicate | kZionPerm_Transmit;
}
enum State {