treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
This commit is contained in:
@@ -661,7 +661,7 @@ static int kdb_defcmd2(const char *cmdstr, const char *argv0)
|
||||
return 0;
|
||||
}
|
||||
|
||||
kms = kmalloc(sizeof(*kms), GFP_KDB);
|
||||
kms = kmalloc_obj(*kms, GFP_KDB);
|
||||
if (!kms) {
|
||||
kdb_printf("Could not allocate new kdb macro command: %s\n",
|
||||
cmdstr);
|
||||
@@ -707,7 +707,7 @@ static int kdb_defcmd(int argc, const char **argv)
|
||||
kdb_printf("Command only available during kdb_init()\n");
|
||||
return KDB_NOTIMP;
|
||||
}
|
||||
kdb_macro = kzalloc(sizeof(*kdb_macro), GFP_KDB);
|
||||
kdb_macro = kzalloc_obj(*kdb_macro, GFP_KDB);
|
||||
if (!kdb_macro)
|
||||
goto fail_defcmd;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user