From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Wang Subject: [PATCH] audit: fix potential null dereference 'context->module.name' Date: Tue, 24 Jul 2018 13:57:14 +0800 Message-ID: <1532411834-33775-1-git-send-email-wang.yi59@zte.com.cn> Return-path: Sender: linux-kernel-owner@vger.kernel.org To: paul@paul-moore.com Cc: eparis@redhat.com, linux-audit@redhat.com, linux-kernel@vger.kernel.org, jiang.biao2@zte.com.cn, wang.yi59@zte.com.cn, zhong.weidong@zte.com.cn List-Id: linux-audit@redhat.com The variable 'context->module.name' may be null pointer when kmalloc return null, so it's better to check it before using to avoid null dereference. Signed-off-by: Yi Wang Reviewed-by: Jiang Biao --- kernel/auditsc.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/kernel/auditsc.c b/kernel/auditsc.c index e80459f..4830b83 100644 --- a/kernel/auditsc.c +++ b/kernel/auditsc.c @@ -1272,8 +1272,12 @@ static void show_special(struct audit_context *context, int *call_panic) break; case AUDIT_KERN_MODULE: audit_log_format(ab, "name="); - audit_log_untrustedstring(ab, context->module.name); - kfree(context->module.name); + if (context->module.name) { + audit_log_untrustedstring(ab, context->module.name); + kfree(context->module.name); + } else + audit_log_format(ab, "(null)"); + break; } audit_log_end(ab); @@ -2409,7 +2413,8 @@ void __audit_log_kern_module(char *name) struct audit_context *context = current->audit_context; context->module.name = kmalloc(strlen(name) + 1, GFP_KERNEL); - strcpy(context->module.name, name); + if (context->module.name) + strcpy(context->module.name, name); context->type = AUDIT_KERN_MODULE; } -- 1.8.3.1