From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BAC5C433EF for ; Mon, 21 Feb 2022 01:48:51 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 7F8106B0072; Sun, 20 Feb 2022 20:48:50 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 7A7FB6B0073; Sun, 20 Feb 2022 20:48:50 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 649336B0074; Sun, 20 Feb 2022 20:48:50 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0146.hostedemail.com [216.40.44.146]) by kanga.kvack.org (Postfix) with ESMTP id 50ED56B0072 for ; Sun, 20 Feb 2022 20:48:50 -0500 (EST) Received: from smtpin19.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id 60E6D18097DC9 for ; Mon, 21 Feb 2022 01:48:48 +0000 (UTC) X-FDA: 79165103136.19.8EAB685 Received: from spam.unicloud.com (gw.haihefund.cn [220.194.70.58]) by imf27.hostedemail.com (Postfix) with ESMTP id D0B6740005 for ; Mon, 21 Feb 2022 01:48:46 +0000 (UTC) Received: from eage.unicloud.com ([220.194.70.35]) by spam.unicloud.com with ESMTP id 21L1m5vR073239; Mon, 21 Feb 2022 09:48:05 +0800 (GMT-8) (envelope-from luofei@unicloud.com) Received: from zgys-ex-mb09.Unicloud.com (10.10.0.24) by zgys-ex-mb09.Unicloud.com (10.10.0.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.2375.17; Mon, 21 Feb 2022 09:48:05 +0800 Received: from zgys-ex-mb09.Unicloud.com ([fe80::eda0:6815:ca71:5aa]) by zgys-ex-mb09.Unicloud.com ([fe80::eda0:6815:ca71:5aa%16]) with mapi id 15.01.2375.017; Mon, 21 Feb 2022 09:48:05 +0800 From: =?gb2312?B?wt63yQ==?= To: =?gb2312?B?SE9SSUdVQ0hJIE5BT1lBKNylv9qhodax0rIp?= CC: "tony.luck@intel.com" , "bp@alien8.de" , "tglx@linutronix.de" , "mingo@redhat.com" , "dave.hansen@linux.intel.com" , "x86@kernel.org" , "akpm@linux-foundation.org" , "hpa@zytor.com" , "linux-edac@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-mm@kvack.org" Subject: =?gb2312?B?tPC4tDogW1BBVENIIHYzIDEvMl0gaHcvcG9pc29uOiBBdm9pZCB0aGUgaW1w?= =?gb2312?B?YWN0IG9mIGh3cG9pc29uX2ZpbHRlcigpIHJldHVybiB2YWx1ZSBvbiBtY2Ug?= =?gb2312?Q?handler?= Thread-Topic: [PATCH v3 1/2] hw/poison: Avoid the impact of hwpoison_filter() return value on mce handler Thread-Index: AQHYJKupQaDFtbWtBUGT5Rqk/GwybayctkMAgACJtWk= Date: Mon, 21 Feb 2022 01:48:04 +0000 Message-ID: References: <20220218094056.2056251-1-luofei@unicloud.com>,<20220221013216.GB3968455@hori.linux.bs1.fc.nec.co.jp> In-Reply-To: <20220221013216.GB3968455@hori.linux.bs1.fc.nec.co.jp> Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.10.1.7] Content-Type: multipart/alternative; boundary="_000_ff721fb73eb7451495cb658ecba363edunicloudcom_" MIME-Version: 1.0 X-DNSRBL: X-MAIL:spam.unicloud.com 21L1m5vR073239 X-Rspam-User: X-Rspamd-Server: rspam12 X-Rspamd-Queue-Id: D0B6740005 X-Stat-Signature: qyq5ycioqzqhw4534dfbgcwk37kxkw1z Authentication-Results: imf27.hostedemail.com; dkim=none; dmarc=none; spf=pass (imf27.hostedemail.com: domain of luofei@unicloud.com designates 220.194.70.58 as permitted sender) smtp.mailfrom=luofei@unicloud.com X-HE-Tag: 1645408126-303487 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: --_000_ff721fb73eb7451495cb658ecba363edunicloudcom_ Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 PkNvbnZlbnRpb25hbGx5LCAiaHdwb2lzb24iIG9yICJIV1BPSVNPTiIgKGluc3RlYWQgb2YgImh3 L3BvaXNvbiIpIGlzIHVzZWQgaW4gdGhlIHN1YnN5c3RlbSB0YWcgaW4gJFNVQkpFQ1QsIHNvIGNv dWxkIHlvdSBhbGlnbiBpdCAoZm9yIGdyZXAgZnJpZW5kbGluZXNzKSA/DQoNCiA+DQoNCj4jIEkg c2hvdWxkJ3ZlIG1lbnRpb25lZCB0aGlzIGluIHByZXZpb3VzIHJldmlldyByb3VuZCwgc29ycnku DQoNCj4NCg0KPk9uIEZyaSwgRmViIDE4LCAyMDIyIGF0IDA0OjQwOjU2QU0gLTA1MDAsIGx1b2Zl aSB3cm90ZToNCg0KPj4gV2hlbiB0aGUgaHdwb2lzb24gcGFnZSBtZWV0cyB0aGUgZmlsdGVyIGNv bmRpdGlvbnMsIGl0IHNob3VsZCBub3QgYmUNCg0KPj4gcmVnYXJkZWQgYXMgc3VjY2Vzc2Z1bCBt ZW1vcnlfZmFpbHVyZSgpIHByb2Nlc3NpbmcgZm9yIG1jZSBoYW5kbGVyLA0KDQo+PiBidXQgc2hv dWxkIHJldHVybiBhIHZhbHVlKC1FSFdQT0lTT04pLCBvdGhlcndpc2UgbWNlIGhhbmRsZXIgcmVn YXJkcw0KDQo+PiB0aGUgZXJyb3IgcGFnZSBoYXMgYmVlbiBpZGVudGlmaWVkIGFuZCBpc29sYXRl ZCwgd2hpY2ggbWF5IGxlYWQgdG8NCg0KPj4gY2FsbGluZyBzZXRfbWNlX25vc3BlYygpIHRvIGNo YW5nZSBwYWdlIGF0dHJpYnV0ZSwgZXRjLg0KDQo+Pg0KDQo+PiBIZXJlIGEgbmV3IE1GX01DRV9f SEFORExFIGZsYWcgaXMgaW50cm9kdWxjZWQgdG8gaWRlbnRpZnkgdGhlDQoNCj4gICAgICAgICAg ICAgICAgICAgXl4gICAgICAgICAgICAgICBeXl5eXl5eXl5eXg0KDQo+ICAgICAgICAgICAgICAg ICBzaW5nbGUgJ18nID8gICAgICAgaW50cm9kdWNlZA0KDQo+DQoNCj4+IGNhbGwgZnJvbSB0aGUg bWNlIGhhbmRsZXIgYW5kIGluc3RydWN0IGh3cG9pc29uX2ZpbHRlcigpIHRvIHJldHVybg0KDQo+ PiAtRUhXUE9JU09OLCBvdGhlciByZXR1cm4gMCBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIHRoZQ0K DQo+ICAgICAgICAgICAgICAgICAgICAgXl5eXl4NCg0KPiAgICAgICAgICAgICAgICAgICAgIG90 aGVyd2lzZSA/DQoNCj4NCg0KPj4gaHdwb2lzb24gaW5qZWN0b3IuDQoNCg0KSSBhbSBzbyBzb3Jy eSBmb3IgbXkgY2FyZWxlc3NuZXNzLCBJIHdpbGwgcmVzdWJtaXQgdGhlIHVwZGF0ZWQgcGF0Y2hl cy4NCg0KDQpUaGFua3MNCg0KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCreivP7I yzogSE9SSUdVQ0hJIE5BT1lBKNylv9qhodax0rIpIDxuYW95YS5ob3JpZ3VjaGlAbmVjLmNvbT4N Creiy83KsbzkOiAyMDIyxOoy1MIyMcjVIDk6MzI6MTYNCsrVvP7Iyzogwt63yQ0Ks63LzTogdG9u eS5sdWNrQGludGVsLmNvbTsgYnBAYWxpZW44LmRlOyB0Z2x4QGxpbnV0cm9uaXguZGU7IG1pbmdv QHJlZGhhdC5jb207IGRhdmUuaGFuc2VuQGxpbnV4LmludGVsLmNvbTsgeDg2QGtlcm5lbC5vcmc7 IGFrcG1AbGludXgtZm91bmRhdGlvbi5vcmc7IGhwYUB6eXRvci5jb207IGxpbnV4LWVkYWNAdmdl ci5rZXJuZWwub3JnOyBsaW51eC1rZXJuZWxAdmdlci5rZXJuZWwub3JnOyBsaW51eC1tbUBrdmFj ay5vcmcNCtb3zOI6IFJlOiBbUEFUQ0ggdjMgMS8yXSBody9wb2lzb246IEF2b2lkIHRoZSBpbXBh Y3Qgb2YgaHdwb2lzb25fZmlsdGVyKCkgcmV0dXJuIHZhbHVlIG9uIG1jZSBoYW5kbGVyDQoNCkNv bnZlbnRpb25hbGx5LCAiaHdwb2lzb24iIG9yICJIV1BPSVNPTiIgKGluc3RlYWQgb2YgImh3L3Bv aXNvbiIpIGlzIHVzZWQgaW4NCnRoZSBzdWJzeXN0ZW0gdGFnIGluICRTVUJKRUNULCBzbyBjb3Vs ZCB5b3UgYWxpZ24gaXQgKGZvciBncmVwIGZyaWVuZGxpbmVzcykgPw0KDQojIEkgc2hvdWxkJ3Zl IG1lbnRpb25lZCB0aGlzIGluIHByZXZpb3VzIHJldmlldyByb3VuZCwgc29ycnkuDQoNCk9uIEZy aSwgRmViIDE4LCAyMDIyIGF0IDA0OjQwOjU2QU0gLTA1MDAsIGx1b2ZlaSB3cm90ZToNCj4gV2hl biB0aGUgaHdwb2lzb24gcGFnZSBtZWV0cyB0aGUgZmlsdGVyIGNvbmRpdGlvbnMsIGl0IHNob3Vs ZA0KPiBub3QgYmUgcmVnYXJkZWQgYXMgc3VjY2Vzc2Z1bCBtZW1vcnlfZmFpbHVyZSgpIHByb2Nl c3NpbmcgZm9yDQo+IG1jZSBoYW5kbGVyLCBidXQgc2hvdWxkIHJldHVybiBhIHZhbHVlKC1FSFdQ T0lTT04pLCBvdGhlcndpc2UNCj4gbWNlIGhhbmRsZXIgcmVnYXJkcyB0aGUgZXJyb3IgcGFnZSBo YXMgYmVlbiBpZGVudGlmaWVkIGFuZA0KPiBpc29sYXRlZCwgd2hpY2ggbWF5IGxlYWQgdG8gY2Fs bGluZyBzZXRfbWNlX25vc3BlYygpIHRvIGNoYW5nZQ0KPiBwYWdlIGF0dHJpYnV0ZSwgZXRjLg0K Pg0KPiBIZXJlIGEgbmV3IE1GX01DRV9fSEFORExFIGZsYWcgaXMgaW50cm9kdWxjZWQgdG8gaWRl bnRpZnkgdGhlDQogICAgICAgICAgICAgICAgICAgXl4gICAgICAgICAgICAgICBeXl5eXl5eXl5e Xg0KICAgICAgICAgICAgICAgICBzaW5nbGUgJ18nID8gICAgICAgaW50cm9kdWNlZA0KDQo+IGNh bGwgZnJvbSB0aGUgbWNlIGhhbmRsZXIgYW5kIGluc3RydWN0IGh3cG9pc29uX2ZpbHRlcigpIHRv DQo+IHJldHVybiAtRUhXUE9JU09OLCBvdGhlciByZXR1cm4gMCBmb3IgY29tcGF0aWJpbGl0eSB3 aXRoIHRoZQ0KICAgICAgICAgICAgICAgICAgICAgXl5eXl4NCiAgICAgICAgICAgICAgICAgICAg IG90aGVyd2lzZSA/DQoNCj4gaHdwb2lzb24gaW5qZWN0b3IuDQo+DQo+IFNpZ25lZC1vZmYtYnk6 IGx1b2ZlaSA8bHVvZmVpQHVuaWNsb3VkLmNvbT4NCg0KVGhlIGRpZmYgbG9va3Mgb2sgdG8gbWUs IHNvIHdpdGggdXBkYXRlcyBvbiB0aGUgc3ViamVjdC9kZXNjcmlwdGlvbiAuLi4NCg0KQWNrZWQt Ynk6IE5hb3lhIEhvcmlndWNoaSA8bmFveWEuaG9yaWd1Y2hpQG5lYy5jb20+DQoNClRoYW5rcywN Ck5hb3lhIEhvcmlndWNoaQ0KDQo+IC0tLQ0KPiAgYXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29y ZS5jIHwgMTUgKysrKysrKysrLS0tLS0tDQo+ICBpbmNsdWRlL2xpbnV4L21tLmggICAgICAgICAg ICAgfCAgMSArDQo+ICBtbS9tZW1vcnktZmFpbHVyZS5jICAgICAgICAgICAgfCAxNCArKysrKysr KysrKystLQ0KPiAgMyBmaWxlcyBjaGFuZ2VkLCAyMiBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29yZS5jIGIv YXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29yZS5jDQo+IGluZGV4IDU4MThiODM3ZmQ0ZC4uZGUy OTE2NWM2NWI2IDEwMDY0NA0KPiAtLS0gYS9hcmNoL3g4Ni9rZXJuZWwvY3B1L21jZS9jb3JlLmMN Cj4gKysrIGIvYXJjaC94ODYva2VybmVsL2NwdS9tY2UvY29yZS5jDQo+IEBAIC02MTIsNyArNjEy LDcgQEAgc3RhdGljIGludCB1Y19kZWNvZGVfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2Nr ICpuYiwgdW5zaWduZWQgbG9uZyB2YWwsDQo+ICAgICAgICAgICAgICAgIHJldHVybiBOT1RJRllf RE9ORTsNCj4NCj4gICAgICAgIHBmbiA9IG1jZS0+YWRkciA+PiBQQUdFX1NISUZUOw0KPiAtICAg ICBpZiAoIW1lbW9yeV9mYWlsdXJlKHBmbiwgMCkpIHsNCj4gKyAgICAgaWYgKCFtZW1vcnlfZmFp bHVyZShwZm4sIE1GX01DRV9IQU5ETEUpKSB7DQo+ICAgICAgICAgICAgICAgIHNldF9tY2Vfbm9z cGVjKHBmbiwgd2hvbGVfcGFnZShtY2UpKTsNCj4gICAgICAgICAgICAgICAgbWNlLT5rZmxhZ3Mg fD0gTUNFX0hBTkRMRURfVUM7DQo+ICAgICAgICB9DQo+IEBAIC0xMjg2LDcgKzEyODYsNyBAQCBz dGF0aWMgdm9pZCBraWxsX21lX25vdyhzdHJ1Y3QgY2FsbGJhY2tfaGVhZCAqY2gpDQo+ICBzdGF0 aWMgdm9pZCBraWxsX21lX21heWJlKHN0cnVjdCBjYWxsYmFja19oZWFkICpjYikNCj4gIHsNCj4g ICAgICAgIHN0cnVjdCB0YXNrX3N0cnVjdCAqcCA9IGNvbnRhaW5lcl9vZihjYiwgc3RydWN0IHRh c2tfc3RydWN0LCBtY2Vfa2lsbF9tZSk7DQo+IC0gICAgIGludCBmbGFncyA9IE1GX0FDVElPTl9S RVFVSVJFRDsNCj4gKyAgICAgaW50IGZsYWdzID0gTUZfQUNUSU9OX1JFUVVJUkVEIHwgTUZfTUNF X0hBTkRMRTsNCj4gICAgICAgIGludCByZXQ7DQo+DQo+ICAgICAgICBwLT5tY2VfY291bnQgPSAw Ow0KPiBAQCAtMTMwMyw5ICsxMzAzLDEyIEBAIHN0YXRpYyB2b2lkIGtpbGxfbWVfbWF5YmUoc3Ry dWN0IGNhbGxiYWNrX2hlYWQgKmNiKQ0KPiAgICAgICAgfQ0KPg0KPiAgICAgICAgLyoNCj4gLSAg ICAgICogLUVIV1BPSVNPTiBmcm9tIG1lbW9yeV9mYWlsdXJlKCkgbWVhbnMgdGhhdCBpdCBhbHJl YWR5IHNlbnQgU0lHQlVTDQo+IC0gICAgICAqIHRvIHRoZSBjdXJyZW50IHByb2Nlc3Mgd2l0aCB0 aGUgcHJvcGVyIGVycm9yIGluZm8sIHNvIG5vIG5lZWQgdG8NCj4gLSAgICAgICogc2VuZCBTSUdC VVMgaGVyZSBhZ2Fpbi4NCj4gKyAgICAgICogLUVIV1BPSVNPTiBmcm9tIG1lbW9yeV9mYWlsdXJl KCkgbWVhbnMgdGhhdCBtZW1vcnlfZmFpbHVyZSgpIGRpZA0KPiArICAgICAgKiBub3QgaGFuZGxl IHRoZSBlcnJvciBldmVudCBmb3IgdGhlIGZvbGxvd2luZyByZWFzb246DQo+ICsgICAgICAqICAt IFNJR0JVUyBoYXMgYWxyZWFkeSBiZWVuIHNlbnQgdG8gdGhlIGN1cnJlbnQgcHJvY2VzcyB3aXRo IHRoZQ0KPiArICAgICAgKiAgICBwcm9wZXIgZXJyb3IgaW5mbywgb3INCj4gKyAgICAgICogIC0g aHdwb2lzb25fZmlsdGVyKCkgZmlsdGVyZWQgdGhlIGV2ZW50LA0KPiArICAgICAgKiBzbyBubyBu ZWVkIHRvIGRlYWwgd2l0aCBpdCBtb3JlLg0KPiAgICAgICAgICovDQo+ICAgICAgICBpZiAocmV0 ID09IC1FSFdQT0lTT04pDQo+ICAgICAgICAgICAgICAgIHJldHVybjsNCj4gQEAgLTEzMjAsNyAr MTMyMyw3IEBAIHN0YXRpYyB2b2lkIGtpbGxfbWVfbmV2ZXIoc3RydWN0IGNhbGxiYWNrX2hlYWQg KmNiKQ0KPg0KPiAgICAgICAgcC0+bWNlX2NvdW50ID0gMDsNCj4gICAgICAgIHByX2VycigiS2Vy bmVsIGFjY2Vzc2VkIHBvaXNvbiBpbiB1c2VyIHNwYWNlIGF0ICVsbHhcbiIsIHAtPm1jZV9hZGRy KTsNCj4gLSAgICAgaWYgKCFtZW1vcnlfZmFpbHVyZShwLT5tY2VfYWRkciA+PiBQQUdFX1NISUZU LCAwKSkNCj4gKyAgICAgaWYgKCFtZW1vcnlfZmFpbHVyZShwLT5tY2VfYWRkciA+PiBQQUdFX1NI SUZULCBNRl9NQ0VfSEFORExFKSkNCj4gICAgICAgICAgICAgICAgc2V0X21jZV9ub3NwZWMocC0+ bWNlX2FkZHIgPj4gUEFHRV9TSElGVCwgcC0+bWNlX3dob2xlX3BhZ2UpOw0KPiAgfQ0KPg0KPiBk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9tbS5oIGIvaW5jbHVkZS9saW51eC9tbS5oDQo+IGlu ZGV4IDIxM2NjNTY5YjE5Mi4uZjQ3MDNmOTQ4ZTlhIDEwMDY0NA0KPiAtLS0gYS9pbmNsdWRlL2xp bnV4L21tLmgNCj4gKysrIGIvaW5jbHVkZS9saW51eC9tbS5oDQo+IEBAIC0zMTg4LDYgKzMxODgs NyBAQCBlbnVtIG1mX2ZsYWdzIHsNCj4gICAgICAgIE1GX01VU1RfS0lMTCA9IDEgPDwgMiwNCj4g ICAgICAgIE1GX1NPRlRfT0ZGTElORSA9IDEgPDwgMywNCj4gICAgICAgIE1GX1VOUE9JU09OID0g MSA8PCA0LA0KPiArICAgICBNRl9NQ0VfSEFORExFID0gMSA8PCA1LA0KPiAgfTsNCj4gIGV4dGVy biBpbnQgbWVtb3J5X2ZhaWx1cmUodW5zaWduZWQgbG9uZyBwZm4sIGludCBmbGFncyk7DQo+ICBl eHRlcm4gdm9pZCBtZW1vcnlfZmFpbHVyZV9xdWV1ZSh1bnNpZ25lZCBsb25nIHBmbiwgaW50IGZs YWdzKTsNCj4gZGlmZiAtLWdpdCBhL21tL21lbW9yeS1mYWlsdXJlLmMgYi9tbS9tZW1vcnktZmFp bHVyZS5jDQo+IGluZGV4IDk3YTllZDhmODdhOS4uNTlkNmQ5MzlhNzUyIDEwMDY0NA0KPiAtLS0g YS9tbS9tZW1vcnktZmFpbHVyZS5jDQo+ICsrKyBiL21tL21lbW9yeS1mYWlsdXJlLmMNCj4gQEAg LTE1MjYsNyArMTUyNiwxMCBAQCBzdGF0aWMgaW50IG1lbW9yeV9mYWlsdXJlX2h1Z2V0bGIodW5z aWduZWQgbG9uZyBwZm4sIGludCBmbGFncykNCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGlmIChUZXN0Q2xlYXJQYWdlSFdQb2lzb24oaGVhZCkpDQo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIG51bV9wb2lzb25lZF9wYWdlc19kZWMoKTsNCj4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHVubG9ja19wYWdlKGhlYWQpOw0KPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZXR1cm4gMDsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKGZsYWdzICYgTUZfTUNFX0hBTkRMRSkNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gLUVIV1BPSVNPTjsNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgZWxzZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJldHVybiAwOw0KPiAgICAgICAgICAgICAgICAgICAgICAgIH0NCj4gICAgICAgICAgICAgICAg ICAgICAgICB1bmxvY2tfcGFnZShoZWFkKTsNCj4gICAgICAgICAgICAgICAgICAgICAgICByZXMg PSBNRl9GQUlMRUQ7DQo+IEBAIC0xNjEzLDcgKzE2MTYsMTAgQEAgc3RhdGljIGludCBtZW1vcnlf ZmFpbHVyZV9kZXZfcGFnZW1hcCh1bnNpZ25lZCBsb25nIHBmbiwgaW50IGZsYWdzLA0KPiAgICAg ICAgICAgICAgICBnb3RvIG91dDsNCj4NCj4gICAgICAgIGlmIChod3BvaXNvbl9maWx0ZXIocGFn ZSkpIHsNCj4gLSAgICAgICAgICAgICByYyA9IDA7DQo+ICsgICAgICAgICAgICAgaWYgKGZsYWdz ICYgTUZfTUNFX0hBTkRMRSkNCj4gKyAgICAgICAgICAgICAgICAgICAgIHJjID0gLUVIV1BPSVNP TjsNCj4gKyAgICAgICAgICAgICBlbHNlDQo+ICsgICAgICAgICAgICAgICAgICAgICByYyA9IDA7 DQo+ICAgICAgICAgICAgICAgIGdvdG8gdW5sb2NrOw0KPiAgICAgICAgfQ0KPg0KPiBAQCAtMTgz Nyw2ICsxODQzLDEwIEBAIGludCBtZW1vcnlfZmFpbHVyZSh1bnNpZ25lZCBsb25nIHBmbiwgaW50 IGZsYWdzKQ0KPiAgICAgICAgICAgICAgICAgICAgICAgIG51bV9wb2lzb25lZF9wYWdlc19kZWMo KTsNCj4gICAgICAgICAgICAgICAgdW5sb2NrX3BhZ2UocCk7DQo+ICAgICAgICAgICAgICAgIHB1 dF9wYWdlKHApOw0KPiArICAgICAgICAgICAgIGlmIChmbGFncyAmIE1GX01DRV9IQU5ETEUpDQo+ ICsgICAgICAgICAgICAgICAgICAgICByZXMgPSAtRUhXUE9JU09OOw0KPiArICAgICAgICAgICAg IGVsc2UNCj4gKyAgICAgICAgICAgICAgICAgICAgIHJlcyA9IDA7DQo+ICAgICAgICAgICAgICAg IGdvdG8gdW5sb2NrX211dGV4Ow0KPiAgICAgICAgfQ0KPg0KPiAtLQ0KPiAyLjI3LjANCg== --_000_ff721fb73eb7451495cb658ecba363edunicloudcom_ Content-Type: text/html; charset="gb2312" Content-Transfer-Encoding: quoted-printable

>Conventionally, "= hwpoison" or "HWPOISON" (instead of "hw/poison") i= s used in the subsystem tag in $SUBJECT, so could you align it (for grep fr= iendliness) ?

 >

># I should've mentione= d this in previous review round, sorry.

>

>On Fri, Feb 18, 2022 a= t 04:40:56AM -0500, luofei wrote:

>> When the hwpoison= page meets the filter conditions, it should not be

>> regarded as succe= ssful memory_failure() processing for mce handler,

>> but should return= a value(-EHWPOISON), otherwise mce handler regards

>> the error page ha= s been identified and isolated, which may lead to

>> calling set_mce_n= ospec() to change page attribute, etc.

>>

>> Here a new MF_MCE= __HANDLE flag is introdulced to identify the

> = ;                  ^^          =      ^^^^^^^^^^^

> = ;                single '_' = ?       introduced

>> call from the mce= handler and instruct hwpoison_filter() to return

>> -EHWPOISON, other= return 0 for compatibility with the

> = ;                    ^^^^^

> = ;                    otherwise ?

>> hwpoison injector= .


I am so sorry for my carelessness, I will resubmit the updated patches.<= /p>


Thanks


=B7=A2=BC=FE=C8=CB: HORIG= UCHI NAOYA(=DC=A5=BF=DA=A1=A1=D6=B1=D2=B2) <naoya.horiguchi@nec.com><= br> =B7=A2=CB=CD=CA=B1=BC=E4: 2022=C4=EA2=D4=C221=C8=D5 9:32:16
=CA=D5=BC=FE=C8=CB: =C2=DE=B7=C9
=B3=AD=CB=CD: tony.luck@intel.com; bp@alien8.de; tglx@linutronix.de;= mingo@redhat.com; dave.hansen@linux.intel.com; x86@kernel.org; akpm@linux-= foundation.org; hpa@zytor.com; linux-edac@vger.kernel.org; linux-kernel@vge= r.kernel.org; linux-mm@kvack.org
=D6=F7=CC=E2: Re: [PATCH v3 1/2] hw/poison: Avoid the impact of hwpo= ison_filter() return value on mce handler
 
Conventionally, "hwpoison" or "HWPO= ISON" (instead of "hw/poison") is used in
the subsystem tag in $SUBJECT, so could you align it (for grep friendliness= ) ?

# I should've mentioned this in previous review round, sorry.

On Fri, Feb 18, 2022 at 04:40:56AM -0500, luofei wrote:
> When the hwpoison page meets the filter conditions, it should
> not be regarded as successful memory_failure() processing for
> mce handler, but should return a value(-EHWPOISON), otherwise
> mce handler regards the error page has been identified and
> isolated, which may lead to calling set_mce_nospec() to change
> page attribute, etc.
>
> Here a new MF_MCE__HANDLE flag is introdulced to identify the
            &nb= sp;      ^^      &nb= sp;        ^^^^^^^^^^^
            &nb= sp;    single '_' ?       intr= oduced

> call from the mce handler and instruct hwpoison_filter() to
> return -EHWPOISON, other return 0 for compatibility with the
            &nb= sp;        ^^^^^
            &nb= sp;        otherwise ?

> hwpoison injector.
>
> Signed-off-by: luofei <luofei@unicloud.com>

The diff looks ok to me, so with updates on the subject/description ...

Acked-by: Naoya Horiguchi <naoya.horiguchi@nec.com>

Thanks,
Naoya Horiguchi

> ---
>  arch/x86/kernel/cpu/mce/core.c | 15 +++++= 3;+++------
>  include/linux/mm.h       &nbs= p;     |  1 +
>  mm/memory-failure.c       &nb= sp;    | 14 +++++++++= 3;++--
>  3 files changed, 22 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/= core.c
> index 5818b837fd4d..de29165c65b6 100644
> --- a/arch/x86/kernel/cpu/mce/core.c
> +++ b/arch/x86/kernel/cpu/mce/core.c
> @@ -612,7 +612,7 @@ static int uc_decode_notifier(struct notifier_= block *nb, unsigned long val,
>            = ;    return NOTIFY_DONE;

>        pfn =3D mce->addr >>= ; PAGE_SHIFT;
> -     if (!memory_failure(pfn, 0)) {
> +     if (!memory_failure(pfn, MF_MCE_HANDLE))= {
>            = ;    set_mce_nospec(pfn, whole_page(mce));
>            = ;    mce->kflags |=3D MCE_HANDLED_UC;
>        }
> @@ -1286,7 +1286,7 @@ static void kill_me_now(struct callback_head= *ch)
>  static void kill_me_maybe(struct callback_head *cb)
>  {
>        struct task_struct *p =3D co= ntainer_of(cb, struct task_struct, mce_kill_me);
> -     int flags =3D MF_ACTION_REQUIRED;
> +     int flags =3D MF_ACTION_REQUIRED | MF_MC= E_HANDLE;
>        int ret;

>        p->mce_count =3D 0;
> @@ -1303,9 +1303,12 @@ static void kill_me_maybe(struct callback_h= ead *cb)
>        }

>        /*
> -      * -EHWPOISON from memory_failure() mea= ns that it already sent SIGBUS
> -      * to the current process with the prop= er error info, so no need to
> -      * send SIGBUS here again.
> +      * -EHWPOISON from memory_failure()= means that memory_failure() did
> +      * not handle the error event for t= he following reason:
> +      *  - SIGBUS has already been = sent to the current process with the
> +      *    proper error i= nfo, or
> +      *  - hwpoison_filter() filter= ed the event,
> +      * so no need to deal with it more.=
>         */
>        if (ret =3D=3D -EHWPOISON) >            = ;    return;
> @@ -1320,7 +1323,7 @@ static void kill_me_never(struct callback_he= ad *cb)

>        p->mce_count =3D 0;
>        pr_err("Kernel accessed= poison in user space at %llx\n", p->mce_addr);
> -     if (!memory_failure(p->mce_addr >> = PAGE_SHIFT, 0))
> +     if (!memory_failure(p->mce_addr >&= gt; PAGE_SHIFT, MF_MCE_HANDLE))
>            = ;    set_mce_nospec(p->mce_addr >> PAGE_SHIFT, p-&g= t;mce_whole_page);
>  }

> diff --git a/include/linux/mm.h b/include/linux/mm.h
> index 213cc569b192..f4703f948e9a 100644
> --- a/include/linux/mm.h
> +++ b/include/linux/mm.h
> @@ -3188,6 +3188,7 @@ enum mf_flags {
>        MF_MUST_KILL =3D 1 << = 2,
>        MF_SOFT_OFFLINE =3D 1 <&l= t; 3,
>        MF_UNPOISON =3D 1 << 4= ,
> +     MF_MCE_HANDLE =3D 1 << 5,
>  };
>  extern int memory_failure(unsigned long pfn, int flags);
>  extern void memory_failure_queue(unsigned long pfn, int flags);<= br> > diff --git a/mm/memory-failure.c b/mm/memory-failure.c
> index 97a9ed8f87a9..59d6d939a752 100644
> --- a/mm/memory-failure.c
> +++ b/mm/memory-failure.c
> @@ -1526,7 +1526,10 @@ static int memory_failure_hugetlb(unsigned = long pfn, int flags)
>            = ;            &n= bsp;       if (TestClearPageHWPoison(head)) >            = ;            &n= bsp;            = ;   num_poisoned_pages_dec();
>            = ;            &n= bsp;       unlock_page(head);
> -           &nb= sp;            =      return 0;
> +           = ;            &n= bsp;     if (flags & MF_MCE_HANDLE)
> +           = ;            &n= bsp;            = ; return -EHWPOISON;
> +           = ;            &n= bsp;     else
> +           = ;            &n= bsp;            = ; return 0;
>            = ;            }
>            = ;            unlock_= page(head);
>            = ;            res =3D= MF_FAILED;
> @@ -1613,7 +1616,10 @@ static int memory_failure_dev_pagemap(unsig= ned long pfn, int flags,
>            = ;    goto out;

>        if (hwpoison_filter(page)) {=
> -           &nb= sp; rc =3D 0;
> +           = ;  if (flags & MF_MCE_HANDLE)
> +           = ;          rc =3D -EHWPOISON;<= br> > +           = ;  else
> +           = ;          rc =3D 0;
>            = ;    goto unlock;
>        }

> @@ -1837,6 +1843,10 @@ int memory_failure(unsigned long pfn, int f= lags)
>            = ;            num_poi= soned_pages_dec();
>            = ;    unlock_page(p);
>            = ;    put_page(p);
> +           = ;  if (flags & MF_MCE_HANDLE)
> +           = ;          res =3D -EHWPOISON;=
> +           = ;  else
> +           = ;          res =3D 0;
>            = ;    goto unlock_mutex;
>        }

> --
> 2.27.0
--_000_ff721fb73eb7451495cb658ecba363edunicloudcom_--