From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751548AbdJBTUW (ORCPT ); Mon, 2 Oct 2017 15:20:22 -0400 Received: from mail-pg0-f51.google.com ([74.125.83.51]:56186 "EHLO mail-pg0-f51.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751266AbdJBTUQ (ORCPT ); Mon, 2 Oct 2017 15:20:16 -0400 X-Google-Smtp-Source: AOwi7QBQg60iGv1snVyxPfSPpBUHQprwLjQGd/F4LbJdci2BI3cJteDHzjVH9iJeZT2IRAQtj9zlAQ== From: Kees Cook To: Andrew Morton Cc: Kees Cook , Masahiro Yamada , Michal Marek , Yoshinori Sato , Rich Felker , Ingo Molnar , "David S. Miller" , Nicholas Piggin , Al Viro , Laura Abbott , linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, linux-sh@vger.kernel.org, kernel-hardening@lists.openwall.com Subject: [PATCH 0/3] Makefile: Introduce CONFIG_CC_STACKPROTECTOR_AUTO Date: Mon, 2 Oct 2017 12:20:04 -0700 Message-Id: <1506972007-80614-1-git-send-email-keescook@chromium.org> X-Mailer: git-send-email 2.7.4 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As described in the final patch: Nearly all modern compilers support a stack-protector option, and nearly all modern distributions enable the kernel stack-protector, so enabling this by default in kernel builds would make sense. However, Kconfig does not have knowledge of available compiler features, so it isn't safe to force on, as this would unconditionally break builds for the compilers or architectures that don't have support. Instead, this introduces a new option, CONFIG_CC_STACKPROTECTOR_AUTO, which attempts to discover the best possible stack-protector available, and will allow builds to proceed even if the compiler doesn't support any stack-protector. This option is made the default so that kernels built with modern compilers will be protected-by-default against stack buffer overflows, avoiding things like the recent BlueBorne attack. Selection of a specific stack-protector option remains available, including disabling it. This has lived over the weekend in 0-day, which noticed that sh needed a small fix (which has actually been needed since the addition of the _STRONG stack-protector, some time ago). Thanks, -Kees