On Mon, 2017-08-14 at 20:35 +0200, Borislav Petkov wrote: > On Mon, Aug 14, 2017 at 06:17:47PM +0000, Kani, Toshimitsu wrote: > > Right, ghes_edac_report_mem_error() gets serialized per a GHES > > entry, but not globally. > > Globally what? GHES v2's ACK is not a global lock. So, it does not guarantee that ghes_edac_report_mem_error() never gets called concurrently. > What is the actual potential scenario for concurrency issues you see? > Example pls. ghes_probe() supports multiple sources defined in acpi_hest_notify_types. Say, there are two entries for memory errors, one with ACPI_HEST_NOTIFY_EXTERNAL and the other with ACPI_HEST_NOTIFY_SCI. They may report errors independently. While ghes_edac_report_mem_error() is being called from the SCI, it can be called from the ext interrupt at a same time. I do not know how likely we see such case, but the code should be written according to the spec. Thanks, -Toshi ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f