The patch titled Subject: vsprintf: correctly handle width when '#' flag used in %#p format. has been added to the -mm tree. Its filename is vsprintf-correctly-handle-width-when-flag-used-in-%p-format.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Grant Likely <grant.likely@xxxxxxxxxxxx> Subject: vsprintf: correctly handle width when '#' flag used in %#p format. needs decent changelog! Signed-off-by: Grant Likely <grant.likely@xxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- lib/vsprintf.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff -puN lib/vsprintf.c~vsprintf-correctly-handle-width-when-flag-used-in-%p-format lib/vsprintf.c --- a/lib/vsprintf.c~vsprintf-correctly-handle-width-when-flag-used-in-%p-format +++ a/lib/vsprintf.c @@ -866,13 +866,15 @@ static noinline_for_stack char *pointer(const char *fmt, char *buf, char *end, void *ptr, struct printf_spec spec) { + int default_width = 2 * sizeof(void*) + (spec.flags & SPECIAL ? 2 : 0); + if (!ptr && *fmt != 'K') { /* * Print (null) with the same width as a pointer so it makes * tabular output look nice. */ if (spec.field_width == -1) - spec.field_width = 2 * sizeof(void *); + spec.field_width = default_width; return string(buf, end, "(null)", spec); } @@ -927,7 +929,7 @@ char *pointer(const char *fmt, char *buf */ if (in_irq() || in_serving_softirq() || in_nmi()) { if (spec.field_width == -1) - spec.field_width = 2 * sizeof(void *); + spec.field_width = default_width; return string(buf, end, "pK-error", spec); } if (!((kptr_restrict == 0) || @@ -944,7 +946,7 @@ char *pointer(const char *fmt, char *buf } spec.flags |= SMALL; if (spec.field_width == -1) { - spec.field_width = 2 * sizeof(void *); + spec.field_width = default_width; spec.flags |= ZEROPAD; } spec.base = 16; _ Subject: Subject: vsprintf: correctly handle width when '#' flag used in %#p format. Patches currently in -mm which might be from grant.likely@xxxxxxxxxxxx are linux-next.patch vsprintf-correctly-handle-width-when-flag-used-in-%p-format.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html