On Tue, 17 Dec 2024 at 10:42, Linus Torvalds torvalds@linux-foundation.org wrote:
My initial suggestion was to just fix up the boot time array.
I think that's actually wrong. Just print the raw data and analyze it in user space.
.. I still think it's not the optimal solution, but fixing up the event data from the previous boot (*before* printing it, and entirely independently of vsnprintf()) would at least avoid the whole "mess with vsnprintf and switch the format string around as you are trying to walk the va_list in sync".
Because that was really a non-starter. Both the format string hackery and the va_list hackery was just fundamentally bogus.
If you massage the data before printing - and independently of it - those two issues should at least go away.
Linus