Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp1997046ybi; Sun, 16 Jun 2019 19:08:09 -0700 (PDT) X-Google-Smtp-Source: APXvYqys1DYGbaljhGGgg6MlqXjHnf9U6hP0ZoSa/fBqAe1irvH0pej5bNgm70oHJlfUSHKoQD2a X-Received: by 2002:a63:1657:: with SMTP id 23mr44055089pgw.98.1560737288791; Sun, 16 Jun 2019 19:08:08 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560737288; cv=none; d=google.com; s=arc-20160816; b=BlOhrstfajU3+LuykQRdXIKfnyJ5BpuwP74RzIjFcu15LnvDxw2Y0OINZJHLcg8UmJ ZXy52kQRDeV+A8ryLuVQbZyaa9qEtGIfxPTelD3ZWfwGvYx5PtelwxL4/GuhCaIoBpOU KKanP5b8tprrEFaZbpuBAK4Tz0fAcPvpliOGBk6Gku89Rvz8i/N6dnATdEMakvsNa8dK 6ZTfL/Y/5ruTs7ZcpHngT+U4CHfW3fuhec2g+rs+qdwPpQXPmrfUX0J+ePaz38flBRYo UBFXRhaMORaKTyXsZtakNvuD9Nvy32Okg6/m5hU7T7utpulBdLiONeXIcFETM7istQ7i 9JmA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:content-transfer-encoding :mime-version:date:subject:cc:to:from; bh=XPtVJuL1hf/HuIUB7DhwMit9Gq5ahy0PPd6Q6m2mXA4=; b=tRpGEOxl4Ht4NQfTgmJy+l2DhlIXc/3vVSGlQZaAKiAy+35vT3pd0+m9xsF3xZyfVh CI4tE/nCx1NjmJI/3Sz0Dyv5hdO6UwXzeFLEQTRV7jwETCDOfiAQM2EIpbGUveLfDwf5 SAEO69OCqzJF2JhU/HlgHFzYiiBaJw1L4EFkVrwgO35aDLL0TfIRXnAr2IOqfpq8yIPS J877pxNYVRXeV3ynvtny6A9723yd7/Eb5BUCZ/Z6cxvTVN36CjBXsUOIhsAd4YWYakwF svsw0JUpTEBre5b1Hzclb40l6SzeLVICYH0sp0Hw5J2M0nifkrhniNi+MvxPNsWtAkVh VVZg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d126si9259566pgc.46.2019.06.16.19.07.54; Sun, 16 Jun 2019 19:08:08 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=ibm.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727575AbfFQCG7 (ORCPT + 99 others); Sun, 16 Jun 2019 22:06:59 -0400 Received: from mx0a-001b2d01.pphosted.com ([148.163.156.1]:39252 "EHLO mx0a-001b2d01.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727413AbfFQCG4 (ORCPT ); Sun, 16 Jun 2019 22:06:56 -0400 Received: from pps.filterd (m0098404.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.16.0.27/8.16.0.27) with SMTP id x5H26sQA127654 for ; Sun, 16 Jun 2019 22:06:55 -0400 Received: from e06smtp03.uk.ibm.com (e06smtp03.uk.ibm.com [195.75.94.99]) by mx0a-001b2d01.pphosted.com with ESMTP id 2t5vdjqej6-1 (version=TLSv1.2 cipher=AES256-GCM-SHA384 bits=256 verify=NOT) for ; Sun, 16 Jun 2019 22:06:55 -0400 Received: from localhost by e06smtp03.uk.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 17 Jun 2019 03:06:51 +0100 Received: from b06cxnps4076.portsmouth.uk.ibm.com (9.149.109.198) by e06smtp03.uk.ibm.com (192.168.101.133) with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted; (version=TLSv1/SSLv3 cipher=AES256-GCM-SHA384 bits=256/256) Mon, 17 Jun 2019 03:06:42 +0100 Received: from d06av21.portsmouth.uk.ibm.com (d06av21.portsmouth.uk.ibm.com [9.149.105.232]) by b06cxnps4076.portsmouth.uk.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id x5H26fB547644892 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=OK); Mon, 17 Jun 2019 02:06:41 GMT Received: from d06av21.portsmouth.uk.ibm.com (unknown [127.0.0.1]) by IMSVA (Postfix) with ESMTP id 6AEE95204E; Mon, 17 Jun 2019 02:06:41 +0000 (GMT) Received: from ozlabs.au.ibm.com (unknown [9.192.253.14]) by d06av21.portsmouth.uk.ibm.com (Postfix) with ESMTP id C05DD52052; Mon, 17 Jun 2019 02:06:40 +0000 (GMT) Received: from adsilva.ozlabs.ibm.com (haven.au.ibm.com [9.192.254.114]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.au.ibm.com (Postfix) with ESMTPSA id C8445A0208; Mon, 17 Jun 2019 12:06:37 +1000 (AEST) From: "Alastair D'Silva" To: alastair@d-silva.org Cc: Jani Nikula , Joonas Lahtinen , Rodrigo Vivi , David Airlie , Daniel Vetter , Dan Carpenter , Karsten Keil , Jassi Brar , Tom Lendacky , "David S. Miller" , Jose Abreu , Kalle Valo , Stanislaw Gruszka , Benson Leung , Enric Balletbo i Serra , "James E.J. Bottomley" , "Martin K. Petersen" , Greg Kroah-Hartman , Alexander Viro , Petr Mladek , Sergey Senozhatsky , Steven Rostedt , David Laight , Andrew Morton , intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, netdev@vger.kernel.org, ath10k@lists.infradead.org, linux-wireless@vger.kernel.org, linux-scsi@vger.kernel.org, linux-fbdev@vger.kernel.org, devel@driverdev.osuosl.org, linux-fsdevel@vger.kernel.org Subject: [PATCH v3 0/7] Hexdump Enhancements Date: Mon, 17 Jun 2019 12:04:23 +1000 X-Mailer: git-send-email 2.21.0 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-TM-AS-GCONF: 00 x-cbid: 19061702-0012-0000-0000-00000329AB17 X-IBM-AV-DETECTION: SAVI=unused REMOTE=unused XFE=unused x-cbparentid: 19061702-0013-0000-0000-00002162C068 Message-Id: <20190617020430.8708-1-alastair@au1.ibm.com> X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:,, definitions=2019-06-17_01:,, signatures=0 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 malwarescore=0 suspectscore=1 phishscore=0 bulkscore=0 spamscore=0 clxscore=1015 lowpriorityscore=0 mlxscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.0.1-1810050000 definitions=main-1906170019 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Alastair D'Silva Apologies for the large CC list, it's a heads up for those responsible for subsystems where a prototype change in generic code causes a change in those subsystems. This series enhances hexdump. These improve the readability of the dumped data in certain situations (eg. wide terminals are available, many lines of empty bytes exist, etc). The default behaviour of hexdump is unchanged, however, the prototype for hex_dump_to_buffer() has changed, and print_hex_dump() has been renamed to print_hex_dump_ext(), with a wrapper replacing it for compatibility with existing code, which would have been too invasive to change. Hexdump selftests have be run & confirmed passed. Changelog: V3: - Fix inline documention - use BIT macros - use u32 rather than u64 for flags V2: - Fix failing selftests - Fix precedence bug in 'Replace ascii bool in hex_dump_to_buffer...' - Remove hardcoded new lengths & instead relax the checks in hex_dump_to_buffer, allocating the buffer from the heap instead of the stack. - Replace the skipping of lines of 0x00/0xff with skipping lines of repeated characters, announcing what has been skipped. - Add spaces as an optional N-group separator - Allow byte ordering to be maintained when HEXDUMP_RETAIN_BYTE_ORDERING is set. - Updated selftests to cover 'Relax rowsize checks' & 'Optionally retain byte ordering' Alastair D'Silva (7): lib/hexdump.c: Fix selftests lib/hexdump.c: Relax rowsize checks in hex_dump_to_buffer lib/hexdump.c: Optionally suppress lines of repeated bytes lib/hexdump.c: Replace ascii bool in hex_dump_to_buffer with flags lib/hexdump.c: Allow multiple groups to be separated by lines '|' lib/hexdump.c: Allow multiple groups to be separated by spaces lib/hexdump.c: Optionally retain byte ordering drivers/gpu/drm/i915/intel_engine_cs.c | 2 +- drivers/isdn/hardware/mISDN/mISDNisar.c | 6 +- drivers/mailbox/mailbox-test.c | 2 +- drivers/net/ethernet/amd/xgbe/xgbe-drv.c | 2 +- .../net/ethernet/synopsys/dwc-xlgmac-common.c | 2 +- drivers/net/wireless/ath/ath10k/debug.c | 3 +- .../net/wireless/intel/iwlegacy/3945-mac.c | 2 +- drivers/platform/chrome/wilco_ec/debugfs.c | 2 +- drivers/scsi/scsi_logging.c | 8 +- drivers/staging/fbtft/fbtft-core.c | 2 +- fs/seq_file.c | 3 +- include/linux/printk.h | 34 ++- lib/hexdump.c | 260 +++++++++++++++--- lib/test_hexdump.c | 146 +++++++--- 14 files changed, 372 insertions(+), 102 deletions(-) -- 2.21.0