58823a9b09
ubsan: remove CONFIG_UBSAN_OBJECT_SIZE
...
commit 69d0db01e2
upstream.
The object-size sanitizer is redundant to -Warray-bounds, and
inappropriately performs its checks at run-time when all information
needed for the evaluation is available at compile-time, making it quite
difficult to use:
https://bugzilla.kernel.org/show_bug.cgi?id=214861
With -Warray-bounds almost enabled globally, it doesn't make sense to
keep this around.
Link: https://lkml.kernel.org/r/20211203235346.110809-1-keescook@chromium.org
Signed-off-by: Kees Cook <keescook@chromium.org >
Reviewed-by: Marco Elver <elver@google.com >
Cc: Masahiro Yamada <masahiroy@kernel.org >
Cc: Michal Marek <michal.lkml@markovi.net >
Cc: Nick Desaulniers <ndesaulniers@google.com >
Cc: Nathan Chancellor <nathan@kernel.org >
Cc: Andrey Ryabinin <ryabinin.a.a@gmail.com >
Cc: "Peter Zijlstra (Intel)" <peterz@infradead.org >
Cc: Stephen Rothwell <sfr@canb.auug.org.au >
Cc: Arnd Bergmann <arnd@arndb.de >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
Signed-off-by: Tadeusz Struk <tadeusz.struk@linaro.org >
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org >
2022-04-13 21:01:10 +02:00
9d7ca61b13
lib/test_ubsan.c: VLA no longer used in kernel
...
Since we now build with -Wvla, any use of VLA throws a warning.
Including this test, so... maybe we should just remove the test?
lib/test_ubsan.c: In function 'test_ubsan_vla_bound_not_positive':
lib/test_ubsan.c:48:2: warning: ISO C90 forbids variable length array 'buf' [-Wvla]
For the out-of-bounds test, switch to non-VLA setup.
lib/test_ubsan.c: In function 'test_ubsan_out_of_bounds':
lib/test_ubsan.c:64:2: warning: ISO C90 forbids variable length array 'arr' [-Wvla]
Link: http://lkml.kernel.org/r/20190113183210.56154-1-olof@lixom.net
Signed-off-by: Olof Johansson <olof@lixom.net >
Acked-by: Dmitry Vyukov <dvyukov@google.com >
Cc: Colin Ian King <colin.king@canonical.com >
Cc: Jinbum Park <jinb.park7@gmail.com >
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com >
Cc: Kees Cook <keescook@chromium.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2019-03-07 18:32:00 -08:00
3175060092
lib/test_ubsan.c: make test_ubsan_misaligned_access() static
...
test_ubsan_misaligned_access() is local to the source and does not need
to be in global scope, so make it static.
Cleans up sparse warning:
lib/test_ubsan.c:91:6: warning: symbol 'test_ubsan_misaligned_access' was not declared. Should it be static?
Link: http://lkml.kernel.org/r/20180313103048.28513-1-colin.king@canonical.com
Signed-off-by: Colin Ian King <colin.king@canonical.com >
Cc: Jinbum Park <jinb.park7@gmail.com >
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Kees Cook <keescook@chromium.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2018-04-11 10:28:35 -07:00
854686f4ed
lib: add testing module for UBSAN
...
This is a test module for UBSAN. It triggers all undefined behaviors
that linux supports now, and detect them.
All test-cases have passed by compiling with gcc-5.5.0.
If use gcc-4.9.x, misaligned, out-of-bounds, object-size-mismatch will not
be detected. Because gcc-4.9.x doesn't support them.
Link: http://lkml.kernel.org/r/20180309102247.GA2944@pjb1027-Latitude-E5410
Signed-off-by: Jinbum Park <jinb.park7@gmail.com >
Cc: Andrey Ryabinin <aryabinin@virtuozzo.com >
Cc: Dmitry Vyukov <dvyukov@google.com >
Cc: Kees Cook <keescook@chromium.org >
Signed-off-by: Andrew Morton <akpm@linux-foundation.org >
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org >
2018-04-11 10:28:35 -07:00