@@ -470,7 +470,6 @@ static int audit_filter_rules(struct task_struct *tsk,
470470{
471471 const struct cred * cred ;
472472 int i , need_sid = 1 ;
473- u32 sid ;
474473 struct lsm_prop prop = { };
475474 unsigned int sessionid ;
476475
@@ -675,15 +674,14 @@ static int audit_filter_rules(struct task_struct *tsk,
675674 * fork()/copy_process() in which case
676675 * the new @tsk creds are still a dup
677676 * of @current's creds so we can still
678- * use security_current_getsecid_subj()
677+ * use
678+ * security_current_getlsmprop_subj()
679679 * here even though it always refs
680680 * @current's creds
681681 */
682- security_current_getsecid_subj ( & sid );
682+ security_current_getlsmprop_subj ( & prop );
683683 need_sid = 0 ;
684684 }
685- /* scaffolding */
686- prop .scaffold .secid = sid ;
687685 result = security_audit_rule_match (& prop ,
688686 f -> type ,
689687 f -> op ,
@@ -2730,12 +2728,15 @@ int __audit_sockaddr(int len, void *a)
27302728void __audit_ptrace (struct task_struct * t )
27312729{
27322730 struct audit_context * context = audit_context ();
2731+ struct lsm_prop prop ;
27332732
27342733 context -> target_pid = task_tgid_nr (t );
27352734 context -> target_auid = audit_get_loginuid (t );
27362735 context -> target_uid = task_uid (t );
27372736 context -> target_sessionid = audit_get_sessionid (t );
2738- security_task_getsecid_obj (t , & context -> target_sid );
2737+ security_task_getlsmprop_obj (t , & prop );
2738+ /* scaffolding */
2739+ context -> target_sid = prop .scaffold .secid ;
27392740 memcpy (context -> target_comm , t -> comm , TASK_COMM_LEN );
27402741}
27412742
@@ -2751,6 +2752,7 @@ int audit_signal_info_syscall(struct task_struct *t)
27512752 struct audit_aux_data_pids * axp ;
27522753 struct audit_context * ctx = audit_context ();
27532754 kuid_t t_uid = task_uid (t );
2755+ struct lsm_prop prop ;
27542756
27552757 if (!audit_signals || audit_dummy_context ())
27562758 return 0 ;
@@ -2762,7 +2764,9 @@ int audit_signal_info_syscall(struct task_struct *t)
27622764 ctx -> target_auid = audit_get_loginuid (t );
27632765 ctx -> target_uid = t_uid ;
27642766 ctx -> target_sessionid = audit_get_sessionid (t );
2765- security_task_getsecid_obj (t , & ctx -> target_sid );
2767+ security_task_getlsmprop_obj (t , & prop );
2768+ /* scaffolding */
2769+ ctx -> target_sid = prop .scaffold .secid ;
27662770 memcpy (ctx -> target_comm , t -> comm , TASK_COMM_LEN );
27672771 return 0 ;
27682772 }
@@ -2783,7 +2787,9 @@ int audit_signal_info_syscall(struct task_struct *t)
27832787 axp -> target_auid [axp -> pid_count ] = audit_get_loginuid (t );
27842788 axp -> target_uid [axp -> pid_count ] = t_uid ;
27852789 axp -> target_sessionid [axp -> pid_count ] = audit_get_sessionid (t );
2786- security_task_getsecid_obj (t , & axp -> target_sid [axp -> pid_count ]);
2790+ security_task_getlsmprop_obj (t , & prop );
2791+ /* scaffolding */
2792+ axp -> target_sid [axp -> pid_count ] = prop .scaffold .secid ;
27872793 memcpy (axp -> target_comm [axp -> pid_count ], t -> comm , TASK_COMM_LEN );
27882794 axp -> pid_count ++ ;
27892795
0 commit comments