]> git.baikalelectronics.ru Git - kernel.git/commit
dlm: remove BUG() before panic()
authorArnd Bergmann <arnd@arndb.de>
Thu, 7 May 2020 21:34:28 +0000 (23:34 +0200)
committerDavid Teigland <teigland@redhat.com>
Tue, 12 May 2020 19:06:18 +0000 (14:06 -0500)
commitf0fdbf6f63970f3c58c5160aa56a3d9f28621dfc
treead4dcec100a1b6c2de25ba9dc9d21f5ebce9440d
parent1cb3a1d1c9ceb2653684e345f2d787ebb4d9b6db
dlm: remove BUG() before panic()

Building a kernel with clang sometimes fails with an objtool error in dlm:

fs/dlm/lock.o: warning: objtool: revert_lock_pc()+0xbd: can't find jump dest instruction at .text+0xd7fc

The problem is that BUG() never returns and the compiler knows
that anything after it is unreachable, however the panic still
emits some code that does not get fully eliminated.

Having both BUG() and panic() is really pointless as the BUG()
kills the current process and the subsequent panic() never hits.
In most cases, we probably don't really want either and should
replace the DLM_ASSERT() statements with WARN_ON(), as has
been done for some of them.

Remove the BUG() here so the user at least sees the panic message
and we can reliably build randconfig kernels.

Fixes: ae5bef69e6aa ("[DLM] The core of the DLM for GFS2/CLVM")
Cc: Josh Poimboeuf <jpoimboe@redhat.com>
Cc: clang-built-linux@googlegroups.com
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: David Teigland <teigland@redhat.com>
fs/dlm/dlm_internal.h