Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753827AbaBQBmP (ORCPT ); Sun, 16 Feb 2014 20:42:15 -0500 Received: from mail-wg0-f49.google.com ([74.125.82.49]:45428 "EHLO mail-wg0-f49.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752322AbaBQBmN (ORCPT ); Sun, 16 Feb 2014 20:42:13 -0500 MIME-Version: 1.0 In-Reply-To: References: <1392352954-29905-1-git-send-email-dbanerje@akamai.com> From: Kay Sievers Date: Mon, 17 Feb 2014 02:41:52 +0100 Message-ID: Subject: Re: [PATCH] printk: Fix discarding of records To: Linus Torvalds Cc: "Banerjee, Debabrata" , Greg Kroah-Hartman , Linux Kernel Mailing List , Jeff Mahoney , "dbavatar@gmail.com" , "Hunt, Joshua" , stable Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Feb 17, 2014 at 2:19 AM, Kay Sievers wrote: > On Mon, Feb 17, 2014 at 1:57 AM, Linus Torvalds > wrote: >> On Sun, Feb 16, 2014 at 4:50 PM, Kay Sievers wrote: >>> >>> That should avoid the overflow, yes. I expect it will not print the >>> first line with a prefix, which we probably should.? >> >> Well, it's not printing out the prefix, but it's also not printing out >> the whole first part of the line, so quite frankly, I think that's >> actually "more correct". >> >> After all, it has already skipped the beginning of the line. >> Prepending the prefix, then skipping part of the line, and then >> printing the last part, that sounds truly insane, no? > > Yeah, it depends on the idea of what a "line" is; being it a single > printk() call or a reconstructed continuation line, which happens when > printk calls could not be merged for some reason into a single record. > > But sure, your patch, it sounds fine to just skip the prefix. > > The syslog() dump interface never made any promises, and it is not > used that much anymore today (even dmesg switched away from it since > quite a while). > > For the dumpers, who might use that interface to "page" through the > data, not printing the prefix sounds actually like the better option > looking at the stream of pages they ask for. Your patch seems to work fine here. We now start in the middle of a cont *line*, with the next cont *record*; do not print the header, and also do not print more than we should: syslog(SYSLOG_ACTION_READ_ALL, "<6>[ 73.671533] ---\n<6>[ 73.673677] ...", 1088) = 704 syslog(SYSLOG_ACTION_READ_ALL, "268---------...", 1089) = 1089 syslog(SYSLOG_ACTION_READ_ALL, "268---------... 1090) = 1089 The current code before the patch does this: syslog(SYSLOG_ACTION_READ_ALL, "<4>[ 210.190007] 268---------26"..., 445) = 463 Kay -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/