lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  PHC 
Open Source and information security mailing list archives
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 26 Nov 2020 13:13:29 +0100
From:   Peter Zijlstra <>
To:     Namhyung Kim <>
Cc:     Ingo Molnar <>,
        Alexander Shishkin <>,
        Thomas Gleixner <>,
        Borislav Petkov <>,
        "H. Peter Anvin" <>,
        LKML <>,,
        Stephane Eranian <>,
        John Sperbeck <>,
        "Lendacky, Thomas" <>,
        Kan Liang <>
Subject: Re: [PATCH 1/2] perf/x86/intel: Fix a warning on x86_pmu_stop() with
 large PEBS

On Thu, Nov 26, 2020 at 08:09:21PM +0900, Namhyung Kim wrote:
> The commit 3966c3feca3f ("x86/perf/amd: Remove need to check "running"
> bit in NMI handler") introduced this.  It seems x86_pmu_stop can be
> called recursively (like when it losts some samples) like below:
>   x86_pmu_stop
>     intel_pmu_disable_event  (x86_pmu_disable)
>       intel_pmu_pebs_disable
>         intel_pmu_drain_pebs_nhm  (x86_pmu_drain_pebs_buffer)
>           x86_pmu_stop
> While commit 35d1ce6bec13 ("perf/x86/intel/ds: Fix x86_pmu_stop
> warning for large PEBS") fixed it for the normal cases, there's
> another path to call x86_pmu_stop() recursively when a PEBS error was
> detected (like two or more counters overflowed at the same time).
> Like in the Kan's previous fix, we can skip the interrupt accounting
> for large PEBS, so check the iregs which is set for PMI only.
> Fixes: 3966c3feca3f ("x86/perf/amd: Remove need to check "running" bit in NMI handler")
> Reported-by: John Sperbeck <>
> Suggested-by: Peter Zijlstra <>
> Cc: "Lendacky, Thomas" <>
> Cc: Kan Liang <>
> Signed-off-by: Namhyung Kim <>

Thanks for both!

Powered by blists - more mailing lists