Messages in this thread | | | Date | Wed, 03 Feb 2016 22:13:10 +0100 | From | Daniel Borkmann <> | Subject | Re: IRe: [PATCH] vsprintf: flowinfo in IPv6 is optional too |
| |
On 02/03/2016 06:56 PM, Joe Perches wrote: > On Wed, 2016-02-03 at 13:13 +0100, Jason A. Donenfeld wrote: >> Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com> >> --- >> lib/vsprintf.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/lib/vsprintf.c b/lib/vsprintf.c >> index 1b1b1c8..85e6645 100644 >> --- a/lib/vsprintf.c >> +++ b/lib/vsprintf.c >> @@ -1189,7 +1189,7 @@ char *ip6_addr_string_sa(char *buf, char *end, const struct sockaddr_in6 *sa, >> *p++ = ':'; >> p = number(p, pend, ntohs(sa->sin6_port), spec); >> } >> - if (have_f) { >> + if (have_f && (sa->sin6_flowinfo & IPV6_FLOWINFO_MASK)) { >> *p++ = '/'; >> p = number(p, pend, ntohl(sa->sin6_flowinfo & >> IPV6_FLOWINFO_MASK), spec); > > Why does this matter at all? > > The format string "%pIS[...]f" is not used currently in the kernel. > > If one were to call out this 'f' qualifier to %pIS, wouldn't it > be better to show /0 than elide the / output completely?
+1
Another possibility also in regards to your other patch would be to have a different format string char option instead of 'f'/'s' that would then allow a developer for having both options to choose from. Dunno if it's really worth it, but if you have a use case that definitely needs it, then it'd be probably better. Less surprises during debugging, at least.
| |