On Tue, Feb 13, 2024 at 18:48:59 +0100, Jiri Denemark wrote: > On Tue, Feb 13, 2024 at 11:39:26 +0100, Jiri Denemark wrote: > > This option controls whether the sysctl config for enabling unprivileged > > userfaultfd will be installed. > > > > Signed-off-by: Jiri Denemark <jdenemar@xxxxxxxxxx> > > --- > > meson.build | 8 ++++++++ > > meson_options.txt | 1 + > > src/qemu/meson.build | 2 +- > > 3 files changed, 10 insertions(+), 1 deletion(-) > > > > diff --git a/meson.build b/meson.build > > index e1c70fce92..dbd9cad6df 100644 > > --- a/meson.build > > +++ b/meson.build > > @@ -2019,6 +2019,12 @@ elif get_option('sysctl_config').enabled() > > error('sysctl configuration is supported only on linux') > > endif > > > > +if not get_option('userfaultfd_sysctl').disabled() and conf.has('WITH_SYSCTL') > > + conf.set('WITH_USERFAULTFD_SYSCTL', 1) > > +elif get_option('userfaultfd_sysctl').enabled() > > + error('userfaultfd_sysctl option requires sysctl_config to be enabled') > > +endif > > + > > conf.set_quoted('TLS_PRIORITY', get_option('tls_priority')) > > > > > > @@ -2318,6 +2324,8 @@ misc_summary = { > > 'virt-login-shell': conf.has('WITH_LOGIN_SHELL'), > > 'virt-host-validate': conf.has('WITH_HOST_VALIDATE'), > > 'TLS priority': conf.get_unquoted('TLS_PRIORITY'), > > + 'sysctl config': conf.has('WITH_SYSCTL'), > > + 'userfaultfd sysctl': conf.has('WITH_USERFAULTFD_SYSCTL'), > > } > > summary(misc_summary, section: 'Miscellaneous', bool_yn: true, list_sep: ' ') > > > > diff --git a/meson_options.txt b/meson_options.txt > > index 182e28b3d1..ed91d97abf 100644 > > --- a/meson_options.txt > > +++ b/meson_options.txt > > @@ -108,4 +108,5 @@ option('nbdkit', type: 'feature', value: 'auto', description: 'Build nbdkit stor > > option('nbdkit_config_default', type: 'feature', value: 'auto', description: 'Whether to use nbdkit storage backend for network disks by default (configurable)') > > option('pm_utils', type: 'feature', value: 'auto', description: 'use pm-utils for power management') > > option('sysctl_config', type: 'feature', value: 'auto', description: 'Whether to install sysctl configs') > > +option('userfaultfd_sysctl', type: 'feature', value: 'auto', description: 'Whether to install sysctl config for enabling unprivileged userfaultfd') > > option('tls_priority', type: 'string', value: 'NORMAL', description: 'set the default TLS session priority string') > > So this change apparently broke mingw build on Fedora: > > ERROR: Problem encountered: userfaultfd_sysctl option requires sysctl_config to be enabled > > The mingw part of libvirt.spec runs meson setup with > -Dsysctl_config=disabled and does not specify -Duserfaultfd_sysctl at > all, which I would expect means the same as -Duserfaultfd_sysctl=auto. > But according to the error message it looks like userfaultfd_sysctl was > actually enabled. > > I didn't explicitly test mingw builds, but I tested running meson setup > with all combinations, especially with -Dsysctl_config=disabled and not > specifying userfaultfd_sysctl option at all and it worked as expected: > > sysctl config : NO > userfaultfd sysctl : NO > > Sure, I can easily fix this by passing -Duserfaultfd_sysctl=disable > for mingw builds, but I'm wondering why the build doesn't work with just > -Dsysctl_config=disabled? Oh I see, the %meson* RPM macros explicitly enable all auto features using --auto-features=enabled. Jirka _______________________________________________ Devel mailing list -- devel@xxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxx