From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from aserp1040.oracle.com ([141.146.126.69]:39638 "EHLO aserp1040.oracle.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754645AbbKCRVu (ORCPT ); Tue, 3 Nov 2015 12:21:50 -0500 Subject: Re: [PATCH v2 0/2] UBSan: run-time undefined behavior sanity checker References: <1415969446-26356-1-git-send-email-a.ryabinin@samsung.com> From: Sasha Levin Message-ID: <5638ECEC.1030604@oracle.com> Date: Tue, 3 Nov 2015 12:20:44 -0500 MIME-Version: 1.0 In-Reply-To: <1415969446-26356-1-git-send-email-a.ryabinin@samsung.com> Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 7bit Sender: linux-kbuild-owner@vger.kernel.org List-ID: To: Andrey Ryabinin , linux-kernel@vger.kernel.org Cc: Andrew Morton , Peter Zijlstra , Randy Dunlap , Rasmus Villemoes , Jonathan Corbet , Michal Marek , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , Yury Gribov , Dmitry Vyukov , Konstantin Khlebnikov , x86@kernel.org, linux-doc@vger.kernel.org, linux-kbuild@vger.kernel.org Anyone knows why wasn't this merged a year ago? I didn't see any review comments, and it ended up finding real bugs. On 11/14/2014 07:50 AM, Andrey Ryabinin wrote: > 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 >