powerpc/modules: Use WARN_ON() in stub_for_addr()
authorKamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Tue, 10 Oct 2017 14:47:32 +0000 (20:17 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Fri, 13 Oct 2017 08:41:57 +0000 (19:41 +1100)
Use WARN_ON(), while running out of stubs in stub_for_addr()
and abort loading of the module instead of BUG_ON().

Signed-off-by: Kamalesh Babulal <kamalesh@linux.vnet.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/module_64.c

index 0b0f89685b679745895251b011d0db522d4558e1..759104b99f9feb5940d186d0402ab5622e7ca347 100644 (file)
@@ -429,7 +429,8 @@ static unsigned long stub_for_addr(const Elf64_Shdr *sechdrs,
        /* Find this stub, or if that fails, the next avail. entry */
        stubs = (void *)sechdrs[me->arch.stubs_section].sh_addr;
        for (i = 0; stub_func_addr(stubs[i].funcdata); i++) {
-               BUG_ON(i >= num_stubs);
+               if (WARN_ON(i >= num_stubs))
+                       return 0;
 
                if (stub_func_addr(stubs[i].funcdata) == func_addr(addr))
                        return (unsigned long)&stubs[i];