From c346689088e8bb5cdcdc5fe2a3fb2114047ca4b8 Mon Sep 17 00:00:00 2001
From: Luis Gerhorst <privat@luisgerhorst.de>
Date: Tue, 19 Jan 2021 11:08:00 +0100
Subject: [PATCH] bpftask: allow base_func helpers

---
 kernel/bpf/task.c | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/kernel/bpf/task.c b/kernel/bpf/task.c
index 75677bdc811f4..368fb8ad23f7f 100644
--- a/kernel/bpf/task.c
+++ b/kernel/bpf/task.c
@@ -200,11 +200,22 @@ static long find(const char __user *pathname_user, const char __user *filename_u
 	return err;
 }
 
-/* dummy _ops. The verifier will operate on target program's ops. */
+static const struct bpf_func_proto *
+task_prog_func_proto(enum bpf_func_id func_id, const struct bpf_prog *prog)
+{
+	switch (func_id) {
+	/* case BPF_FUNC_ktime_get_ns: */
+	/* 	return &bpf_ktime_get_ns_proto; */
+	default:
+		return bpf_base_func_proto(func_id);
+	}
+}
+
 const struct bpf_verifier_ops task_verifier_ops = {
+	.get_func_proto = task_prog_func_proto,
 };
-const struct bpf_prog_ops task_prog_ops = {
-};
+
+const struct bpf_prog_ops task_prog_ops = {};
 
 SYSCALL_DEFINE2(bpftask, int, prog_fd, void *, arg)
 {
-- 
GitLab