From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932966AbdC2VS5 (ORCPT ); Wed, 29 Mar 2017 17:18:57 -0400 Received: from mout.kundenserver.de ([212.227.126.134]:56152 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932748AbdC2VS1 (ORCPT ); Wed, 29 Mar 2017 17:18:27 -0400 From: Arnd Bergmann To: Ingo Molnar , Peter Zijlstra Cc: Arnd Bergmann , Josh Triplett , Thomas Gleixner , "H. Peter Anvin" , x86@kernel.org, Josh Poimboeuf , linux-kernel@vger.kernel.org Subject: [PATCH] x86/debug: define BUG() againfor !CONFIG_BUG Date: Wed, 29 Mar 2017 23:16:31 +0200 Message-Id: <20170329211646.2707365-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:+DzjjH7nO4AhqJnySmr7Qfsg4XwV7iGASSKTvU5YaqTOECl2GUY MAv0mhNzYBHq8yQUyyywG1tJTdLLaWKKW902qPu1cWqNta2YDhV4I/d6P3BsOK9fGZ8HY+g +jV2Ax1tpDwwRZiiym3qExL8FvG7r+fhA3JGGpTi1Lvtihf2FM8Ob7F4yw+3tZNi2fq6Exu h3FKStCWmsWyeyUTKHuDw== X-UI-Out-Filterresults: notjunk:1;V01:K0:RQAoXyH1Njo=:5pSauzyZGk7ASd1+g828eP FjA+uvhXfZXWGlGNjw2yEmgOYabxncxWDi7tlR2V3kTtZT21bTJYxbHo+nxnKupYionv7gyUi l2MKyUlDYy20i6FrXbxO86tCGJtuBAfyN51QBDXSkkvHMudJG1FkLO9QJbXfor5aD9wGY0d35 tWOx5Kv7b0f1yoYnIzLJCYoiy+kzr+AuUSqZS6dytLAAUxaCx38ZbvN4Q8tllv62cOHMcW6/g qFW0mhnu2YS9XjQSfYqNtXzrh4a/+saSLZcdE5PAq9DfnngvMU/MwsYvdc2VyMT7Y93gXj/B2 RI5xWIWjcGPha/OL1aF+U1RFXD0BrG6U6vG3DgkNyhdrb5NMiipHgzVDAIlJtcRyv30izwd3c 9TOIlM/cMvQ2GUPJqCfBKHtmbNYfX2wtLVEPCTYbd3UklGeYRI4IC6otan2yi7WtFrEZZQ8kx 8cT9X9c+BTUU+2GBioBqKsdPZKEOzdwyAZrPz7KZoKnATStr6musf/AuFrv5R0XkP1rTpQQ8s lx8HyPfPCI/DKLiArSX+AGffvaVanO0v2d6ak28cy+LghO3bKgfC2G1rAqLyDwAS2OiDpe1lt OmQX1AXrQX3K3POdrlZanLiLS0RTk4C9tZEiDkt6J6HinIYq4rTlx9WDGhoguF9jzWCh1+HOj sYTa/dJOZrEDFwPRwT+yLpl+DNcdqT0peb0fPJ/nzPXM4puxN7xR+0VjhZ+poD80bqVE= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The latest change to the BUG() macro inadvertently reverted the earlier commit b06dd879f5db ("x86: always define BUG() and HAVE_ARCH_BUG, even with !CONFIG_BUG") that sanitized the behavior with CONFIG_BUG=n. I noticed this as some warnings have appeared again that were previously fixed as a side effect of that patch: kernel/seccomp.c: In function '__seccomp_filter': kernel/seccomp.c:670:1: error: no return statement in function returning non-void [-Werror=return-type] drivers/gpu/drm/i915/intel_sprite.c: In function 'intel_check_sprite_plane': drivers/gpu/drm/i915/intel_sprite.c:936:20: error: 'src_h' may be used uninitialized in this function [-Werror=maybe-uninitialized] src->y2 = (src_y + src_h) << 16; ~~~~~~~^~~~~~~~ drivers/gpu/drm/i915/intel_sprite.c:934:20: error: 'src_w' may be used uninitialized in this function [-Werror=maybe-uninitialized] src->x2 = (src_x + src_w) << 16; ~~~~~~~^~~~~~~~ drivers/gpu/drm/i915/intel_sprite.c:936:20: error: 'src_y' may be used uninitialized in this function [-Werror=maybe-uninitialized] src->y2 = (src_y + src_h) << 16; ~~~~~~~^~~~~~~~ drivers/gpu/drm/i915/intel_sprite.c:934:20: error: 'src_x' may be used uninitialized in this function [-Werror=maybe-uninitialized] src->x2 = (src_x + src_w) << 16; ~~~~~~~^~~~~~~~ This combines the two patches and uses the ud2 macro to define BUG() in case of CONFIG_BUG=n. Fixes: 9a93848fe787 ("x86/debug: Implement __WARN() using UD0") Cc: Josh Triplett Signed-off-by: Arnd Bergmann --- arch/x86/include/asm/bug.h | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/arch/x86/include/asm/bug.h b/arch/x86/include/asm/bug.h index 4fde330c44b7..cecf559d0012 100644 --- a/arch/x86/include/asm/bug.h +++ b/arch/x86/include/asm/bug.h @@ -23,7 +23,6 @@ #define LEN_UD0 2 #ifdef CONFIG_GENERIC_BUG -#define HAVE_ARCH_BUG #ifdef CONFIG_X86_32 # define __BUG_REL(val) ".long " __stringify(val) @@ -64,6 +63,13 @@ do { \ #endif /* CONFIG_DEBUG_BUGVERBOSE */ +#else + +#define _BUG_FLAGS(ins, flags) asm volatile(ins) + +#endif /* CONFIG_GENERIC_BUG */ + +#define HAVE_ARCH_BUG #define BUG() \ do { \ _BUG_FLAGS(ASM_UD2, 0); \ @@ -72,8 +78,6 @@ do { \ #define __WARN_TAINT(taint) _BUG_FLAGS(ASM_UD0, BUGFLAG_TAINT(taint)) -#endif /* CONFIG_GENERIC_BUG */ - #include #endif /* _ASM_X86_BUG_H */ -- 2.9.0