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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00, BUG6152_INVALID_DATE_TZ_ABSURD,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, INVALID_DATE_TZ_ABSURD,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id AE0AAC433E0 for ; Wed, 13 Jan 2021 16:45:13 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 55DBF23441 for ; Wed, 13 Jan 2021 16:45:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727684AbhAMQo5 (ORCPT ); Wed, 13 Jan 2021 11:44:57 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:38470 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726471AbhAMQo4 (ORCPT ); Wed, 13 Jan 2021 11:44:56 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 39BF3C061575 for ; Wed, 13 Jan 2021 08:44:16 -0800 (PST) From: John Ogness DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1610556254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=3lktWn95asAPBOJ45VL7o2mFHW8GNuSfujEYucsY3QE=; b=KbdX8ByTxMx3dIi728whtjUjw7I4XD2vpAkIKVFvtzqK7ldxLbYjLDBHJHUmBlIJo8zElc 7FnnfAMHSWlCKXBqeC1WvnXmA4aGu8bXt6FnBRIzmqbhCOg73y6hrcdBw5MR6yP5z/n3UL N4lqlzT+IzjLIqbW6VdwLuvlHhVkvLLU/YiGru7GBoZs0B92ydJo+pGdjkoHhEFm/w/SUy 4bPPLd7iPkRIqDLrKpCxU3dWjeg4EXs7nGa3Pv289W1eSR07AXL3TBiyS5svsMdXwxKdrW LBQNLemzs+BTFJiYWwbAydlvl0vHyAzqJYaN6W+jQBz8c1WjpN0m0SjpG+yLHQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1610556254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding; bh=3lktWn95asAPBOJ45VL7o2mFHW8GNuSfujEYucsY3QE=; b=QRgsFmJ4hEGBa3F++PiF6ZVh75IT0kmBiPY1mi8jCxqldber5JmBcODKmV9T9ucf6VLkOA 9LZmMED4KIHe6tDg== To: Petr Mladek Cc: Sergey Senozhatsky , Sergey Senozhatsky , Steven Rostedt , linux-kernel@vger.kernel.org Subject: [PATCH] printk: fix kmsg_dump_get_buffer length calulations Date: Wed, 13 Jan 2021 17:50:13 +0106 Message-Id: <20210113164413.1599-1-john.ogness@linutronix.de> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org kmsg_dump_get_buffer() uses @syslog to determine if the syslog prefix should be written to the buffer. However, when calculating the maximum number of records that can fit into the buffer, it always counts the bytes from the syslog prefix. Use @syslog when calculating the maximum number of records that can fit into the buffer. Fixes: e2ae715d66bf ("kmsg - kmsg_dump() use iterator to receive log buffer content") Signed-off-by: John Ogness --- kernel/printk/printk.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index ffdd0dc7ec6d..848b56efc9d7 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -3427,7 +3427,7 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, while (prb_read_valid_info(prb, seq, &info, &line_count)) { if (r.info->seq >= dumper->next_seq) break; - l += get_record_print_text_size(&info, line_count, true, time); + l += get_record_print_text_size(&info, line_count, syslog, time); seq = r.info->seq + 1; } @@ -3437,7 +3437,7 @@ bool kmsg_dump_get_buffer(struct kmsg_dumper *dumper, bool syslog, &info, &line_count)) { if (r.info->seq >= dumper->next_seq) break; - l -= get_record_print_text_size(&info, line_count, true, time); + l -= get_record_print_text_size(&info, line_count, syslog, time); seq = r.info->seq + 1; } -- 2.20.1