Received: by 2002:a05:6a10:22f:0:0:0:0 with SMTP id 15csp245213pxk; Thu, 1 Oct 2020 01:00:04 -0700 (PDT) X-Google-Smtp-Source: ABdhPJymg9KCOUYnZIYSC9skU/LkpxyIdrlRZVT0f842JHglIKtWmg5tuVcjTjJk6OYXwbbLR4eT X-Received: by 2002:a05:6402:1d29:: with SMTP id dh9mr7088421edb.124.1601539204617; Thu, 01 Oct 2020 01:00:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1601539204; cv=none; d=google.com; s=arc-20160816; b=r0wvGNYjiaoGHQNXBHlV9sAL5ebvetrOPiV0pB2BMbjSUTrTklEe+axhaaWWG02fyr zaOcudWrAFX2pc/H46+SQbVuFA/VCcbZ2T2wwLpHx6HEqR1N1pf3FvLbZQis4trcrb9Y JAGfwiXh5PK/7+7t+ayNI49inPdH5InqjP+y+9RWFfRvYt4AMDDk/xlNwaoTF2AOHiDN OG+kiwZcOwePWhVDNvGKf3hgDuqu5QtUjNx1dgRiChL4jvpFP/3SCJUV97Es0iNA2QR3 75oeppd42MLLC6xQs6m9A3pzqD9I2pY6KdLE4ep8b3ratKAzlfyU+nj6RMayuZD3DnoX CRuA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=O0GzEqK1IoDLkQJH9xpDe3707t9F4ttJyks4zmnT/98=; b=yypjF3DlmZIJQfp3+Eeue4g16rigYmN7yKQtPCeviDbVUomfyWYMk2tIirWSWwej9N zWcQo40rAx1mZEfouBRAJLyDv5wI93Kuw//cyQRElVz18YLE7h/KjIszi/LcHmNLo/Tn BlySaYZe6Sj54cDbAgBx8mMHQPIU9NA+x9nOjh6Nr64FKvnGmXfhFvc64P695dZ5iQ9p W1uyKWWnaRmVDVxqOm/s7q/bF96AWY3NfHDNysQlooSJR2bBQBP/mfC2yjIJRFRVag6N rDVH+hB6hWokVOdIfAqUX4ZM4Ytqc9TPLRDJNN7GQPFgbxOBQmrNqqlN4jlhPs0feAcM 8nyA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=CYWlSVnB; 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=NONE dis=NONE) header.from=suse.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id 23si2837942edv.417.2020.10.01.00.59.42; Thu, 01 Oct 2020 01:00:04 -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; dkim=pass header.i=@suse.com header.s=susede1 header.b=CYWlSVnB; 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=NONE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1731708AbgJAHzw (ORCPT + 99 others); Thu, 1 Oct 2020 03:55:52 -0400 Received: from mx2.suse.de ([195.135.220.15]:44520 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1731566AbgJAHy4 (ORCPT ); Thu, 1 Oct 2020 03:54:56 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1601538895; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=O0GzEqK1IoDLkQJH9xpDe3707t9F4ttJyks4zmnT/98=; b=CYWlSVnBiRd5RlW5rWRfeyat8XfuOCmt67ydYk5me7ToyLv7VNE2d1fImeH2m5ofHsXIpu 9TWTcgZeyc/pk4CXcBi1vmi+VgeoQbfd04BMXOAwncUW62ViyUSiQq5MaH7G1cZwK99Wuk fYQjNdPVwMtvELgVasmgO6xPdwQQGf8= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id F2CADAD0B; Thu, 1 Oct 2020 07:54:54 +0000 (UTC) Date: Thu, 1 Oct 2020 09:54:53 +0200 From: Petr Mladek To: Joe Perches Cc: John Ogness , Sergey Senozhatsky , Sergey Senozhatsky , Steven Rostedt , Linus Torvalds , Greg Kroah-Hartman , Thomas Gleixner , Marek Szyprowski , linux-kernel@vger.kernel.org Subject: Re: [PATCH next v2 1/2] printk: avoid and/or handle record truncation Message-ID: <20201001075453.GC17717@alley> References: <20200930090134.8723-1-john.ogness@linutronix.de> <20200930090134.8723-2-john.ogness@linutronix.de> <20201001072659.GB17717@alley> <873100a17ac1a9fc1c435ff7957b63d2540ce7fc.camel@perches.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <873100a17ac1a9fc1c435ff7957b63d2540ce7fc.camel@perches.com> User-Agent: Mutt/1.10.1 (2018-07-13) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 2020-10-01 00:39:31, Joe Perches wrote: > On Thu, 2020-10-01 at 09:26 +0200, Petr Mladek wrote: > > On Wed 2020-09-30 08:25:24, Joe Perches wrote: > > > On Wed, 2020-09-30 at 11:07 +0206, John Ogness wrote: > > > > If a reader provides a buffer that is smaller than the message text, > > > > the @text_len field of @info will have a value larger than the buffer > > > > size. If readers blindly read @text_len bytes of data without > > > > checking the size, they will read beyond their buffer. > > > > > > > > Add this check to record_print_text() to properly recognize when such > > > > truncation has occurred. > > > > > > > > Add a maximum size argument to the ringbuffer function to extend > > > > records so that records can not be created that are larger than the > > > > buffer size of readers. > > > > > > > > When extending records (LOG_CONT), do not extend records beyond > > > > LOG_LINE_MAX since that is the maximum size available in the buffers > > > > used by consoles and syslog. > > > > > > I still think it better to support backspace by rewinding > > > the buffer rather than truncation of the output. > > > > IMHO, backspace support is not worth the complexity. It might do > > some fancy animation on console but it does not bring any advantage > > in static logs (dmesg, journalctl). > > > > It is possible that it worked in the past when the log buffer was > > just an array of characters that were pushed to the console when > > they appeared. > > > > But I am pretty sure that it has stopped working many years agl > > variable-length record buffer"). > > It's more that spinner or timer dots could fill the > buffer and any message after the spinner/dots like > success or failure is lost via truncation. Yeah, pushing existing parts of continuous lines on the console would be nice. It would help to see that the system died in the middle of a risky operation. But it requires an extra code in the record based log buffer. It actually has been there and it was removed later because it complicated the code and did not really worked. It will be even more complicated with the lockless ringbuffer and console handled in kthreads. It might be added when there is a big demand for it. But it does not make sense to support looong lines full of spinners or dots. > There aren't many spinners/dots, perhaps it's better > to find and delete them. Yeah, that would be nice cleanup. Best Regards, Petr