Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/security/perm.c

    r5a6cc679 ra35b458  
    7070        perm_t perms = task->perms;
    7171        irq_spinlock_unlock(&task->lock, true);
    72        
     72
    7373        return perms;
    7474}
     
    8888        if (!(perm_get(TASK) & PERM_PERM))
    8989                return EPERM;
    90        
     90
    9191        irq_spinlock_lock(&tasks_lock, true);
    9292        task_t *task = task_find_by_id(taskid);
    93        
     93
    9494        if ((!task) || (!container_check(CONTAINER, task->container))) {
    9595                irq_spinlock_unlock(&tasks_lock, true);
    9696                return ENOENT;
    9797        }
    98        
     98
    9999        irq_spinlock_lock(&task->lock, false);
    100100        task->perms |= perms;
    101101        irq_spinlock_unlock(&task->lock, false);
    102        
     102
    103103        irq_spinlock_unlock(&tasks_lock, true);
    104104        return EOK;
     
    119119{
    120120        irq_spinlock_lock(&tasks_lock, true);
    121        
     121
    122122        task_t *task = task_find_by_id(taskid);
    123123        if ((!task) || (!container_check(CONTAINER, task->container))) {
     
    125125                return ENOENT;
    126126        }
    127        
     127
    128128        /*
    129129         * Revoking permissions is different from granting them in that
     
    132132         */
    133133        irq_spinlock_unlock(&TASK->lock, false);
    134        
     134
    135135        if ((!(TASK->perms & PERM_PERM)) || (task != TASK)) {
    136136                irq_spinlock_unlock(&TASK->lock, false);
     
    138138                return EPERM;
    139139        }
    140        
     140
    141141        task->perms &= ~perms;
    142142        irq_spinlock_unlock(&TASK->lock, false);
    143        
     143
    144144        irq_spinlock_unlock(&tasks_lock, true);
    145145        return EOK;
     
    164164        if (rc != EOK)
    165165                return (sys_errno_t) rc;
    166        
     166
    167167        return perm_grant((task_id_t) taskid, perms);
    168168}
     
    185185        if (rc != EOK)
    186186                return (sys_errno_t) rc;
    187        
     187
    188188        return perm_revoke((task_id_t) taskid, perms);
    189189}
Note: See TracChangeset for help on using the changeset viewer.