[RESTRICT_FILESYSTEM_ACCESS_LINK_BPF_GUARD] = (obj)->links.restrict_fsaccess_bpf_guard, \
}
-static bool dm_verity_require_signatures(void) {
+bool dm_verity_require_signatures(void) {
int r;
r = read_boolean_file("/sys/module/dm_verity/parameters/require_signatures");
return 0;
}
-static int prepare_restrict_fsaccess_bpf(struct restrict_fsaccess_bpf **ret) {
+int bpf_restrict_fsaccess_prepare(struct restrict_fsaccess_bpf **ret) {
_cleanup_(restrict_fsaccess_bpf_freep) struct restrict_fsaccess_bpf *obj = NULL;
int r;
return (supported = false);
}
- r = prepare_restrict_fsaccess_bpf(&obj);
+ r = bpf_restrict_fsaccess_prepare(&obj);
if (r < 0)
return (supported = false);
"RestrictFileSystemAccess= requires the kernel to enforce dm-verity signatures. "
"Set dm_verity.require_signatures=1 on the kernel command line.");
- r = prepare_restrict_fsaccess_bpf(&obj);
+ r = bpf_restrict_fsaccess_prepare(&obj);
if (r < 0)
return r;
#else /* ! BPF_FRAMEWORK || ! HAVE_LSM_INTEGRITY_TYPE */
+bool dm_verity_require_signatures(void) {
+ return false;
+}
+
bool bpf_restrict_fsaccess_supported(void) {
return false;
}
"bpf-restrict-fsaccess: RestrictFileSystemAccess= requested but BPF framework is not compiled in.");
}
+int bpf_restrict_fsaccess_prepare(struct restrict_fsaccess_bpf **ret) {
+ return -EOPNOTSUPP;
+}
+
int bpf_restrict_fsaccess_populate_guard(struct restrict_fsaccess_bpf *obj) {
return 0;
}
extern const char* const restrict_fsaccess_link_names[_RESTRICT_FILESYSTEM_ACCESS_LINK_MAX];
+bool dm_verity_require_signatures(void);
bool bpf_restrict_fsaccess_supported(void);
int bpf_restrict_fsaccess_setup(Manager *m);
+int bpf_restrict_fsaccess_prepare(struct restrict_fsaccess_bpf **ret);
int bpf_restrict_fsaccess_populate_guard(struct restrict_fsaccess_bpf *obj);
int bpf_restrict_fsaccess_close_initramfs_trust(Manager *m);