diff options
author | Jim Meyering <jim@meyering.net> | 2008-04-28 05:13:44 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2008-04-28 11:58:27 -0400 |
commit | b901d40c970e6db319fe1f8d84db2b9684b6c9bf (patch) | |
tree | caa02eae1eb20eafca3af9d3bd3524be5ad82c16 /arch/alpha/kernel | |
parent | 1236cc3cf8c69bd316c940b2e94f91b3795f97fe (diff) |
alpha: handle kcalloc failure
arch/alpha/kernel/module.c (module_frob_arch_sections): Handle kcalloc failure.
Signed-off-by: Jim Meyering <meyering@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/alpha/kernel')
-rw-r--r-- | arch/alpha/kernel/module.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c index 026ba9af6d6a..ebc3c894b5a2 100644 --- a/arch/alpha/kernel/module.c +++ b/arch/alpha/kernel/module.c | |||
@@ -120,6 +120,12 @@ module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs, | |||
120 | 120 | ||
121 | nsyms = symtab->sh_size / sizeof(Elf64_Sym); | 121 | nsyms = symtab->sh_size / sizeof(Elf64_Sym); |
122 | chains = kcalloc(nsyms, sizeof(struct got_entry), GFP_KERNEL); | 122 | chains = kcalloc(nsyms, sizeof(struct got_entry), GFP_KERNEL); |
123 | if (!chains) { | ||
124 | printk(KERN_ERR | ||
125 | "module %s: no memory for symbol chain buffer\n", | ||
126 | me->name); | ||
127 | return -ENOMEM; | ||
128 | } | ||
123 | 129 | ||
124 | got->sh_size = 0; | 130 | got->sh_size = 0; |
125 | got->sh_addralign = 8; | 131 | got->sh_addralign = 8; |