[PATCH] vsprintf: Use %p4chR instead of %p4cn for reading data in reversed host ordering

Aditya Garg gargaditya08 at live.com
Mon Apr 28 17:08:13 UTC 2025



On 28-04-2025 10:30 pm, Alyssa Rosenzweig wrote:
> Acked-by: Alyssa Rosenzweig <alyssa at rosenzweig.io>
> 
> Since the other patches went thru drm-misc-next, I guess this should
> too?

I think yes.
> 
> 
> Le Mon , Apr 28, 2025 at 02:31:32PM +0200, Petr Mladek a écrit :
>> The generic FourCC format always prints the data using the big endian
>> order. It is generic because it allows to read the data using a custom
>> ordering.
>>
>> The current code uses "n" for reading data in the reverse host ordering.
>> It makes the 4 variants [hnbl] consistent with the generic printing
>> of IPv4 addresses.
>>
>> Unfortunately, it creates confusion on big endian systems. For example,
>> it shows the data &(u32)0x67503030 as
>>
>> 	%p4cn	00Pg (0x30305067)
>>
>> But people expect that the ordering stays the same. The network ordering
>> is a big-endian ordering.
>>
>> The problem is that the semantic is not the same. The modifiers affect
>> the output ordering of IPv4 addresses while they affect the reading order
>> in case of FourCC code.
>>
>> Avoid the confusion by replacing the "n" modifier with "hR", aka
>> reverse host ordering. It is inspired by the existing %p[mM]R printf
>> format.
>>
>> Reported-by: Geert Uytterhoeven <geert at linux-m68k.org>
>> Closes: https://lore.kernel.org/r/CAMuHMdV9tX=TG7E_CrSF=2PY206tXf+_yYRuacG48EWEtJLo-Q@mail.gmail.com
>> Signed-off-by: Petr Mladek <pmladek at suse.com>
>> ---
>> Hi,
>>
>> I am sending this as a proper patch. It would be nice to queue it
>> together with the other patches adding the generic printf modifiers.

Atleast thats what this says.


More information about the dri-devel mailing list