Re: Don't fill the kernel log with memfd_create messages

From: Vlastimil Babka
Date: Mon Sep 04 2023 - 09:31:43 EST


On 8/30/23 17:52, Alex Xu (Hello71) wrote:
> Hi all,
>
> Recently "memfd: improve userspace warnings for missing exec-related
> flags" was merged. On my system, this is a regression, not an
> improvement, because the entire 256k kernel log buffer (default on x86)
> is filled with these warnings and "__do_sys_memfd_create: 122 callbacks
> suppressed". I haven't investigated too closely, but the most likely
> cause is Wayland libraries.
>
> This is too serious of a consequence for using an old API, especially
> considering how recently the flags were added. The vast majority of
> software has not had time to add the flags: glibc does not define the
> macros until 2.38 which was released less than one month ago, man-pages
> does not document the flags, and according to Debian Code Search, only
> systemd, stress-ng, and strace actually pass either of these flags.
>
> Furthermore, since old kernels reject unknown flags, it's not just a
> matter of defining and passing the flag; every program needs to
> add logic to handle EINVAL and try again.
>
> Some other way needs to be found to encourage userspace to add the
> flags; otherwise, this message will be patched out because the kernel
> log becomes unusable after running unupdated programs, which will still
> exist even after upstreams are fixed. In particular, AppImages,
> flatpaks, snaps, and similar app bundles contain vendored Wayland
> libraries which can be difficult or impossible to update.

It's being reverted:
https://lore.kernel.org/all/20230902230530.6B663C433C8@xxxxxxxxxxxxxxx/

Meanwhile stable should avoid backporting 434ed3350f57 ("memfd: improve
userspace warnings for missing exec-related flags")

> Thanks,
> Alex.