From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 41443C27C76 for ; Sun, 22 Jan 2023 13:54:37 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 71EE46B0072; Sun, 22 Jan 2023 08:54:36 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 6CBDF6B0073; Sun, 22 Jan 2023 08:54:36 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 593886B0074; Sun, 22 Jan 2023 08:54:36 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 471786B0072 for ; Sun, 22 Jan 2023 08:54:36 -0500 (EST) Received: from smtpin17.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id 142D1140157 for ; Sun, 22 Jan 2023 13:54:36 +0000 (UTC) X-FDA: 80382580152.17.60D3ECE Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf18.hostedemail.com (Postfix) with ESMTP id 550721C0014 for ; Sun, 22 Jan 2023 13:54:33 +0000 (UTC) Authentication-Results: imf18.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=dn2A8irw; spf=pass (imf18.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1674395673; a=rsa-sha256; cv=none; b=xSmdPygcHM9HI8IMifpjNojZ8pGpjxi9sF5B1yIBT92xJ1KmqROndD7Ygei2AS6gsh25mq tquv4iXbkCDQtfBv0bADZy60XuHLWPA3nxo1elPot3ewpLdPKUNLZLHbRS1p4BdE2w3yE6 i55rhngu2/THBPVCVBUc0q3wh/PdNrA= ARC-Authentication-Results: i=1; imf18.hostedemail.com; dkim=pass header.d=linuxfoundation.org header.s=korg header.b=dn2A8irw; spf=pass (imf18.hostedemail.com: domain of gregkh@linuxfoundation.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org; dmarc=pass (policy=none) header.from=linuxfoundation.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1674395673; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding:in-reply-to: references:dkim-signature; bh=SLRgZlL57wW8C0dqM1PoINtRmgX8oqd7dqFbX9mKpnk=; b=gTyDuMITJDkvgSzt2iw9uBOFlNCphTQy9IUssIrDFIiBZSoQZqA2UjeptHWIaFJrdpd+TH 2xVJOYoRajdOns5sTp6b4DrY5CSdeYvuZTDVldNGBjebkiy3LD7nD6FxK3C50mIRIzhWtK j8tbmUAG6/EQLQ2R8feomHrx6f8OgkQ= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 075D060C17; Sun, 22 Jan 2023 13:54:32 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC19FC433D2; Sun, 22 Jan 2023 13:54:30 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1674395671; bh=lY3FFdinRSaDhKirh5bFJSvc8+pQ/LAh7BdKAzKz2TU=; h=Subject:To:Cc:From:Date:From; b=dn2A8irwtBInzWmxjznSvk/1ehs8LYmnyS73FDIor63lIK6zsMqTVc/DiOKw8wjvV zTnr3YI+ZQl/0o3aZMw18kRkVKlE5D63I8iVcHIBMDKZbT/5Pu5juvEIGE4LR31hLx mFSV17qx9uadOAVJA6ppssXogli+RL17PYaeadVQ= Subject: Patch "panic: Consolidate open-coded panic_on_warn checks" has been added to the 6.1-stable tree To: akpm@linux-foundation.org,andreyknvl@gmail.com,bigeasy@linutronix.de,bristot@redhat.com,bsegall@google.com,davidgow@google.com,dietmar.eggemann@arm.com,dvyukov@google.com,elver@google.com,glider@google.com,gpiccoli@igalia.com,gregkh@linuxfoundation.org,jannh@google.com,juri.lelli@redhat.com,kasan-dev@googlegroups.com,keescook@chromium.org,linux-mm@kvack.org,mcgrof@kernel.org,mgorman@suse.de,mingo@redhat.com,paulmck@kernel.org,peterz@infradead.org,pmladek@suse.com,rostedt@goodmis.org,ryabinin.a.a@gmail.com,skhan@linuxfoundation.org,tangmeng@uniontech.com,vincent.guittot@linaro.org,vincenzo.frascino@arm.com,vschneid@redhat.com,yangtiezhu@loongson.cn Cc: From: Date: Sun, 22 Jan 2023 14:54:18 +0100 Message-ID: <1674395658195135@kroah.com> MIME-Version: 1.0 Content-Type: text/plain; charset=ANSI_X3.4-1968 Content-Transfer-Encoding: 8bit X-stable: commit X-Patchwork-Hint: ignore X-Rspam-User: X-Rspamd-Queue-Id: 550721C0014 X-Rspamd-Server: rspam01 X-Stat-Signature: ih4kdaud6tr7pg1ekbjrymtgbq1tp4ze X-HE-Tag: 1674395673-115832 X-HE-Meta: U2FsdGVkX19qHov37hqzlXlGrl8UyBTkpnoLEpZ5H+I0YGEIrFMyNep6+ZTTKEXPX2WA+gTfOCML+Q/QtlWOmyUQwAPOqsyhbEsqNQME6TyOjz5q6AHwdH6e6jWFty14e3vF3+XrIyVMLq3o3T3W9bv6l0G/TUROVg0CesVdgHx3y+3n/esw/GAtWqfmsRYcsnEGIByxkW/6fXGsPf6oBrwcKYFCxFrSGExPnHr6ORw1qOpt4BrIocz75QF+t4nRoNhtPuotRtfr0lNVqeNhpUo6WwxW9+Zgk/F0cQoYCnaBeJeCFeJ1ds1aQS6UDPc1tXgKTED0Th2qlFGolG/YwR5S5OKkJZwiMe44QJuVCRMkaXhAy+IN3E/iJN7K9+CD2kVcfLFaDNRMPsty5EBz1xSjZjMSwRF+1o6ivgU6jaDIUlGt/egiIWcI/Wz68N48HjGxFSrbkJWHjotnszz7QCxqVQGtGdG8S8UHM9CjQP14ydWpGrwdI40k+iyzqvHhOAuhN2qeCGWaPkuNh5CtpFf47+LujXIS/NtK/xVLj4fa9XmowLiqWzh79irYglBi9rtvgO9CM71CmwCyLddoIRiK4FBDXD7/rLjk/5CZLltHW1ydpNt6nYQTseQyGp4kXR4FNpSbkJFKSu0jx+RFqfij8J9EV3YrKkRyr7COUrzcHC5I/OrvylG8JxuvSzAZggDxplb5Ly2VY7lVbd7yFPqGZLgn3I7GWIILLluL1Sd3GlRVMxE/1aykq/vt2L+XBpmXCiQUxuByYQ2l2vwJAp/akgmVk91ia5jZ3Dc6BB1O0/9WXmvc7LwCEvyAdHHBuc12kjTXWnI5y1UZh4fxDuVZH+DaSxOAzJgT6a4NC8kgydEJ+PUNevE5JqcHZPN+xB3Zlhfb3WczvRSsgiABKq/mNwHBlhLBiuuGxAOUr5BfcKp5UwP8dRREa+yqhKhrC67I1Uv1R3F7vp5r5rW XdVfvrfz nBpgpcUFhIYjlms7YP+VxuWrhsBZpilYGrnAfULJHD7sOhYvcJfw8g1rXs2MdGvTHAlP+ppO1BzZoMMfMucOj28hpF0moAaCJvMyT/58c09+lEvfvJK8ub2AXjjIYSmdr5EaWQTTdiTqrbvRPYWbOL4WoGn9UJy9GQjsPhk/ajgIjiNJNLmP5+GRkkawrTYR5q3f+s5iIlWhzAB7RglByOphXmXFXfExspER4xkV/HamYTf/2H0oB5yfeQJoy+X0ihSmgiJ95ZQXjsnmtQeGNo9iNEVj87sokNAMP2k8q2q00jPybfM52SKruiuaDNzXIe5yLdLwZ5yAMQYVLklIuEQJC9bTF7a+Y8fAgGGehY2S1bhIPrY+6Fi8dJozi74lDl8XhIMIJIx6SjrVhMF+qssieA4505ReWJ78kSJ8FhU7pU+NvdMT8MQVgmZJe09bDquuBKOFoxZ32VB0iWksAG6kfKWIZwq+RK+80X71Fcl43+KAJxAV2OSFvS8HUzB04G1hbyortJmt5rj1CpukSnoG+fJA8/LEChnPF040bCSfOP/1HHvtm+TIukusHe6cpTv0hFWwmItK8smrzeu3eKlGCdJI8neFH8wl5lnb8n9A6d8ts5K/rtf6GFybvzq0m8HW1KvyweiKMblK4ouwAXJtd9rdzzyhCXGiMo7KlsGfC+D60tw4uO+Od32QK0gZapXsERmMvyIctOXF3D1uNV2fzAecdREhmqGJK2hHOuSwjwr89S54KOg+pxK3VVVLKUBQQn0Y5LgRfVwkLE2YZTJ75HDh0bvPVnjQlbUlFb2MdbkiuR1e7cSeRy/8F/OzSNeamjKqRWnl2lxGuhFHUWS/zQhhBYD4pehCQC+DIkkD4bH2yxsPHxJkZ/dIB5XWgrO8Mbcnmx6oFEcv8DRAIWpdqfdLa7xwvyT6y/nfVLrU49DV4hj8plk+QBSiLxgtch09wFYu4QSf0bjeReDGoouD6mlIh JEMtWNaF 7HqjZURcJssb7pRRDfsSH0ZoAxfOktzYR/om4gDoFT5zqhAddjbG+LMPiITbG6Pn6szXsCN974x4wje3Ua1OS5LJl6JTXj1x0BcxsueI06PpoMznpM/OwvC4NGOCOSJpHCcHJQU6LQyK6Dz39M2k4V2oGwAsF2wI00hQGpW5WerChpY5Kaw07Q== X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: This is a note to let you know that I've just added the patch titled panic: Consolidate open-coded panic_on_warn checks to the 6.1-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: panic-consolidate-open-coded-panic_on_warn-checks.patch and it can be found in the queue-6.1 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let know about it. >From 79cc1ba7badf9e7a12af99695a557e9ce27ee967 Mon Sep 17 00:00:00 2001 From: Kees Cook Date: Thu, 17 Nov 2022 15:43:24 -0800 Subject: panic: Consolidate open-coded panic_on_warn checks From: Kees Cook commit 79cc1ba7badf9e7a12af99695a557e9ce27ee967 upstream. Several run-time checkers (KASAN, UBSAN, KFENCE, KCSAN, sched) roll their own warnings, and each check "panic_on_warn". Consolidate this into a single function so that future instrumentation can be added in a single location. Cc: Marco Elver Cc: Dmitry Vyukov Cc: Ingo Molnar Cc: Peter Zijlstra Cc: Juri Lelli Cc: Vincent Guittot Cc: Dietmar Eggemann Cc: Steven Rostedt Cc: Ben Segall Cc: Mel Gorman Cc: Daniel Bristot de Oliveira Cc: Valentin Schneider Cc: Andrey Ryabinin Cc: Alexander Potapenko Cc: Andrey Konovalov Cc: Vincenzo Frascino Cc: Andrew Morton Cc: David Gow Cc: tangmeng Cc: Jann Horn Cc: Shuah Khan Cc: Petr Mladek Cc: "Paul E. McKenney" Cc: Sebastian Andrzej Siewior Cc: "Guilherme G. Piccoli" Cc: Tiezhu Yang Cc: kasan-dev@googlegroups.com Cc: linux-mm@kvack.org Reviewed-by: Luis Chamberlain Signed-off-by: Kees Cook Reviewed-by: Marco Elver Reviewed-by: Andrey Konovalov Link: https://lore.kernel.org/r/20221117234328.594699-4-keescook@chromium.org Signed-off-by: Greg Kroah-Hartman --- include/linux/panic.h | 1 + kernel/kcsan/report.c | 3 +-- kernel/panic.c | 9 +++++++-- kernel/sched/core.c | 3 +-- lib/ubsan.c | 3 +-- mm/kasan/report.c | 4 ++-- mm/kfence/report.c | 3 +-- 7 files changed, 14 insertions(+), 12 deletions(-) --- a/include/linux/panic.h +++ b/include/linux/panic.h @@ -11,6 +11,7 @@ extern long (*panic_blink)(int state); __printf(1, 2) void panic(const char *fmt, ...) __noreturn __cold; void nmi_panic(struct pt_regs *regs, const char *msg); +void check_panic_on_warn(const char *origin); extern void oops_enter(void); extern void oops_exit(void); extern bool oops_may_print(void); --- a/kernel/kcsan/report.c +++ b/kernel/kcsan/report.c @@ -492,8 +492,7 @@ static void print_report(enum kcsan_valu dump_stack_print_info(KERN_DEFAULT); pr_err("==================================================================\n"); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("KCSAN"); } static void release_report(unsigned long *flags, struct other_info *other_info) --- a/kernel/panic.c +++ b/kernel/panic.c @@ -201,6 +201,12 @@ static void panic_print_sys_info(bool co ftrace_dump(DUMP_ALL); } +void check_panic_on_warn(const char *origin) +{ + if (panic_on_warn) + panic("%s: panic_on_warn set ...\n", origin); +} + /** * panic - halt the system * @fmt: The text string to print @@ -619,8 +625,7 @@ void __warn(const char *file, int line, if (regs) show_regs(regs); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("kernel"); if (!regs) dump_stack(); --- a/kernel/sched/core.c +++ b/kernel/sched/core.c @@ -5778,8 +5778,7 @@ static noinline void __schedule_bug(stru pr_err("Preemption disabled at:"); print_ip_sym(KERN_ERR, preempt_disable_ip); } - if (panic_on_warn) - panic("scheduling while atomic\n"); + check_panic_on_warn("scheduling while atomic"); dump_stack(); add_taint(TAINT_WARN, LOCKDEP_STILL_OK); --- a/lib/ubsan.c +++ b/lib/ubsan.c @@ -154,8 +154,7 @@ static void ubsan_epilogue(void) current->in_ubsan--; - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("UBSAN"); } void __ubsan_handle_divrem_overflow(void *_data, void *lhs, void *rhs) --- a/mm/kasan/report.c +++ b/mm/kasan/report.c @@ -164,8 +164,8 @@ static void end_report(unsigned long *fl (unsigned long)addr); pr_err("==================================================================\n"); spin_unlock_irqrestore(&report_lock, *flags); - if (panic_on_warn && !test_bit(KASAN_BIT_MULTI_SHOT, &kasan_flags)) - panic("panic_on_warn set ...\n"); + if (!test_bit(KASAN_BIT_MULTI_SHOT, &kasan_flags)) + check_panic_on_warn("KASAN"); if (kasan_arg_fault == KASAN_ARG_FAULT_PANIC) panic("kasan.fault=panic set ...\n"); add_taint(TAINT_BAD_PAGE, LOCKDEP_NOW_UNRELIABLE); --- a/mm/kfence/report.c +++ b/mm/kfence/report.c @@ -273,8 +273,7 @@ void kfence_report_error(unsigned long a lockdep_on(); - if (panic_on_warn) - panic("panic_on_warn set ...\n"); + check_panic_on_warn("KFENCE"); /* We encountered a memory safety error, taint the kernel! */ add_taint(TAINT_BAD_PAGE, LOCKDEP_STILL_OK); Patches currently in stable-queue which might be from keescook@chromium.org are queue-6.1/panic-consolidate-open-coded-panic_on_warn-checks.patch queue-6.1/exit-put-an-upper-limit-on-how-often-we-can-oops.patch queue-6.1/panic-introduce-warn_limit.patch queue-6.1/exit-allow-oops_limit-to-be-disabled.patch queue-6.1/panic-separate-sysctl-logic-from-config_smp.patch queue-6.1/exit-use-read_once-for-all-oops-warn-limit-reads.patch queue-6.1/exit-expose-oops_count-to-sysfs.patch queue-6.1/panic-expose-warn_count-to-sysfs.patch queue-6.1/docs-fix-path-paste-o-for-sys-kernel-warn_count.patch