lkml.org 
[lkml]   [2022]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 358/563] x86/mce: Mark mce_end() noinstr
    Date
    From: Borislav Petkov <bp@suse.de>

    [ Upstream commit b4813539d37fa31fed62cdfab7bd2dd8929c5b2e ]

    It is called by the #MC handler which is noinstr.

    Fixes

    vmlinux.o: warning: objtool: do_machine_check()+0xbd6: call to memset() leaves .noinstr.text section

    Signed-off-by: Borislav Petkov <bp@suse.de>
    Link: https://lore.kernel.org/r/20211208111343.8130-9-bp@alien8.de
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    arch/x86/kernel/cpu/mce/core.c | 14 +++++++++++---
    1 file changed, 11 insertions(+), 3 deletions(-)

    diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
    index 64d8a96a2bf1e..2a608f0819765 100644
    --- a/arch/x86/kernel/cpu/mce/core.c
    +++ b/arch/x86/kernel/cpu/mce/core.c
    @@ -1070,10 +1070,13 @@ static int mce_start(int *no_way_out)
    * Synchronize between CPUs after main scanning loop.
    * This invokes the bulk of the Monarch processing.
    */
    -static int mce_end(int order)
    +static noinstr int mce_end(int order)
    {
    - int ret = -1;
    u64 timeout = (u64)mca_cfg.monarch_timeout * NSEC_PER_USEC;
    + int ret = -1;
    +
    + /* Allow instrumentation around external facilities. */
    + instrumentation_begin();

    if (!timeout)
    goto reset;
    @@ -1117,7 +1120,8 @@ static int mce_end(int order)
    /*
    * Don't reset anything. That's done by the Monarch.
    */
    - return 0;
    + ret = 0;
    + goto out;
    }

    /*
    @@ -1132,6 +1136,10 @@ reset:
    * Let others run again.
    */
    atomic_set(&mce_executing, 0);
    +
    +out:
    + instrumentation_end();
    +
    return ret;
    }

    --
    2.34.1


    \
     
     \ /
      Last update: 2022-01-24 21:40    [W:2.821 / U:0.100 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site