Re: [PATCH] auditsc: Use kzalloc instead of kmalloc+memset.

From: Andrew Morton
Date: Mon Apr 08 2013 - 17:43:46 EST


On Sun, 07 Apr 2013 16:14:18 +0600 Rakib Mullick <rakib.mullick@xxxxxxxxx> wrote:

> In function audit_alloc_context(), use kzalloc, instead of kmalloc+memset. Patch also renames audit_zero_context() to
> audit_set_context(), to represent it's inner workings properly.
>
> ...
>
> --- a/kernel/auditsc.c
> +++ b/kernel/auditsc.c
> @@ -1034,10 +1034,9 @@ static inline void audit_free_aux(struct audit_context *context)
> }
> }
>
> -static inline void audit_zero_context(struct audit_context *context,
> +static inline void audit_set_context(struct audit_context *context,
> enum audit_state state)
> {
> - memset(context, 0, sizeof(*context));
> context->state = state;
> context->prio = state == AUDIT_RECORD_CONTEXT ? ~0ULL : 0;
> }
> @@ -1046,9 +1045,10 @@ static inline struct audit_context *audit_alloc_context(enum audit_state state)
> {
> struct audit_context *context;
>
> - if (!(context = kmalloc(sizeof(*context), GFP_KERNEL)))
> + context = kzalloc(sizeof(*context), GFP_KERNEL);
> + if (!context)
> return NULL;
> - audit_zero_context(context, state);
> + audit_set_context(context, state);
> INIT_LIST_HEAD(&context->killed_trees);
> INIT_LIST_HEAD(&context->names_list);
> return context;

Fair enough. I'd go futher...

From: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
Subject: auditsc-use-kzalloc-instead-of-kmallocmemset-fix

remove audit_set_context() altogether - fold it into its caller

Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx>
Cc: Eric Paris <eparis@xxxxxxxxxx>
Cc: Rakib Mullick <rakib.mullick@xxxxxxxxx>
Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
---

kernel/auditsc.c | 10 ++--------
1 file changed, 2 insertions(+), 8 deletions(-)

diff -puN kernel/auditsc.c~auditsc-use-kzalloc-instead-of-kmallocmemset-fix kernel/auditsc.c
--- a/kernel/auditsc.c~auditsc-use-kzalloc-instead-of-kmallocmemset-fix
+++ a/kernel/auditsc.c
@@ -1034,13 +1034,6 @@ static inline void audit_free_aux(struct
}
}

-static inline void audit_set_context(struct audit_context *context,
- enum audit_state state)
-{
- context->state = state;
- context->prio = state == AUDIT_RECORD_CONTEXT ? ~0ULL : 0;
-}
-
static inline struct audit_context *audit_alloc_context(enum audit_state state)
{
struct audit_context *context;
@@ -1048,7 +1041,8 @@ static inline struct audit_context *audi
context = kzalloc(sizeof(*context), GFP_KERNEL);
if (!context)
return NULL;
- audit_set_context(context, state);
+ context->state = state;
+ context->prio = state == AUDIT_RECORD_CONTEXT ? ~0ULL : 0;
INIT_LIST_HEAD(&context->killed_trees);
INIT_LIST_HEAD(&context->names_list);
return context;
_

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/