| From d29fe51931bdde7291896d7584ca3d4bb7fcd75a Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 7 May 2020 23:34:28 +0200 |
| Subject: dlm: remove BUG() before panic() |
| |
| From: Arnd Bergmann <arnd@arndb.de> |
| |
| [ Upstream commit fe204591cc9480347af7d2d6029b24a62e449486 ] |
| |
| 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: e7fd41792fc0 ("[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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| fs/dlm/dlm_internal.h | 1 - |
| 1 file changed, 1 deletion(-) |
| |
| diff --git a/fs/dlm/dlm_internal.h b/fs/dlm/dlm_internal.h |
| index 748e8d59e6111..cb287df13a7aa 100644 |
| --- a/fs/dlm/dlm_internal.h |
| +++ b/fs/dlm/dlm_internal.h |
| @@ -99,7 +99,6 @@ do { \ |
| __LINE__, __FILE__, #x, jiffies); \ |
| {do} \ |
| printk("\n"); \ |
| - BUG(); \ |
| panic("DLM: Record message above and reboot.\n"); \ |
| } \ |
| } |
| -- |
| 2.25.1 |
| |