1f73373
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
Jeremy Cline d1b6f8c
From: Eugene Syromiatnikov <esyr@redhat.com>
Jeremy Cline d1b6f8c
Date: Thu, 14 Jun 2018 16:36:08 -0400
Jeremy Cline d1b6f8c
Subject: [PATCH] bpf: Add tech preview taint for syscall
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
Message-id: <394af3a9985d1ad9ea6741cb95ff145312d106b9.1528991396.git.esyr@redhat.com>
Jeremy Cline d1b6f8c
Patchwork-id: 8251
Jeremy Cline d1b6f8c
O-Subject: [kernel team] [RHEL8 PATCH v4 3/5] [bpf] bpf: Add tech preview taint for syscall
Jeremy Cline d1b6f8c
Bugzilla: 1559877
Jeremy Cline d1b6f8c
RH-Acked-by: Jiri Benc <jbenc@redhat.com>
Jeremy Cline d1b6f8c
RH-Acked-by: Jesper Dangaard Brouer <brouer@redhat.com>
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
Adding tech preview taint for using the eBPF syscall.
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
Based on a RHEL 7 commit "bpf: Add tech preview taint for syscall" by
Jeremy Cline d1b6f8c
Jiri Olsa.
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1559877
Jeremy Cline d1b6f8c
Brew: https://brewweb.engineering.redhat.com/brew/taskinfo?taskID=16716594
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
Upstream Status: RHEL only
Jeremy Cline d1b6f8c
Signed-off-by: Jiri Olsa <jolsa@redhat.com>
Jeremy Cline d1b6f8c
Signed-off-by: Eugene Syromiatnikov <esyr@redhat.com>
Jeremy Cline d1b6f8c
Signed-off-by: Herton R. Krzesinski <herton@redhat.com>
Jeremy Cline d1b6f8c
---
Jeremy Cline d1b6f8c
 kernel/bpf/syscall.c | 6 ++++++
Jeremy Cline d1b6f8c
 1 file changed, 6 insertions(+)
Jeremy Cline d1b6f8c
Jeremy Cline d1b6f8c
diff --git a/kernel/bpf/syscall.c b/kernel/bpf/syscall.c
dc4f070
index 8f5546ec2d1f..772054412fab 100644
Jeremy Cline d1b6f8c
--- a/kernel/bpf/syscall.c
Jeremy Cline d1b6f8c
+++ b/kernel/bpf/syscall.c
dc4f070
@@ -4091,11 +4091,17 @@ static int bpf_iter_create(union bpf_attr *attr)
Jeremy Cline d1b6f8c
 SYSCALL_DEFINE3(bpf, int, cmd, union bpf_attr __user *, uattr, unsigned int, size)
Jeremy Cline d1b6f8c
 {
Jeremy Cline d1b6f8c
 	union bpf_attr attr;
Jeremy Cline d1b6f8c
+	static int marked;
Jeremy Cline d1b6f8c
 	int err;
6c2cc50
728cc6e
 	if (sysctl_unprivileged_bpf_disabled && !bpf_capable())
Jeremy Cline d1b6f8c
 		return -EPERM;
6c2cc50
Jeremy Cline d1b6f8c
+	if (!marked) {
Jeremy Cline d1b6f8c
+		mark_tech_preview("eBPF syscall", NULL);
Jeremy Cline d1b6f8c
+		marked = true;
Jeremy Cline d1b6f8c
+	}
Jeremy Cline d1b6f8c
+
Jeremy Cline d1b6f8c
 	err = bpf_check_uarg_tail_zero(uattr, sizeof(attr), size);
Jeremy Cline d1b6f8c
 	if (err)
Jeremy Cline d1b6f8c
 		return err;
Jeremy Cline d1b6f8c
-- 
6c2cc50
2.26.2
Jeremy Cline d1b6f8c