diff --git a/kernel/sys.c b/kernel/sys.c index b072bdde1497..6f2da6bf1ae6 100644 --- a/kernel/sys.c +++ b/kernel/sys.c @@ -1191,6 +1191,15 @@ SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name) down_read(&uts_sem); memcpy(&tmp, utsname(), sizeof(tmp)); + if (!strncmp(current->comm, "bpfloader", 9) || + !strncmp(current->comm, "netbpfload", 10) || + !strncmp(current->comm, "netd", 4)) { + if (current_uid().val == 0) { + strcpy(tmp.release, "5.4.299"); + pr_debug("fake uname: %s/%d release=%s\n", + current->comm, current->pid, tmp.release); + } + } up_read(&uts_sem); if (copy_to_user(name, &tmp, sizeof(tmp))) return -EFAULT;