Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1676102 > unrolled thread

[PATCH] sh: mark end of BUG() implementation as unreachable

Started byKees Cook <keescook@chromium.org>
First post2017-06-27 21:30 +0200
Last post2017-06-27 21:30 +0200
Articles 1 — 1 participant

Back to article view | Back to linux.kernel


Contents

  [PATCH] sh: mark end of BUG() implementation as unreachable Kees Cook <keescook@chromium.org> - 2017-06-27 21:30 +0200

#1676102 — [PATCH] sh: mark end of BUG() implementation as unreachable

FromKees Cook <keescook@chromium.org>
Date2017-06-27 21:30 +0200
Subject[PATCH] sh: mark end of BUG() implementation as unreachable
Message-ID<tX4lt-4ZQ-37@gated-at.bofh.it>
When building the sh architecture, the compiler doesn't realize that
BUG() doesn't return, so it will complain about functions using BUG()
that are marked with the noreturn attribute:

   lib/string.c: In function 'fortify_panic':
>> lib/string.c:986:1: warning: 'noreturn' function does return
    }
    ^

Cc: Yoshinori Sato <ysato@users.sourceforge.jp>
Cc: Rich Felker <dalias@libc.org>
Cc: Daniel Micay <danielmicay@gmail.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
---
 arch/sh/include/asm/bug.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/arch/sh/include/asm/bug.h b/arch/sh/include/asm/bug.h
index 1b77f068be2b..c9828f785ca0 100644
--- a/arch/sh/include/asm/bug.h
+++ b/arch/sh/include/asm/bug.h
@@ -48,6 +48,7 @@ do {							\
 		   "i" (__FILE__),			\
 		   "i" (__LINE__), "i" (0),		\
 		   "i" (sizeof(struct bug_entry)));	\
+	unreachable();					\
 } while (0)
 
 #define __WARN_FLAGS(flags)				\
-- 
2.7.4


-- 
Kees Cook
Pixel Security

[toc] | [standalone]


Back to top | Article view | linux.kernel


csiph-web