treewide: Drop __cficanonical
authorSami Tolvanen <samitolvanen@google.com>
Thu, 8 Sep 2022 21:54:57 +0000 (14:54 -0700)
committerKees Cook <keescook@chromium.org>
Mon, 26 Sep 2022 17:13:15 +0000 (10:13 -0700)
CONFIG_CFI_CLANG doesn't use a jump table anymore and therefore,
won't change function references to point elsewhere. Remove the
__cficanonical attribute and all uses of it.

Note that the Clang definition of the attribute was removed earlier,
just clean up the no-op definition and users.

Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
Reviewed-by: Kees Cook <keescook@chromium.org>
Tested-by: Kees Cook <keescook@chromium.org>
Tested-by: Nathan Chancellor <nathan@kernel.org>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Signed-off-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/20220908215504.3686827-16-samitolvanen@google.com
include/linux/compiler_types.h
include/linux/init.h
include/linux/pci.h

index 4f2a819..6f2ec09 100644 (file)
@@ -265,10 +265,6 @@ struct ftrace_likely_data {
 # define __nocfi
 #endif
 
-#ifndef __cficanonical
-# define __cficanonical
-#endif
-
 /*
  * Any place that could be marked with the "alloc_size" attribute is also
  * a place to be marked with the "malloc" attribute. Do this as part of the
index 88f2964..a0a90cd 100644 (file)
@@ -220,8 +220,8 @@ extern bool initcall_debug;
        __initcall_name(initstub, __iid, id)
 
 #define __define_initcall_stub(__stub, fn)                     \
-       int __init __cficanonical __stub(void);                 \
-       int __init __cficanonical __stub(void)                  \
+       int __init __stub(void);                                \
+       int __init __stub(void)                                 \
        {                                                       \
                return fn();                                    \
        }                                                       \
index 060af91..5da0846 100644 (file)
@@ -2019,8 +2019,8 @@ enum pci_fixup_pass {
 #ifdef CONFIG_LTO_CLANG
 #define __DECLARE_PCI_FIXUP_SECTION(sec, name, vendor, device, class,  \
                                  class_shift, hook, stub)              \
-       void __cficanonical stub(struct pci_dev *dev);                  \
-       void __cficanonical stub(struct pci_dev *dev)                   \
+       void stub(struct pci_dev *dev);                                 \
+       void stub(struct pci_dev *dev)                                  \
        {                                                               \
                hook(dev);                                              \
        }                                                               \