[PATCH v2 0/2] UBSan: run-time undefined behavior sanity checker
From: Andrey Ryabinin
Date: Fri Nov 14 2014 - 07:51:18 EST
Next spin of UBSan and there are two patches from now.
"Two there should be; no more, no less. One to embody the UBSan,
the other to not deadlock it."
Patches on top of v3.18-rc4. As usual they are available in git:
git://github.com/aryabinin/linux ubsan/v2
Changes since v1:
- Refactoring and cleanups in lib/ubsan.c including Sasha's complains.
- Some spelling fixes from Randy
- Fixed possible memory corruption on 64 big endian machines, spotted by Rasmus.
- Links to the relevant GCC documentation added into changelog (Peter).
- Added documentation.
- Fix deadlock caused by kernel/printk/printk.c instrumentation
(patch "kernel: printk: specify alignment for struct printk_log").
- Dropped useless 'Indirect call of a function through a function pointer of the wrong type'
checker. GCC doesn't support this, and as clang manual says it's for C++ only.
- Added checker for __builtin_unreachable() calls.
- Removed redundant -fno-sanitize=float-cast-overflow from CFLAGS.
- Added lock to prevent mixing reports.
Andrey Ryabinin (2):
kernel: printk: specify alignment for struct printk_log
UBSan: run-time undefined behavior sanity checker
Documentation/ubsan.txt | 69 +++++
Makefile | 10 +-
arch/x86/Kconfig | 1 +
arch/x86/boot/Makefile | 1 +
arch/x86/boot/compressed/Makefile | 1 +
arch/x86/realmode/rm/Makefile | 1 +
arch/x86/vdso/Makefile | 2 +
drivers/firmware/efi/libstub/Makefile | 1 +
include/linux/sched.h | 3 +
kernel/printk/printk.c | 10 +-
lib/Kconfig.debug | 22 ++
lib/Makefile | 3 +
lib/ubsan.c | 567 ++++++++++++++++++++++++++++++++++
lib/ubsan.h | 84 +++++
scripts/Makefile.lib | 6 +
15 files changed, 775 insertions(+), 6 deletions(-)
create mode 100644 Documentation/ubsan.txt
create mode 100644 lib/ubsan.c
create mode 100644 lib/ubsan.h
--
2.1.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/