On Fri, Apr 28, 2023 at 07:46:14AM +0000, David Laight wrote: > From: Rasmus Villemoes > > Sent: 28 April 2023 07:57 > > On 27/04/2023 13.51, Konrad Gräfe wrote: > > > The CDC-ECM specification requires an USB gadget to send the host MAC > > > address as uppercase hex string. This change adds the appropriate > > > modifier. > > > > Thinking more about it, I'm not sure this is appropriate, not for a > > single user like this. vsprintf() should not and cannot satisfy all > > possible string formatting requirements for the whole kernel. The %pX > > extensions are convenient for use with printk() and friends where one > > needs what in other languages would be "string interpolation" (because > > then the caller doesn't need to deal with temporary stack buffers and > > pass them as %s arguments), but for single items like this, snprintf() > > is not necessarily the right tool for the job. > > > > In this case, the caller can just as well call string_upper() on the > > result, or not use sprintf() at all and do a tiny loop with > > hex_byte_pack_upper(). > > Or snprintf with "%02X:%02X:%02X:%02X:%02X:%02X". Of course this is a step back. Why? Have you read actually what we have in %p extensions already? Also, what about stack? Entire %pm/M exists due to reversed order. Otherwise it's an alias to %6phD or alike. -- With Best Regards, Andy Shevchenko