Browse Source

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>
Jim Meyering 17 years ago
parent
commit
b901d40c97
1 changed files with 6 additions and 0 deletions
  1. 6 0
      arch/alpha/kernel/module.c

+ 6 - 0
arch/alpha/kernel/module.c

@@ -120,6 +120,12 @@ module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs,
 
 
 	nsyms = symtab->sh_size / sizeof(Elf64_Sym);
 	nsyms = symtab->sh_size / sizeof(Elf64_Sym);
 	chains = kcalloc(nsyms, sizeof(struct got_entry), GFP_KERNEL);
 	chains = kcalloc(nsyms, sizeof(struct got_entry), GFP_KERNEL);
+	if (!chains) {
+		printk(KERN_ERR
+		       "module %s: no memory for symbol chain buffer\n",
+		       me->name);
+		return -ENOMEM;
+	}
 
 
 	got->sh_size = 0;
 	got->sh_size = 0;
 	got->sh_addralign = 8;
 	got->sh_addralign = 8;