From: Alexei Starovoitov Date: Tue, 27 Apr 2021 22:50:15 +0000 (-0700) Subject: Merge branch 'Implement formatted output helpers with bstr_printf' X-Git-Tag: v5.13-rc1~94^2~7^2~2 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=05eb3791a0deb79027c7f392342531cb1c884ede;p=linux-platform-drivers-x86.git Merge branch 'Implement formatted output helpers with bstr_printf' Florent Revest says: ==================== BPF's formatted output helpers are currently implemented with snprintf-like functions which use variadic arguments. The types of all arguments need to be known at compilation time. BPF_CAST_FMT_ARG casts all arguments to the size they should be (known at runtime), but the C type promotion rules cast them back to u64s. On 32 bit architectures, this can cause misaligned va_lists and generate mangled output. This series refactors these helpers to avoid variadic arguments. It uses a "binary printf" instead, where arguments are passed in a buffer constructed at runtime. --- Changes in v2: - Reworded the second patch's description to better describe how arguments get mangled on 32 bit architectures ==================== Signed-off-by: Alexei Starovoitov --- 05eb3791a0deb79027c7f392342531cb1c884ede