Re: [PATCH] audit: return on memory error to avoid null pointer dereference

From: Richard Guy Briggs
Date: Wed Feb 21 2018 - 01:57:14 EST


On 2018-02-21 01:47, Richard Guy Briggs wrote:
> If there is a memory allocation error when trying to change an audit
> kernel feature value, the ignored allocation error will trigger a NULL
> pointer dereference oops on subsequent use of that pointer. Return
> instead.
>
> See: https://github.com/linux-audit/audit-kernel/issues/76
> Signed-off-by: Richard Guy Briggs <rgb@xxxxxxxxxx>

Self-NACK. It was based on local development and won't compile on
upstream. Fix pending.

> ---
> kernel/audit.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/kernel/audit.c b/kernel/audit.c
> index 196d327..31cb11d 100644
> --- a/kernel/audit.c
> +++ b/kernel/audit.c
> @@ -1063,6 +1063,8 @@ static void audit_log_feature_change(int which, u32 old_feature, u32 new_feature
> return;
>
> ab = audit_log_start(context, GFP_KERNEL, AUDIT_FEATURE_CHANGE);
> + if (!ab)
> + return;
> audit_log_task_info(ab, current);
> audit_log_format(ab, " feature=%s old=%u new=%u old_lock=%u new_lock=%u res=%d",
> audit_feature_names[which], !!old_feature, !!new_feature,
> --
> 1.8.3.1
>

- RGB

--
Richard Guy Briggs <rgb@xxxxxxxxxx>
Sr. S/W Engineer, Kernel Security, Base Operating Systems
Remote, Ottawa, Red Hat Canada
IRC: rgb, SunRaycer
Voice: +1.647.777.2635, Internal: (81) 32635