Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp2070854imm; Sat, 29 Sep 2018 09:47:13 -0700 (PDT) X-Google-Smtp-Source: ACcGV604YLSxxqzpranQ6l9j2MfofUXMx4/0zmtsBJjNpjzxYKskRqqvSms28ewvsliQtBRIf4GC X-Received: by 2002:a65:498b:: with SMTP id r11-v6mr3626898pgs.153.1538239633879; Sat, 29 Sep 2018 09:47:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538239633; cv=none; d=google.com; s=arc-20160816; b=wF9kyzWvWlT4+XiF9XXQG0+FVddcJr/AKeBqxpe+ibiHObmQvluy0ifw7gLEJ2k3pc v5XOlj4epqbc5DcRg6PeivmjHqmjRvLpaAz6TPNAmIQGawd5TsGbpqi+Fk1VdqF3YpQ/ gPSgKSAwx0EgBaHg/M/Gb8uDT6A/Ly+5Lx0gkek2gFjagrfuRP7GnCcdNuXF+6J5VGx4 srwXeKAACM08eGEtMKu4Ko6IOIN2CwaUtdBEm4gbrdwjppyHNowMK2CEMHZhBsd8hDXw 2tmXHvGPmu2zuQqWC41rwk1gBZoIuenIt17amyKztZAtqVNRBApPpZ/QJV/89CiN5Y3O pgRQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:references:in-reply-to :message-id:date:subject:to:from; bh=zT6U1tofAdKTjLbfE38qLIEMnBdGQRWiIE5v3pWKpKg=; b=ak4fapp4E12UifJuMwouO9NgOZ+FIEFBM/lCMlXAmG7mYfvvIyEZaAmLnkc7/RBiVh vMSwBZLmTMz1cZUAxwIfotv/n9tVoNJ9E8G2tDCGwzrgwWs7PClMPbioGqHN+DUvJsbu sQLMRk7qyt1rYP29z084yuYM2dHUfzw+8tms4SGlRgBW7v/l6xVbR7bUWIoX8JRs8Xzq bnUpwqRYN4hkT4p4wkLAYuHDtkbEu4nrqOJ/GbpnBnI6A8BA9PqGOpAHJkWpJa20p2eL 71tI80NlpxU1IBdtRuN4INaE5wEjMRbK0WfJ0SRSZjvT9VIdbjQE7e0lEpEmkORmEzgy hWzQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id k8-v6si7581726plt.176.2018.09.29.09.46.59; Sat, 29 Sep 2018 09:47:13 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728470AbeI2XP6 (ORCPT + 99 others); Sat, 29 Sep 2018 19:15:58 -0400 Received: from mail1.windriver.com ([147.11.146.13]:41453 "EHLO mail1.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728409AbeI2XP6 (ORCPT ); Sat, 29 Sep 2018 19:15:58 -0400 Received: from ALA-HCA.corp.ad.wrs.com ([147.11.189.40]) by mail1.windriver.com (8.15.2/8.15.1) with ESMTPS id w8TGklKa009196 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Sat, 29 Sep 2018 09:46:47 -0700 (PDT) Received: from pek-lpg-core2.corp.ad.wrs.com (128.224.153.41) by ALA-HCA.corp.ad.wrs.com (147.11.189.40) with Microsoft SMTP Server id 14.3.408.0; Sat, 29 Sep 2018 09:46:46 -0700 From: To: , , , , Subject: [PATCH v5 4/4] printk: Give error on attempt to set log buffer length to over 4G Date: Sun, 30 Sep 2018 00:45:53 +0800 Message-ID: <1538239553-81805-4-git-send-email-zhe.he@windriver.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538239553-81805-1-git-send-email-zhe.he@windriver.com> References: <1538239553-81805-1-git-send-email-zhe.he@windriver.com> MIME-Version: 1.0 Content-Type: text/plain Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: He Zhe Give explicit error for users who want to use larger log buffer. Signed-off-by: He Zhe Cc: pmladek@suse.com Cc: sergey.senozhatsky@gmail.com Cc: rostedt@goodmis.org --- kernel/printk/printk.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index b84aac0..5ccfd5d 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -1039,18 +1039,23 @@ void log_buf_vmcoreinfo_setup(void) static unsigned long __initdata new_log_buf_len; /* we practice scaling the ring buffer by powers of 2 */ -static void __init log_buf_len_update(unsigned size) +static void __init log_buf_len_update(u64 size) { + if (size > UINT_MAX) { + size = UINT_MAX; + pr_err("log_buf over 4G is not supported.\n"); + } + if (size) size = roundup_pow_of_two(size); if (size > log_buf_len) - new_log_buf_len = size; + new_log_buf_len = (unsigned long)size; } /* save requested log_buf_len since it's too early to process it */ static int __init log_buf_len_setup(char *str) { - unsigned int size; + u64 size; if (!str) return -EINVAL; -- 2.7.4