@@ -159,7 +159,7 @@ static int smk_bu_current(char *note, struct smack_known *oskp,
159
159
static int smk_bu_task (struct task_struct * otp , int mode , int rc )
160
160
{
161
161
struct task_smack * tsp = smack_cred (current_cred ());
162
- struct smack_known * smk_task = smk_of_task_struct (otp );
162
+ struct smack_known * smk_task = smk_of_task_struct_obj (otp );
163
163
char acc [SMK_NUM_ACCESS_TYPE + 1 ];
164
164
165
165
if (rc <= 0 )
@@ -479,7 +479,7 @@ static int smack_ptrace_access_check(struct task_struct *ctp, unsigned int mode)
479
479
{
480
480
struct smack_known * skp ;
481
481
482
- skp = smk_of_task_struct (ctp );
482
+ skp = smk_of_task_struct_obj (ctp );
483
483
484
484
return smk_ptrace_rule_check (current , skp , mode , __func__ );
485
485
}
@@ -2033,7 +2033,7 @@ static int smk_curacc_on_task(struct task_struct *p, int access,
2033
2033
const char * caller )
2034
2034
{
2035
2035
struct smk_audit_info ad ;
2036
- struct smack_known * skp = smk_of_task_struct (p );
2036
+ struct smack_known * skp = smk_of_task_struct_subj (p );
2037
2037
int rc ;
2038
2038
2039
2039
smk_ad_init (& ad , caller , LSM_AUDIT_DATA_TASK );
@@ -2078,15 +2078,29 @@ static int smack_task_getsid(struct task_struct *p)
2078
2078
}
2079
2079
2080
2080
/**
2081
- * smack_task_getsecid - get the secid of the task
2082
- * @p: the object task
2081
+ * smack_task_getsecid_subj - get the subjective secid of the task
2082
+ * @p: the task
2083
2083
* @secid: where to put the result
2084
2084
*
2085
- * Sets the secid to contain a u32 version of the smack label.
2085
+ * Sets the secid to contain a u32 version of the task's subjective smack label.
2086
+ */
2087
+ static void smack_task_getsecid_subj (struct task_struct * p , u32 * secid )
2088
+ {
2089
+ struct smack_known * skp = smk_of_task_struct_subj (p );
2090
+
2091
+ * secid = skp -> smk_secid ;
2092
+ }
2093
+
2094
+ /**
2095
+ * smack_task_getsecid_obj - get the objective secid of the task
2096
+ * @p: the task
2097
+ * @secid: where to put the result
2098
+ *
2099
+ * Sets the secid to contain a u32 version of the task's objective smack label.
2086
2100
*/
2087
- static void smack_task_getsecid (struct task_struct * p , u32 * secid )
2101
+ static void smack_task_getsecid_obj (struct task_struct * p , u32 * secid )
2088
2102
{
2089
- struct smack_known * skp = smk_of_task_struct (p );
2103
+ struct smack_known * skp = smk_of_task_struct_obj (p );
2090
2104
2091
2105
* secid = skp -> smk_secid ;
2092
2106
}
@@ -2174,7 +2188,7 @@ static int smack_task_kill(struct task_struct *p, struct kernel_siginfo *info,
2174
2188
{
2175
2189
struct smk_audit_info ad ;
2176
2190
struct smack_known * skp ;
2177
- struct smack_known * tkp = smk_of_task_struct (p );
2191
+ struct smack_known * tkp = smk_of_task_struct_obj (p );
2178
2192
int rc ;
2179
2193
2180
2194
if (!sig )
@@ -2212,7 +2226,7 @@ static int smack_task_kill(struct task_struct *p, struct kernel_siginfo *info,
2212
2226
static void smack_task_to_inode (struct task_struct * p , struct inode * inode )
2213
2227
{
2214
2228
struct inode_smack * isp = smack_inode (inode );
2215
- struct smack_known * skp = smk_of_task_struct (p );
2229
+ struct smack_known * skp = smk_of_task_struct_obj (p );
2216
2230
2217
2231
isp -> smk_inode = skp ;
2218
2232
isp -> smk_flags |= SMK_INODE_INSTANT ;
@@ -3483,7 +3497,7 @@ static void smack_d_instantiate(struct dentry *opt_dentry, struct inode *inode)
3483
3497
*/
3484
3498
static int smack_getprocattr (struct task_struct * p , char * name , char * * value )
3485
3499
{
3486
- struct smack_known * skp = smk_of_task_struct (p );
3500
+ struct smack_known * skp = smk_of_task_struct_subj (p );
3487
3501
char * cp ;
3488
3502
int slen ;
3489
3503
@@ -4759,8 +4773,8 @@ static struct security_hook_list smack_hooks[] __lsm_ro_after_init = {
4759
4773
LSM_HOOK_INIT (task_setpgid , smack_task_setpgid ),
4760
4774
LSM_HOOK_INIT (task_getpgid , smack_task_getpgid ),
4761
4775
LSM_HOOK_INIT (task_getsid , smack_task_getsid ),
4762
- LSM_HOOK_INIT (task_getsecid_subj , smack_task_getsecid ),
4763
- LSM_HOOK_INIT (task_getsecid_obj , smack_task_getsecid ),
4776
+ LSM_HOOK_INIT (task_getsecid_subj , smack_task_getsecid_subj ),
4777
+ LSM_HOOK_INIT (task_getsecid_obj , smack_task_getsecid_obj ),
4764
4778
LSM_HOOK_INIT (task_setnice , smack_task_setnice ),
4765
4779
LSM_HOOK_INIT (task_setioprio , smack_task_setioprio ),
4766
4780
LSM_HOOK_INIT (task_getioprio , smack_task_getioprio ),
0 commit comments