Received: by 2002:ac0:a5a6:0:0:0:0:0 with SMTP id m35-v6csp1974053imm; Sat, 29 Sep 2018 07:50:18 -0700 (PDT) X-Google-Smtp-Source: ACcGV62Pv5tChUvR/NlzNC/lTd3a1vDcRF95sNQG6TIkWfdtNAvIBdUzEUwDIW9FZBLzqyAjqIXo X-Received: by 2002:a17:902:9f97:: with SMTP id g23-v6mr3602990plq.68.1538232618343; Sat, 29 Sep 2018 07:50:18 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1538232618; cv=none; d=google.com; s=arc-20160816; b=eN3s1yyIr9dwwprsCgWDMg4t7dUKbtXeazXSDRbVNI8hklowmIrcWYQ5OUPIXwiHqc geCgbSG66FIozrAVPCidNQbC1GDdRF9Yf4njTLTy/ltd6TXSD8TJRuA9lY7cNV5JBQrF aEYMdQndj5yfh2jNqo0Z4bz9iHaThXbIu3dN7DLRVrZguWrdOmeMW43vgLatq1aU/Do6 R0tFvbqlgpqaActKKPbIyTQli1PKHJLKHiYi16cKatp3O4+Vc0DiqGhXEzOUTUrXpnWF o69AG4an8v29zPYUXG3Rk1vlNmYxiEmuVbCBts/luW5lH0HdZ+CtL+DtsXxzypcy5j0b kcMA== 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=CTjBg3ZxV45CQJm4Tno7jyFhyh+31zToGpXQ+VTjjpY/o0yYASFm1zB8kL8O8Xnu5U wzXOp7CNjqbFAGVR4oagEtnPBlgBarMjN1hpSkcCfgw6715pZFNEdyURJ+8DalL/cFmm u999YLnbJQ0UFeShKiJ5PzfkAsxzNwW2vmZiMvudbKYQS80BhMU+KaM1xM0ds9cMJKOJ /3e+Ix42wb4ygPeNA9QGAr1B19F03dTrgFlqZkuRA7+Ud9uK9QzAf9YFY3m+cxodZcI2 d+anKVwLR1n1t0cUbS6lkq/0gVJ/2ndZyZcCeAXjSA+WZRjB9Yc86XZLdzlOnjd7uL2r xhNA== 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 bb2-v6si7109507plb.44.2018.09.29.07.50.03; Sat, 29 Sep 2018 07:50:18 -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 S1728377AbeI2VSh (ORCPT + 99 others); Sat, 29 Sep 2018 17:18:37 -0400 Received: from mail1.windriver.com ([147.11.146.13]:41086 "EHLO mail1.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728365AbeI2VSh (ORCPT ); Sat, 29 Sep 2018 17:18:37 -0400 Received: from ALA-HCB.corp.ad.wrs.com ([147.11.189.41]) by mail1.windriver.com (8.15.2/8.15.1) with ESMTPS id w8TEno48008642 (version=TLSv1 cipher=AES128-SHA bits=128 verify=FAIL); Sat, 29 Sep 2018 07:49:50 -0700 (PDT) Received: from pek-lpg-core2.corp.ad.wrs.com (128.224.153.41) by ALA-HCB.corp.ad.wrs.com (147.11.189.41) with Microsoft SMTP Server id 14.3.408.0; Sat, 29 Sep 2018 07:49:49 -0700 From: To: , , , , Subject: [PATCH v4 4/4] printk: Give error on attempt to set log buffer length to over 4G Date: Sat, 29 Sep 2018 22:48:49 +0800 Message-ID: <1538232529-72706-4-git-send-email-zhe.he@windriver.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1538232529-72706-1-git-send-email-zhe.he@windriver.com> References: <1538232529-72706-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