Received: by 2002:a25:868d:0:0:0:0:0 with SMTP id z13csp329776ybk; Sat, 9 May 2020 04:16:35 -0700 (PDT) X-Google-Smtp-Source: APiQypIb/4QVByec2teMqcotmP5xzIbU3jh/9g2F3vgOXWbR6X2UCezWWVNqw9RvaXGTEIZFR/38 X-Received: by 2002:a17:906:2418:: with SMTP id z24mr5617294eja.42.1589022995757; Sat, 09 May 2020 04:16:35 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1589022995; cv=none; d=google.com; s=arc-20160816; b=Plpo0lTFzj6epFPVNc2M1GPvf9WpWftdymKl9DzZXgrg+NH+/krVGWYsrHqCCxrkkG JgAZBXn2zNp2lBV3uekGTeQQ96Vree+dOzP7/+OftB8sOdYMu8CLeJH25cOh59G7D5LS DBA9mOJvefu8CxajvgEvfYACkuWLA85qQoEXasH9qjWkl1ykf+qWvv7i2K151u+RDExv 2BNk4zfPSrYlZRNHzpJQt8OKMybEj+Y7C+kQTy9PaSuM9UzhAVrElOYDL5LJas6J2jf5 vUFFfsTKT+CN9vFca9f6VFj98VEOgDb7vLhgoU27EYkjyCl2jBk4ak62RvtmHXP4BmKi tniQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from; bh=4UgfQaYfdtoP2CVPPrN1t6vqA/lCmDfd0CiTZey22xI=; b=AuKQsD616HfqCRYzHgLxMNFGsAgj1YqQq+r0Y35rkE305PBagJ5t6Rx7nwuyXbTGK8 RsogUNYM6z0uF+YyhwglbBmr4SyEy1jNzDUFP1TduBwRJk3h6WL6hvqbzUOzDbyWMcrH W99dDdbvX/0EtL3fuJBUIBQnpxk6Saiowpa/B5NOMMD04rEtrDvqz77z+m+X0owk/QdE pcHck3Sdqdl0+ERXb1940/0qhFyIRO+k02YltARj1JF5fdattYEspUDqB2rCALOp/xN3 6AQW9IZUszQMamRxKQoIaMoZDlU21pjFiU9Yg3AFMyV0Km1vH6vprXrWK3hmgu1bfQF1 HQIQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s26si2610021edq.433.2020.05.09.04.16.12; Sat, 09 May 2020 04:16:35 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728084AbgEILOs (ORCPT + 99 others); Sat, 9 May 2020 07:14:48 -0400 Received: from smtp2207-205.mail.aliyun.com ([121.197.207.205]:34579 "EHLO smtp2207-205.mail.aliyun.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725920AbgEILOr (ORCPT ); Sat, 9 May 2020 07:14:47 -0400 X-Alimail-AntiSpam: AC=CONTINUE;BC=0.07436316|-1;CH=green;DM=|CONTINUE|false|;DS=CONTINUE|ham_system_inform|0.0620642-0.00271633-0.935219;FP=0|0|0|0|0|-1|-1|-1;HT=e01a16367;MF=liaoweixiong@allwinnertech.com;NM=1;PH=DS;RN=19;RT=19;SR=0;TI=SMTPD_---.HVopGr-_1589022874; Received: from PC-liaoweixiong.allwinnertech.com(mailfrom:liaoweixiong@allwinnertech.com fp:SMTPD_---.HVopGr-_1589022874) by smtp.aliyun-inc.com(10.147.44.129); Sat, 09 May 2020 19:14:40 +0800 From: WeiXiong Liao To: Kees Cook , Anton Vorontsov , Colin Cross , Tony Luck , Jonathan Corbet , Miquel Raynal , Richard Weinberger , Vignesh Raghavendra , Petr Mladek , Sergey Senozhatsky , Steven Rostedt , Mauro Carvalho Chehab , "David S. Miller" , Rob Herring , Greg Kroah-Hartman , Pavel Tatashin Cc: linux-doc@vger.kernel.org, linux-kernel@vger.kernel.org, linux-mtd@lists.infradead.org Subject: [PATCH v5 01/12] printk: pstore: Introduce kmsg_dump_reason_str() Date: Sat, 9 May 2020 19:14:03 +0800 Message-Id: <1589022854-19821-2-git-send-email-liaoweixiong@allwinnertech.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1589022854-19821-1-git-send-email-liaoweixiong@allwinnertech.com> References: <1589022854-19821-1-git-send-email-liaoweixiong@allwinnertech.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Kees Cook The pstore subsystem already had a private version of this function. With the coming addition of the pstore/zone driver, this needs to be shared. As it really should live with printk, move it there instead. Signed-off-by: Kees Cook --- fs/pstore/platform.c | 22 +--------------------- include/linux/kmsg_dump.h | 7 +++++++ kernel/printk/printk.c | 21 +++++++++++++++++++++ 3 files changed, 29 insertions(+), 21 deletions(-) diff --git a/fs/pstore/platform.c b/fs/pstore/platform.c index b882919b8784..4fb8ec9f3a1c 100644 --- a/fs/pstore/platform.c +++ b/fs/pstore/platform.c @@ -130,26 +130,6 @@ enum pstore_type_id pstore_name_to_type(const char *name) } EXPORT_SYMBOL_GPL(pstore_name_to_type); -static const char *get_reason_str(enum kmsg_dump_reason reason) -{ - switch (reason) { - case KMSG_DUMP_PANIC: - return "Panic"; - case KMSG_DUMP_OOPS: - return "Oops"; - case KMSG_DUMP_EMERG: - return "Emergency"; - case KMSG_DUMP_RESTART: - return "Restart"; - case KMSG_DUMP_HALT: - return "Halt"; - case KMSG_DUMP_POWEROFF: - return "Poweroff"; - default: - return "Unknown"; - } -} - static void pstore_timer_kick(void) { if (pstore_update_ms < 0) @@ -402,7 +382,7 @@ static void pstore_dump(struct kmsg_dumper *dumper, unsigned int part = 1; int ret; - why = get_reason_str(reason); + why = kmsg_dump_reason_str(reason); if (down_trylock(&psinfo->buf_lock)) { /* Failed to acquire lock: give up if we cannot wait. */ diff --git a/include/linux/kmsg_dump.h b/include/linux/kmsg_dump.h index cfc042066be7..b3ddb0b2ee40 100644 --- a/include/linux/kmsg_dump.h +++ b/include/linux/kmsg_dump.h @@ -72,6 +72,8 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, int kmsg_dump_register(struct kmsg_dumper *dumper); int kmsg_dump_unregister(struct kmsg_dumper *dumper); + +const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason); #else static inline void kmsg_dump(enum kmsg_dump_reason reason) { @@ -113,6 +115,11 @@ static inline int kmsg_dump_unregister(struct kmsg_dumper *dumper) { return -EINVAL; } + +static inline const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason) +{ + return "Disabled"; +} #endif #endif /* _LINUX_KMSG_DUMP_H */ diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 1aab69a8a2bf..67a284830d74 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -3144,6 +3144,27 @@ int kmsg_dump_unregister(struct kmsg_dumper *dumper) static bool always_kmsg_dump; module_param_named(always_kmsg_dump, always_kmsg_dump, bool, S_IRUGO | S_IWUSR); +const char *kmsg_dump_reason_str(enum kmsg_dump_reason reason) +{ + switch (reason) { + case KMSG_DUMP_PANIC: + return "Panic"; + case KMSG_DUMP_OOPS: + return "Oops"; + case KMSG_DUMP_EMERG: + return "Emergency"; + case KMSG_DUMP_RESTART: + return "Restart"; + case KMSG_DUMP_HALT: + return "Halt"; + case KMSG_DUMP_POWEROFF: + return "Poweroff"; + default: + return "Unknown"; + } +} +EXPORT_SYMBOL_GPL(kmsg_dump_reason_str); + /** * kmsg_dump - dump kernel log to kernel message dumpers. * @reason: the reason (oops, panic etc) for dumping -- 1.9.1