directly use kmalloc() and kfree() in init/initramfs.c
Instead of using the malloc() and free() wrappers needed by the lib/inflate.c code for allocations, simply use kmalloc() and kfree() in the initramfs code. This is needed for a further lib/inflate.c-related cleanup patch that will remove the malloc() and free() functions. Take that opportunity to remove the useless kmalloc() return value cast. Based on work done by Matt Mackall. Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com> Signed-off-by: Matt Mackall <mpm@selenic.com> Cc: Jan Engelhardt <jengelh@computergmbh.de> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
Родитель
5f97a5a879
Коммит
3265e66b18
|
@ -57,7 +57,7 @@ static char __init *find_link(int major, int minor, int ino,
|
|||
continue;
|
||||
return (*p)->name;
|
||||
}
|
||||
q = (struct hash *)malloc(sizeof(struct hash));
|
||||
q = kmalloc(sizeof(struct hash), GFP_KERNEL);
|
||||
if (!q)
|
||||
panic("can't allocate link hash entry");
|
||||
q->major = major;
|
||||
|
@ -77,7 +77,7 @@ static void __init free_hash(void)
|
|||
while (*p) {
|
||||
q = *p;
|
||||
*p = q->next;
|
||||
free(q);
|
||||
kfree(q);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -445,10 +445,10 @@ static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
|
|||
{
|
||||
int written;
|
||||
dry_run = check_only;
|
||||
header_buf = malloc(110);
|
||||
symlink_buf = malloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1);
|
||||
name_buf = malloc(N_ALIGN(PATH_MAX));
|
||||
window = malloc(WSIZE);
|
||||
header_buf = kmalloc(110, GFP_KERNEL);
|
||||
symlink_buf = kmalloc(PATH_MAX + N_ALIGN(PATH_MAX) + 1, GFP_KERNEL);
|
||||
name_buf = kmalloc(N_ALIGN(PATH_MAX), GFP_KERNEL);
|
||||
window = kmalloc(WSIZE, GFP_KERNEL);
|
||||
if (!window || !header_buf || !symlink_buf || !name_buf)
|
||||
panic("can't allocate buffers");
|
||||
state = Start;
|
||||
|
@ -484,10 +484,10 @@ static char * __init unpack_to_rootfs(char *buf, unsigned len, int check_only)
|
|||
buf += inptr;
|
||||
len -= inptr;
|
||||
}
|
||||
free(window);
|
||||
free(name_buf);
|
||||
free(symlink_buf);
|
||||
free(header_buf);
|
||||
kfree(window);
|
||||
kfree(name_buf);
|
||||
kfree(symlink_buf);
|
||||
kfree(header_buf);
|
||||
return message;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче