On Tue, Dec 17, 2024 at 5:39 PM Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > On Tue, 17 Dec 2024 at 17:26, Linus Torvalds > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote: > > > > Let me go separate that part out and maybe people can point out where > > I've done something silly. > > Ok, that part I had actually already locally separated out better than > some of my later patches in the series, so I sent it out as > > https://lore.kernel.org/all/20241218013620.1679088-1-torvalds@xxxxxxxxxxxxxxxxxxxx/ lgtm. Since bstr_printf() converts 1/2/4 to unsigned long long num with a sign according to the format specifier it's good from the calling convention perspective. Doesn't matter here, but anyone passing 32-bit ints around needs to be aware of odd riscv abi promotion rules. x86-64 and arm64 zero extend 32-bit ints while riscv does sign extension when s32 and u32 are passed. Quote from the spec: "In RV64, 32-bit types, such as int, are stored in integer registers as proper sign extensions of their 32-bit values; that is, bits 63..31 are all equal. This restriction holds even for unsigned 32-bit types."