From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753979AbbLCUvf (ORCPT ); Thu, 3 Dec 2015 15:51:35 -0500 Received: from mail-lf0-f54.google.com ([209.85.215.54]:33952 "EHLO mail-lf0-f54.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753799AbbLCUv3 (ORCPT ); Thu, 3 Dec 2015 15:51:29 -0500 From: Rasmus Villemoes To: Andrew Morton Cc: Rasmus Villemoes , Ingo Molnar , linux-kernel@vger.kernel.org Subject: [PATCH v3 00/14] printf stuff for 4.5 Date: Thu, 3 Dec 2015 21:50:59 +0100 Message-Id: <1449175873-1780-1-git-send-email-linux@rasmusvillemoes.dk> X-Mailer: git-send-email 2.6.1 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org I was too late for 4.4, so here's hoping to get this into 4.5. 1-3 fix a theoretical race in printing strings via %s - since we're reusing existing code from the dentry printer, we actually also win on code size. Ingo, can I perhaps get you to turn your "looks good to" into an ack? 4 fixes a problem introduced by converting all bitmap formatting to go via %pb[l] - it turns out that bitmaps with >= 1<<15 bits are actually printed sometimes. This isn't necessarily the best fix, but the discussion died out, so I'm proposing this for now. 5 is just a minor optimization (maybe not so much on register-challenged arches). 6 I'm not too sure about, but maybe the bitmap problem had been discovered sooner (it took a little over half a year to be reported) if these had been in place. Paranoid-me wanted me to include patch 7, but I don't have strong feelings for it. 8-14 are minor additions to the test module (some with acks from Kees). Rasmus Villemoes (14): lib/vsprintf.c: pull out padding code from dentry_name() lib/vsprintf.c: move string() below widen_string() lib/vsprintf.c: eliminate potential race in string() lib/vsprintf.c: expand field_width to 24 bits lib/vsprintf.c: help gcc make number() smaller lib/vsprintf.c: warn about too large precisions and field widths lib/kasprintf.c: add sanity check to kvasprintf lib/test_printf.c: don't BUG lib/test_printf.c: check for out-of-bound writes lib/test_printf.c: test precision quirks lib/test_printf.c: add a few number() tests lib/test_printf.c: account for kvasprintf tests lib/test_printf.c: add test for large bitmaps lib/test_printf.c: test dentry printing lib/kasprintf.c | 10 +-- lib/test_printf.c | 121 ++++++++++++++++++++++++++++++---- lib/vsprintf.c | 193 +++++++++++++++++++++++++++++++----------------------- 3 files changed, 226 insertions(+), 98 deletions(-) -- 2.6.1