@@ -392,11 +392,15 @@ void common_lsm_audit(struct common_audit_data *a,
void (*post_audit)(struct audit_buffer *, void *))
{
struct audit_buffer *ab;
+ struct user_namespace *ns;
if (a == NULL)
return;
+
+ ns = current_user_ns();
/* we use GFP_ATOMIC so we won't sleep */
- ab = audit_log_start(current->audit_context, GFP_ATOMIC, AUDIT_AVC);
+ ab = audit_log_start_ns(ns, current->audit_context,
+ GFP_ATOMIC, AUDIT_AVC);
if (ab == NULL)
return;
@@ -409,5 +413,5 @@ void common_lsm_audit(struct common_audit_data *a,
if (post_audit)
post_audit(ab, a);
- audit_log_end(ab);
+ audit_log_end_ns(ns, ab);
}
Now we can log audit message in the user namespace which current task belongs to. Signed-off-by: Gao feng <gaofeng@cn.fujitsu.com> --- security/lsm_audit.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-)