Received: by 2002:a05:6a10:2785:0:0:0:0 with SMTP id ia5csp409396pxb; Wed, 13 Jan 2021 06:46:17 -0800 (PST) X-Google-Smtp-Source: ABdhPJwWU+kqOt6RK8x+gdRyXmx15UO+ZmXOKJgypVXMR5YOP9exwVsfwUjq2NWju197RRUYCEMH X-Received: by 2002:a05:6402:1b1e:: with SMTP id by30mr2027601edb.75.1610549176874; Wed, 13 Jan 2021 06:46:16 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1610549176; cv=none; d=google.com; s=arc-20160816; b=Jh/aDUc8uxmGE+qfLMUREiZeUmz8hhaxC7CjJk0LMolhI8gFZXslfEHnCHv3a2cDTY HCUj3+fES18U4SdyU6FAFJ/9Wt/UC4biPT+V921rLuS3IzvR8dWf/7w62HgdAyuRxWG/ 7kw22MHqhJs5SIaysXcZQPx5xfqkLQG+f4OSOyA7fF18g6w7HyBRNZwVJ0DzrjW073QV L+CIsccOn+mS9A/jBO31HLup8YVpghmwGdW7IPHJhN1UEyOjjmNru2W+a7+73LSnlZyK mb4Ov22I7fCGz60BhBxkSsVnF4DP9QcJ3+thZbB6DUA+A3F94obCqHYSReFnpGZItbfM vA5A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :message-id:date:subject:cc:to:dkim-signature:dkim-signature:from; bh=fj88E4Kjvnw1x0rsUVu+x2lWiR9tSl/7uxT/V662qo4=; b=e8Uxdr3DMigQc8Plj38WfFKBwtblPJFO85ktGqe7zqdeNVivFLU+gDf7KvVFGLCOQF 7TnuFThdAJrjMETyQlsCCsKwvvZKgte9NL+wzzUaPjDtsffzpUMnqjiTiIWFbP3iZdHv CYtrkhsnGhXYvKFXO9C8wXCaoxUvJUgSz7MYGsQljItyzwabbjkYki20bKkJm0BEpBky dLqqnhgiFC0wWPtvMIyyy4p+qfd4hRPUiNO/WNpO97qWaVhA+IOvTUjHdiy6NN+pQ9FH iytb1RMn6QbLSImW8ThBPCE+ZtdXz2y1Uj0f4CK8BNNcK0apgDEKMuzvQRqqwDdFSTRm SV3A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=K+Xv8Oql; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c3si967458eds.266.2021.01.13.06.45.45; Wed, 13 Jan 2021 06:46:16 -0800 (PST) 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; dkim=pass header.i=@linutronix.de header.s=2020 header.b=K+Xv8Oql; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e; 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; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726523AbhAMOnS (ORCPT + 99 others); Wed, 13 Jan 2021 09:43:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39924 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726433AbhAMOnS (ORCPT ); Wed, 13 Jan 2021 09:43:18 -0500 Received: from galois.linutronix.de (Galois.linutronix.de [IPv6:2a0a:51c0:0:12e:550::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BA38BC061786 for ; Wed, 13 Jan 2021 06:42:37 -0800 (PST) From: John Ogness DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1610548955; 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=fj88E4Kjvnw1x0rsUVu+x2lWiR9tSl/7uxT/V662qo4=; b=K+Xv8OqlRYo4Q2mZsyqj+5hu8XbTXzuvf+Fr5hbDMutjzXp6d4a7ARjN5hwicTieQbkO6B 3rufam2vXqqNF1LNryPP+0LkFKPEASyo06iBf3zPKiWVFDSc1FNrzaVcDqfV9mXNBtKFtl nCqEg70a+Z64mxhB0fBmyfKB4BjIdFl2jM5/DnBeyPDmhwAserDa1dnY5Qz3jfSC5VNzNA p4vURXK2R5ez8eria5wOsi3tJAfSL4mibcVKz+/bp9IjcuGIHEgtsUJ9EsDEudliQZrbKH Vow27uwIlf+eMCZXq9mZdhuBWAazJ4++dbFpUNIP9ygapuCrnokjBxcRyzQ3IA== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1610548955; 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=fj88E4Kjvnw1x0rsUVu+x2lWiR9tSl/7uxT/V662qo4=; b=nctvjqMXS6fCaacHeyEXLuBR/gWwknxfDYtFYByO+es3VXTPwS5/VeRgDSp/cEuVnXMnh2 75YATH7omjc56TDg== To: Petr Mladek Cc: Sergey Senozhatsky , Sergey Senozhatsky , Steven Rostedt , linux-kernel@vger.kernel.org Subject: [PATCH] printk: ringbuffer: fix line counting Date: Wed, 13 Jan 2021 15:48:34 +0106 Message-Id: <20210113144234.6545-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 Counting text lines in a record simply involves counting the number of newline characters (+1). However, it is searching the full data block for newline characters, even though the text data can be (and often is) a subset of that area. Since the extra area in the data block was never initialized, the result is that extra newlines may be seen and counted. Restrict newline searching to the text data length. Fixes: b6cf8b3f3312 ("printk: add lockless ringbuffer") Signed-off-by: John Ogness --- kernel/printk/printk_ringbuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/printk/printk_ringbuffer.c b/kernel/printk/printk_ringbuffer.c index 6704f06e0417..8a7b7362c0dd 100644 --- a/kernel/printk/printk_ringbuffer.c +++ b/kernel/printk/printk_ringbuffer.c @@ -1718,7 +1718,7 @@ static bool copy_data(struct prb_data_ring *data_ring, /* Caller interested in the line count? */ if (line_count) - *line_count = count_lines(data, data_size); + *line_count = count_lines(data, len); /* Caller interested in the data content? */ if (!buf || !buf_size) -- 2.20.1