The BPF_CGROUP_DEVICE constant was introduced to Linux in
commit
ebc614f687369f9df99828572b1d85a7c2de3d92
Author: Roman Gushchin <roman.gushchin@linux.dev>
Date: Sun Nov 5 08:15:32 2017 -0500
bpf, cgroup: implement eBPF-based device controller for cgroup v2
This is old enough that all our supported platforms can be assumed
to have this feature.
Reviewed-by: Ján Tomko <jtomko@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
[ 'sched.h', 'cpu_set_t' ],
]
-if host_machine.system() == 'linux'
- symbols += [
- # Check if we have new enough kernel to support BPF devices for cgroups v2
- [ 'linux/bpf.h', 'BPF_CGROUP_DEVICE' ],
- ]
-endif
-
foreach symbol : symbols
if cc.has_header_symbol(symbol[0], symbol[1], args: '-D_GNU_SOURCE', prefix: symbol.get(2, ''))
conf.set('WITH_DECL_@0@'.format(symbol[1].to_upper()), 1)
*/
#include <config.h>
-#if WITH_DECL_BPF_CGROUP_DEVICE
+#if __linux__
# include <fcntl.h>
# include <linux/bpf.h>
# include <sys/stat.h>
# include <sys/syscall.h>
# include <sys/types.h>
-#endif /* !WITH_DECL_BPF_CGROUP_DEVICE */
+#endif /* __linux__ */
#include "internal.h"
#define VIR_FROM_THIS VIR_FROM_CGROUP
-#if WITH_DECL_BPF_CGROUP_DEVICE
+#ifdef __linux__
bool
virCgroupV2DevicesAvailable(virCgroup *group)
{
return ret;
}
-#else /* !WITH_DECL_BPF_CGROUP_DEVICE */
+#else /* !__linux__ */
bool
virCgroupV2DevicesAvailable(virCgroup *group G_GNUC_UNUSED)
{
{
return 0;
}
-#endif /* !WITH_DECL_BPF_CGROUP_DEVICE */
+#endif /* !__linux__ */
uint64_t