Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754252AbdFWQCs (ORCPT ); Fri, 23 Jun 2017 12:02:48 -0400 Received: from thoth.sbs.de ([192.35.17.2]:49234 "EHLO thoth.sbs.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752776AbdFWQCq (ORCPT ); Fri, 23 Jun 2017 12:02:46 -0400 Subject: Re: [PATCH 2/2] scripts/gdb: lx-dmesg: Use errors=replace for decoding To: Leonard Crestez , Kieran Bingham Cc: linux-kernel@vger.kernel.org References: <00d6621945ececb6c9fb360aef0efd5747439a38.1498227531.git.leonard.crestez@nxp.com> From: Jan Kiszka Message-ID: Date: Fri, 23 Jun 2017 18:02:43 +0200 User-Agent: Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.1.12) Gecko/20080226 SUSE/2.0.0.12-1.1 Thunderbird/2.0.0.12 Mnenhy/0.7.5.666 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1427 Lines: 43 On 2017-06-23 16:20, Leonard Crestez wrote: > It is never desirable lx-dmesg to fail on string decoding errors, not > even if the log buffer is corrupt. > > Signed-off-by: Leonard Crestez > --- > scripts/gdb/linux/dmesg.py | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/scripts/gdb/linux/dmesg.py b/scripts/gdb/linux/dmesg.py > index 6f8d2b2..d0cac58 100644 > --- a/scripts/gdb/linux/dmesg.py > +++ b/scripts/gdb/linux/dmesg.py > @@ -52,13 +52,13 @@ class LxDmesg(gdb.Command): > continue > > text_len = utils.read_u16(log_buf[pos + 10:pos + 12]) > - text = log_buf[pos + 16:pos + 16 + text_len].decode() > + text = log_buf[pos + 16:pos + 16 + text_len].decode(errors='replace') pep8 should complain. > time_stamp = utils.read_u64(log_buf[pos:pos + 8]) > > for line in text.splitlines(): > gdb.write("[{time:12.6f}] {line}\n".format( > time=time_stamp / 1000000000.0, > - line=line)) > + line=line.encode(errors='replace'))) You only talk about "decoding" in the commit log, but here you encode back. An short explanation why this is also needed would be nice. > > pos += length > > Jan -- Siemens AG, Corporate Technology, CT RDA ITP SES-DE Corporate Competence Center Embedded Linux