From 2a6799fd437c517f970376ad8b66947f8800ab43 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Fri, 9 Feb 2024 15:20:58 +0100 Subject: [PATCH] build: Add userfaultfd_sysctl build option MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This option controls whether the sysctl config for enabling unprivileged userfaultfd will be installed. Signed-off-by: Jiri Denemark Reviewed-by: Ján Tomko --- 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') diff --git a/src/qemu/meson.build b/src/qemu/meson.build index 7a0e908a66..907893d431 100644 --- a/src/qemu/meson.build +++ b/src/qemu/meson.build @@ -209,7 +209,7 @@ if conf.has('WITH_QEMU') 'in_file': files('virtqemud.init.in'), } - if conf.has('WITH_SYSCTL') + if conf.has('WITH_USERFAULTFD_SYSCTL') install_data( 'postcopy-migration.sysctl', install_dir: prefix / 'lib' / 'sysctl.d',