[PATCH] cfi: Include uaccess.h for get_kernel_nofault()

Nathan Chancellor posted 1 patch 3 days, 6 hours ago
include/linux/cfi.h | 1 +
1 file changed, 1 insertion(+)
[PATCH] cfi: Include uaccess.h for get_kernel_nofault()
Posted by Nathan Chancellor 3 days, 6 hours ago
After commit 0652a3daa787 ("tracing: Fix CFI violation in probestub
being called by tprobes"), there are many build errors when building
ARCH=arm multi_v7_defconfig + CONFIG_CFI=y like:

  In file included from drivers/base/devres.c:17:
  In file included from drivers/base/trace.h:16:
  In file included from include/linux/tracepoint.h:23:
  include/linux/cfi.h:44:6: error: call to undeclared function 'get_kernel_nofault'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
     44 |         if (get_kernel_nofault(hash, func - cfi_get_offset()))
        |             ^
  1 error generated.

get_kernel_nofault() is called in the generic version of
cfi_get_func_hash() but nothing ensures uaccess.h is always included for
a proper expansion and prototype. Include uaccess.h in cfi.h to clear up
the errors.

Cc: stable@vger.kernel.org
Fixes: 0652a3daa787 ("tracing: Fix CFI violation in probestub being called by tprobes")
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
---
 include/linux/cfi.h | 1 +
 1 file changed, 1 insertion(+)

diff --git a/include/linux/cfi.h b/include/linux/cfi.h
index 1fd22ea6eba4..0f220d29225c 100644
--- a/include/linux/cfi.h
+++ b/include/linux/cfi.h
@@ -9,6 +9,7 @@
 
 #include <linux/bug.h>
 #include <linux/module.h>
+#include <linux/uaccess.h>
 #include <asm/cfi.h>
 
 #ifdef CONFIG_CFI

---
base-commit: 0652a3daa78723f955b1ebeb621665ce72bec53e
change-id: 20260604-tracing-fix-cfi-h-build-error-36c2becf7d15

Best regards,
--  
Cheers,
Nathan
Re: [PATCH] cfi: Include uaccess.h for get_kernel_nofault()
Posted by Masami Hiramatsu (Google) 2 days, 4 hours ago
On Thu, 04 Jun 2026 17:33:21 -0700
Nathan Chancellor <nathan@kernel.org> wrote:

> After commit 0652a3daa787 ("tracing: Fix CFI violation in probestub
> being called by tprobes"), there are many build errors when building
> ARCH=arm multi_v7_defconfig + CONFIG_CFI=y like:
> 
>   In file included from drivers/base/devres.c:17:
>   In file included from drivers/base/trace.h:16:
>   In file included from include/linux/tracepoint.h:23:
>   include/linux/cfi.h:44:6: error: call to undeclared function 'get_kernel_nofault'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>      44 |         if (get_kernel_nofault(hash, func - cfi_get_offset()))
>         |             ^
>   1 error generated.
> 
> get_kernel_nofault() is called in the generic version of
> cfi_get_func_hash() but nothing ensures uaccess.h is always included for
> a proper expansion and prototype. Include uaccess.h in cfi.h to clear up
> the errors.
> 
> Cc: stable@vger.kernel.org
> Fixes: 0652a3daa787 ("tracing: Fix CFI violation in probestub being called by tprobes")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Oops, good catch!

Acked-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Thank you!

> ---
>  include/linux/cfi.h | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/include/linux/cfi.h b/include/linux/cfi.h
> index 1fd22ea6eba4..0f220d29225c 100644
> --- a/include/linux/cfi.h
> +++ b/include/linux/cfi.h
> @@ -9,6 +9,7 @@
>  
>  #include <linux/bug.h>
>  #include <linux/module.h>
> +#include <linux/uaccess.h>
>  #include <asm/cfi.h>
>  
>  #ifdef CONFIG_CFI
> 
> ---
> base-commit: 0652a3daa78723f955b1ebeb621665ce72bec53e
> change-id: 20260604-tracing-fix-cfi-h-build-error-36c2becf7d15
> 
> Best regards,
> --  
> Cheers,
> Nathan
> 


-- 
Masami Hiramatsu (Google) <mhiramat@kernel.org>
Re: [PATCH] cfi: Include uaccess.h for get_kernel_nofault()
Posted by Sami Tolvanen 2 days, 15 hours ago
On Thu, Jun 4, 2026 at 5:33 PM Nathan Chancellor <nathan@kernel.org> wrote:
>
> After commit 0652a3daa787 ("tracing: Fix CFI violation in probestub
> being called by tprobes"), there are many build errors when building
> ARCH=arm multi_v7_defconfig + CONFIG_CFI=y like:
>
>   In file included from drivers/base/devres.c:17:
>   In file included from drivers/base/trace.h:16:
>   In file included from include/linux/tracepoint.h:23:
>   include/linux/cfi.h:44:6: error: call to undeclared function 'get_kernel_nofault'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
>      44 |         if (get_kernel_nofault(hash, func - cfi_get_offset()))
>         |             ^
>   1 error generated.
>
> get_kernel_nofault() is called in the generic version of
> cfi_get_func_hash() but nothing ensures uaccess.h is always included for
> a proper expansion and prototype. Include uaccess.h in cfi.h to clear up
> the errors.
>
> Cc: stable@vger.kernel.org
> Fixes: 0652a3daa787 ("tracing: Fix CFI violation in probestub being called by tprobes")
> Signed-off-by: Nathan Chancellor <nathan@kernel.org>

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>

Sami