diff -Nupr src.orig/kernel/sys.c src/kernel/sys.c --- src.orig/kernel/sys.c 2024-04-18 14:12:03.613374800 -0400 +++ src/kernel/sys.c 2024-04-18 14:13:03.847243889 -0400 @@ -1241,14 +1241,18 @@ static int override_release(char __user return ret; } -SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name) +#include "kpatch-syscall.h" +KPATCH_SYSCALL_DEFINE1(newuname, struct new_utsname __user *, name) { + struct new_utsname tmp; int errno = 0; down_read(&uts_sem); - if (copy_to_user(name, utsname(), sizeof *name)) - errno = -EFAULT; + memcpy(&tmp, utsname(), sizeof(tmp)); up_read(&uts_sem); + strcat(tmp.sysname, ".kpatch"); + if (copy_to_user(name, &tmp, sizeof(tmp))) + errno = -EFAULT; if (!errno && override_release(name->release, sizeof(name->release))) errno = -EFAULT;