• Rafael Aquini's avatar
    kernel: add panic_on_taint · db38d5c1
    Rafael Aquini authored
    Analogously to the introduction of panic_on_warn, this patch introduces
    a kernel option named panic_on_taint in order to provide a simple and
    generic way to stop execution and catch a coredump when the kernel gets
    tainted by any given flag.
    
    This is useful for debugging sessions as it avoids having to rebuild the
    kernel to explicitly add calls to panic() into the code sites that
    introduce the taint flags of interest.
    
    For instance, if one is interested in proceeding with a post-mortem
    analysis at the point a given code path is hitting a bad page (i.e.
    unaccount_page_cache_page(), or slab_bug()), a coredump can be collected
    by rebooting the kernel with 'panic_on_taint=0x20' amended to the
    command line.
    
    Another, perhaps less frequent, use for this option would be as a means
    for assuring a security policy case where only a subset of taints, or no
    single taint (in paranoid mode), is allowed for the running system.  The
    optional switch 'nousertaint' is handy in this particular scenario, as
    it will avoid userspace induced crashes by writes to sysctl interface
    /proc/sys/kernel/tainted causing false positive hits for such policies.
    
    [akpm@linux-foundation.org: tweak kernel-parameters.txt wording]
    Suggested-by: default avatarQian Cai <cai@lca.pw>
    Signed-off-by: default avatarRafael Aquini <aquini@redhat.com>
    Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
    Reviewed-by: default avatarLuis Chamberlain <mcgrof@kernel.org>
    Cc: Dave Young <dyoung@redhat.com>
    Cc: Baoquan He <bhe@redhat.com>
    Cc: Jonathan Corbet <corbet@lwn.net>
    Cc: Kees Cook <keescook@chromium.org>
    Cc: Randy Dunlap <rdunlap@infradead.org>
    Cc: "Theodore Ts'o" <tytso@mit.edu>
    Cc: Adrian Bunk <bunk@kernel.org>
    Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    Cc: Laura Abbott <labbott@redhat.com>
    Cc: Jeff Mahoney <jeffm@suse.com>
    Cc: Jiri Kosina <jikos@kernel.org>
    Cc: Takashi Iwai <tiwai@suse.de>
    Link: http://lkml.kernel.org/r/20200515175502.146720-1-aquini@redhat.comSigned-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
    db38d5c1
panic.c 18 KB