mirror of
https://github.com/torvalds/linux.git
synced 2025-11-03 01:59:51 +02:00
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@linux-m68k.org> Closes: https://lore.kernel.org/r/CAMuHMdV9tX=TG7E_CrSF=2PY206tXf+_yYRuacG48EWEtJLo-Q@mail.gmail.com Signed-off-by: Petr Mladek <pmladek@suse.com> Acked-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Reviewed-by: Aditya Garg <gargaditya08@live.com> Link: https://lore.kernel.org/r/20250428123132.578771-1-pmladek@suse.com Signed-off-by: Alyssa Rosenzweig <alyssa@rosenzweig.io> |
||
|---|---|---|
| .. | ||
| irq | ||
| wrappers | ||
| asm-annotations.rst | ||
| assoc_array.rst | ||
| boot-time-mm.rst | ||
| cachetlb.rst | ||
| cgroup.rst | ||
| circular-buffers.rst | ||
| cleanup.rst | ||
| cpu_hotplug.rst | ||
| debug-objects.rst | ||
| debugging-via-ohci1394.rst | ||
| dma-api-howto.rst | ||
| dma-api.rst | ||
| dma-attributes.rst | ||
| dma-isa-lpc.rst | ||
| entry.rst | ||
| errseq.rst | ||
| floating-point.rst | ||
| folio_queue.rst | ||
| genalloc.rst | ||
| generic-radix-tree.rst | ||
| genericirq.rst | ||
| gfp_mask-from-fs-io.rst | ||
| idr.rst | ||
| index.rst | ||
| kernel-api.rst | ||
| kobject.rst | ||
| kref.rst | ||
| librs.rst | ||
| local_ops.rst | ||
| maple_tree.rst | ||
| memory-allocation.rst | ||
| memory-hotplug.rst | ||
| min_heap.rst | ||
| mm-api.rst | ||
| netlink.rst | ||
| packing.rst | ||
| padata.rst | ||
| parser.rst | ||
| pin_user_pages.rst | ||
| printk-basics.rst | ||
| printk-formats.rst | ||
| printk-index.rst | ||
| protection-keys.rst | ||
| rbtree.rst | ||
| refcount-vs-atomic.rst | ||
| swiotlb.rst | ||
| symbol-namespaces.rst | ||
| this_cpu_ops.rst | ||
| timekeeping.rst | ||
| tracepoint.rst | ||
| unaligned-memory-access.rst | ||
| union_find.rst | ||
| watch_queue.rst | ||
| workqueue.rst | ||
| xarray.rst | ||