This option controls whether the sysctl config for enabling unprivileged
userfaultfd will be installed.
Signed-off-by: Jiri Denemark <jdenemar(a)redhat.com>
---
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 4c3e1dee78..faea656502 100644
--- a/src/qemu/meson.build
+++ b/src/qemu/meson.build
@@ -202,7 +202,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',
--
2.43.0