diff options
Diffstat (limited to 'security/smack/smack_access.c')
-rw-r--r-- | security/smack/smack_access.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/security/smack/smack_access.c b/security/smack/smack_access.c index cc7cb6edba08..c8115f7308f8 100644 --- a/security/smack/smack_access.c +++ b/security/smack/smack_access.c | |||
@@ -275,9 +275,9 @@ static inline void smack_str_from_perm(char *string, int access) | |||
275 | static void smack_log_callback(struct audit_buffer *ab, void *a) | 275 | static void smack_log_callback(struct audit_buffer *ab, void *a) |
276 | { | 276 | { |
277 | struct common_audit_data *ad = a; | 277 | struct common_audit_data *ad = a; |
278 | struct smack_audit_data *sad = &ad->smack_audit_data; | 278 | struct smack_audit_data *sad = ad->smack_audit_data; |
279 | audit_log_format(ab, "lsm=SMACK fn=%s action=%s", | 279 | audit_log_format(ab, "lsm=SMACK fn=%s action=%s", |
280 | ad->smack_audit_data.function, | 280 | ad->smack_audit_data->function, |
281 | sad->result ? "denied" : "granted"); | 281 | sad->result ? "denied" : "granted"); |
282 | audit_log_format(ab, " subject="); | 282 | audit_log_format(ab, " subject="); |
283 | audit_log_untrustedstring(ab, sad->subject); | 283 | audit_log_untrustedstring(ab, sad->subject); |
@@ -310,19 +310,19 @@ void smack_log(char *subject_label, char *object_label, int request, | |||
310 | if (result == 0 && (log_policy & SMACK_AUDIT_ACCEPT) == 0) | 310 | if (result == 0 && (log_policy & SMACK_AUDIT_ACCEPT) == 0) |
311 | return; | 311 | return; |
312 | 312 | ||
313 | if (a->smack_audit_data.function == NULL) | 313 | sad = a->smack_audit_data; |
314 | a->smack_audit_data.function = "unknown"; | 314 | |
315 | if (sad->function == NULL) | ||
316 | sad->function = "unknown"; | ||
315 | 317 | ||
316 | /* end preparing the audit data */ | 318 | /* end preparing the audit data */ |
317 | sad = &a->smack_audit_data; | ||
318 | smack_str_from_perm(request_buffer, request); | 319 | smack_str_from_perm(request_buffer, request); |
319 | sad->subject = subject_label; | 320 | sad->subject = subject_label; |
320 | sad->object = object_label; | 321 | sad->object = object_label; |
321 | sad->request = request_buffer; | 322 | sad->request = request_buffer; |
322 | sad->result = result; | 323 | sad->result = result; |
323 | a->lsm_pre_audit = smack_log_callback; | ||
324 | 324 | ||
325 | common_lsm_audit(a); | 325 | common_lsm_audit(a, smack_log_callback, NULL); |
326 | } | 326 | } |
327 | #else /* #ifdef CONFIG_AUDIT */ | 327 | #else /* #ifdef CONFIG_AUDIT */ |
328 | void smack_log(char *subject_label, char *object_label, int request, | 328 | void smack_log(char *subject_label, char *object_label, int request, |