lkml.org 
[lkml]   [2021]   [Sep]   [30]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v4 05/15] tracepoint: Exclude tp_stub_func from CFI checking
    On Thu, Sep 30, 2021 at 11:05 AM Sami Tolvanen <samitolvanen@google.com> wrote:
    >
    > If allocate_probes fails, func_remove replaces the old function
    > with a pointer to tp_stub_func, which is called using a mismatching
    > function pointer that will always trip indirect call checks with
    > CONFIG_CFI_CLANG. Use DEFINE_CFI_IMMEDATE_RETURN_STUB to define
    > tp_stub_func to allow it to pass CFI checking.
    >
    > Signed-off-by: Sami Tolvanen <samitolvanen@google.com>
    > Reviewed-by: Nick Desaulniers <ndesaulniers@google.com>
    > ---
    > kernel/tracepoint.c | 5 +----
    > 1 file changed, 1 insertion(+), 4 deletions(-)
    >
    > diff --git a/kernel/tracepoint.c b/kernel/tracepoint.c
    > index 64ea283f2f86..58acc7d86c3f 100644
    > --- a/kernel/tracepoint.c
    > +++ b/kernel/tracepoint.c

    looking at 4+5/15 together, I wonder if this TU should explicitly
    include linux/cfi.h?

    > @@ -99,10 +99,7 @@ struct tp_probes {
    > };
    >
    > /* Called in removal of a func but failed to allocate a new tp_funcs */
    > -static void tp_stub_func(void)
    > -{
    > - return;
    > -}
    > +static DEFINE_CFI_IMMEDIATE_RETURN_STUB(tp_stub_func);
    >
    > static inline void *allocate_probes(int count)
    > {
    > --
    > 2.33.0.800.g4c38ced690-goog
    >


    --
    Thanks,
    ~Nick Desaulniers

    \
     
     \ /
      Last update: 2021-09-30 20:52    [W:2.522 / U:0.268 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site