[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <1421c3ac3d3c4438a6ff18f193f8a41c@intel.com>
Date: Thu, 17 Mar 2022 16:57:41 +0000
From: "Luck, Tony" <tony.luck@...el.com>
To: Shuai Xue <xueshuai@...ux.alibaba.com>
CC: "rjw@...ysocki.net" <rjw@...ysocki.net>,
"lenb@...nel.org" <lenb@...nel.org>,
"james.morse@....com" <james.morse@....com>,
"bp@...en8.de" <bp@...en8.de>,
"linux-acpi@...r.kernel.org" <linux-acpi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"graeme.gregory@...aro.org" <graeme.gregory@...aro.org>,
"will.deacon@....com" <will.deacon@....com>,
"myron.stowe@...hat.com" <myron.stowe@...hat.com>,
"Brown, Len" <len.brown@...el.com>,
"Huang, Ying" <ying.huang@...el.com>
Subject: RE: [BUG] kernel side can NOT trigger memory error with einj
> - rc = apei_exec_run(&trigger_ctx, ACPI_EINJ_TRIGGER_ERROR);
> + ptr = kmap(pfn_to_page(pfn));
> + tmp = *(ptr + (param1 & ~ PAGE_MASK));
That hack works when the trigger action is just trying to access the injected
location. But on Intel platforms the trigger "kicks" the patrol scrubber in the
memory controller to access the address. So the error is triggered not by
an access from the core, but by internal memory controller access.
This results in a different error signature (for an uncorrected error injection
it will be a UCNA or SRAO in Intel acronym-speak).
-Tony
Powered by blists - more mailing lists