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 X-Spam-Level: X-Spam-Status: No, score=-11.7 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 79C62C432C1 for ; Wed, 25 Sep 2019 03:03:42 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id DCD4320874 for ; Wed, 25 Sep 2019 03:03:41 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="kRFLvdi1"; dkim=pass (1024-bit key) header.d=armh.onmicrosoft.com header.i=@armh.onmicrosoft.com header.b="kRFLvdi1" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DCD4320874 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 8E1F86B0008; Tue, 24 Sep 2019 23:03:41 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 8938D6B026D; Tue, 24 Sep 2019 23:03:41 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 732306B026E; Tue, 24 Sep 2019 23:03:41 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0152.hostedemail.com [216.40.44.152]) by kanga.kvack.org (Postfix) with ESMTP id 44AB86B0008 for ; Tue, 24 Sep 2019 23:03:41 -0400 (EDT) Received: from smtpin12.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id C0724349B for ; Wed, 25 Sep 2019 03:03:40 +0000 (UTC) X-FDA: 75971947800.12.size86_5a1e9db846a5a X-HE-Tag: size86_5a1e9db846a5a X-Filterd-Recvd-Size: 21568 Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20055.outbound.protection.outlook.com [40.107.2.55]) by imf50.hostedemail.com (Postfix) with ESMTP for ; Wed, 25 Sep 2019 03:03:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IwNOlzLoBUQlSQ/s9l9BB43SdszpRMpsgjBIdRgdpm8=; b=kRFLvdi1peoIu1d7xtU9rcM4IS99OJbOPz0O3WhDyPMw2x4pPCSPdpLR1B7CsVZAqhQPfH64B1qEfNl3/2napwIab4TrzI7YUWXdY453irmG/Q+wg5ZhW7/CWujuAamoRplikPWT/9QLAwzlDM6Heuw/wTnB9smwRva51aDgCno= Received: from DB7PR08CA0001.eurprd08.prod.outlook.com (2603:10a6:5:16::14) by AM0PR08MB3284.eurprd08.prod.outlook.com (2603:10a6:208:5d::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.25; Wed, 25 Sep 2019 03:03:35 +0000 Received: from AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com (2a01:111:f400:7e08::207) by DB7PR08CA0001.outlook.office365.com (2603:10a6:5:16::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.18 via Frontend Transport; Wed, 25 Sep 2019 03:03:34 +0000 Authentication-Results: spf=temperror (sender IP is 63.35.35.123) smtp.mailfrom=arm.com; kvack.org; dkim=pass (signature was verified) header.d=armh.onmicrosoft.com;kvack.org; dmarc=none action=none header.from=arm.com; Received-SPF: TempError (protection.outlook.com: error in processing during lookup of arm.com: DNS Timeout) Received: from 64aa7808-outbound-1.mta.getcheckrecipient.com (63.35.35.123) by AM5EUR03FT014.mail.protection.outlook.com (10.152.16.130) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20 via Frontend Transport; Wed, 25 Sep 2019 03:03:33 +0000 Received: ("Tessian outbound 3fba803f6da3:v33"); Wed, 25 Sep 2019 03:03:23 +0000 X-CR-MTA-TID: 64aa7808 Received: from 7c663bfb9b6d.2 (ip-172-16-0-2.eu-west-1.compute.internal [104.47.12.53]) by 64aa7808-outbound-1.mta.getcheckrecipient.com id EBA6CD36-6663-4423-8154-DA0258EC524D.1; Wed, 25 Sep 2019 03:03:18 +0000 Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04lp2053.outbound.protection.outlook.com [104.47.12.53]) by 64aa7808-outbound-1.mta.getcheckrecipient.com with ESMTPS id 7c663bfb9b6d.2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384); Wed, 25 Sep 2019 03:03:18 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d7IEwfFqFeLneXtEhPo27HoOXF+feHn2O08bX6VNx3ydZ8yyTH6lmiZ6B5KmYhRcpyeGkAc3YU50Fa6V2juFF4Q+yUwXP5uMvE+PHikoQMDKSfqDwFdchYK7oTXRZRuzA0/ojFghVIXLXOvuxE0dfBsXjVicnoez6gO0/4kCsDywVlfejAYZ1czZVTh9KdD2O933UZNUu/20v/ViBc68PCCvGt61ZvY21/TZRnenUpMqb2oXPSOg47dTge5yhVWRGp1cgOsyzBJSvfEpQZgRl9rGJx4NLiZR+NA50Hj2m8qsAkCziPedJUz7mlfelody6RRwklF1eDgOBFRBkU/qrA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IwNOlzLoBUQlSQ/s9l9BB43SdszpRMpsgjBIdRgdpm8=; b=hDxpcMf3J55wk3XBpr6a6lHZC67eZp043V+8JrOMtWPfAujAUVomi3tGoy3sKDYfF5WXSS3srvtIwzMPSd/HpdzXnTdOuU4OXMQ1pkL7i4fkt749QTXjVEq230dVoCwfg+1qXAkX2GE1JL05mtvWC+mvszn0rV4pwVAVz0l24gvU6k1WFNfWqXqx+CDyhhx0OjbixcRLMWiwYmyXdkXzEnm2ZMQmoLlACCI+JenjdnLyN7dAoM7V5tBtAH8yuPqDv7TK6TfoUgk/7jAMp8Zygqe96Ci11xbmOeXJC41t5ob48n0zWsvFKNpI82S/5IzRqAL9SF4Fc8oUx/Vh5SNefA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=arm.com; dmarc=pass action=none header.from=arm.com; dkim=pass header.d=arm.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=armh.onmicrosoft.com; s=selector2-armh-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=IwNOlzLoBUQlSQ/s9l9BB43SdszpRMpsgjBIdRgdpm8=; b=kRFLvdi1peoIu1d7xtU9rcM4IS99OJbOPz0O3WhDyPMw2x4pPCSPdpLR1B7CsVZAqhQPfH64B1qEfNl3/2napwIab4TrzI7YUWXdY453irmG/Q+wg5ZhW7/CWujuAamoRplikPWT/9QLAwzlDM6Heuw/wTnB9smwRva51aDgCno= Received: from DB7PR08MB3082.eurprd08.prod.outlook.com (52.134.110.24) by DB7PR08MB3834.eurprd08.prod.outlook.com (20.178.46.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2284.20; Wed, 25 Sep 2019 03:03:17 +0000 Received: from DB7PR08MB3082.eurprd08.prod.outlook.com ([fe80::3dcd:d5e4:c17:489d]) by DB7PR08MB3082.eurprd08.prod.outlook.com ([fe80::3dcd:d5e4:c17:489d%5]) with mapi id 15.20.2284.023; Wed, 25 Sep 2019 03:03:16 +0000 From: "Justin He (Arm Technology China)" To: Matthew Wilcox , "Kirill A. Shutemov" CC: Punit Agrawal , Anshuman Khandual , Alex Van Brunt , Robin Murphy , Thomas Gleixner , Andrew Morton , =?utf-8?B?SsOpcsO0bWUgR2xpc3Nl?= , Ralph Campbell , "hejianet@gmail.com" , "Kaly Xin (Arm Technology China)" , Will Deacon , nd , Catalin Marinas , James Morse , Mark Rutland , Marc Zyngier , "linux-arm-kernel@lists.infradead.org" , "linux-mm@kvack.org" , Suzuki Poulose , "linux-kernel@vger.kernel.org" Subject: RE: [PATCH v9 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared Thread-Topic: [PATCH v9 3/3] mm: fix double page fault on arm64 if PTE_AF is cleared Thread-Index: AQHVc01XfNpYwJVc7E2IJu3QViFbM6c7tDHg Date: Wed, 25 Sep 2019 03:03:16 +0000 Message-ID: References: <20190925025922.176362-1-justin.he@arm.com> <20190925025922.176362-4-justin.he@arm.com> In-Reply-To: <20190925025922.176362-4-justin.he@arm.com> Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ts-tracking-id: 44b9979f-effc-41e2-ab01-9c015d92f0db.1 x-checkrecipientchecked: true Authentication-Results-Original: spf=none (sender IP is ) smtp.mailfrom=Justin.He@arm.com; x-originating-ip: [113.29.88.7] x-ms-publictraffictype: Email X-MS-Office365-Filtering-Correlation-Id: 0c207bd8-8664-4d74-a92d-08d74164f39e X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam-Untrusted: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(5600167)(711020)(4605104)(1401327)(4618075)(4534185)(7168020)(4627221)(201703031133081)(201702281549075)(8990200)(2017052603328)(7193020);SRVR:DB7PR08MB3834; X-MS-TrafficTypeDiagnostic: DB7PR08MB3834:|DB7PR08MB3834:|AM0PR08MB3284: X-MS-Exchange-PUrlCount: 1 x-ms-exchange-transport-forked: True X-Microsoft-Antispam-PRVS: x-checkrecipientrouted: true x-ms-oob-tlc-oobclassifiers: OLM:9508;OLM:9508; x-forefront-prvs: 01713B2841 X-Forefront-Antispam-Report-Untrusted: SFV:NSPM;SFS:(10009020)(4636009)(39860400002)(366004)(396003)(376002)(136003)(346002)(189003)(199004)(13464003)(966005)(186003)(9686003)(66066001)(6306002)(14444005)(54906003)(7736002)(4326008)(6246003)(2906002)(7696005)(66446008)(76176011)(64756008)(66574012)(74316002)(55236004)(5660300002)(66946007)(66556008)(53546011)(102836004)(6506007)(26005)(256004)(33656002)(76116006)(71190400001)(478600001)(8936002)(486006)(11346002)(66476007)(99286004)(476003)(81166006)(52536014)(7416002)(305945005)(86362001)(8676002)(81156014)(71200400001)(25786009)(14454004)(110136005)(6116002)(55016002)(3846002)(6436002)(229853002)(316002)(446003);DIR:OUT;SFP:1101;SCL:1;SRVR:DB7PR08MB3834;H:DB7PR08MB3082.eurprd08.prod.outlook.com;FPR:;SPF:None;LANG:en;PTR:InfoNoRecords;MX:1;A:1; received-spf: None (protection.outlook.com: arm.com does not designate permitted sender hosts) X-MS-Exchange-SenderADCheck: 1 X-Microsoft-Antispam-Message-Info-Original: eszsnrHuiXRfwdreiPFzfWBLcNXvFF22LQAg80DmWNwvQaiiEo0bYO4K7rTmIK01FtjYfzsgmBIMpVWvlINueMT5iP4Hs3yJR0aTvaMYblUreHjF6U0cNC1gV8zAv1pZDar84sCbVnhtfB6c8/xUKDUrHkaeW7nGlqeyGus9GHbwF+GTWbVHgHwNjjs+B6ogyb61JOBu6dUN2Qb85L+WzCIG4Xzl319XDYLspJwzSTi7ol+dH9HSf1UAlv/kXE62OAijkXGSB4VhH6UJ+jzs5d04VXyniCiaNOv4WMhrKXTTYe61+aJtUkf+JWeqkFqBkO1qNOLxnRekaWSBu1OpkJL50i2c914B404x1fFg43olLYx8aT+s1e0Q0phxjLXFafh2AyhJ7S1ggzrAQ79zLMtodTJPmxy6aL4XwkySK+giKmFa8n1w7Kh0gTF2PccV9B37IPLAAmspnig/8O36cA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR08MB3834 Original-Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=Justin.He@arm.com; X-EOPAttributedMessage: 0 X-MS-Exchange-Transport-CrossTenantHeadersStripped: AM5EUR03FT014.eop-EUR03.prod.protection.outlook.com X-Forefront-Antispam-Report: CIP:63.35.35.123;IPV:CAL;SCL:-1;CTRY:IE;EFV:NLI;SFV:NSPM;SFS:(10009020)(4636009)(136003)(346002)(396003)(376002)(39860400002)(199004)(13464003)(189003)(63350400001)(9686003)(486006)(476003)(436003)(55016002)(446003)(126002)(186003)(50466002)(336012)(6306002)(107886003)(6116002)(3846002)(36906005)(11346002)(102836004)(305945005)(99286004)(53546011)(6506007)(4326008)(2906002)(70206006)(356004)(7736002)(70586007)(66574012)(23676004)(86362001)(76130400001)(966005)(14444005)(2486003)(25786009)(66066001)(47776003)(478600001)(8936002)(229853002)(5660300002)(74316002)(33656002)(22756006)(26826003)(110136005)(6246003)(76176011)(26005)(54906003)(316002)(52536014)(14454004)(8676002)(7696005)(81156014)(81166006);DIR:OUT;SFP:1101;SCL:1;SRVR:AM0PR08MB3284;H:64aa7808-outbound-1.mta.getcheckrecipient.com;FPR:;SPF:TempError;LANG:en;PTR:ec2-63-35-35-123.eu-west-1.compute.amazonaws.com;A:1;MX:1; X-MS-Office365-Filtering-Correlation-Id-Prvs: 91d73f40-8c3c-4041-05de-08d74164e999 X-Microsoft-Antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600167)(710020)(711020)(4605104)(1401327)(4618075)(2017052603328)(7193020);SRVR:AM0PR08MB3284; NoDisclaimer: True X-Forefront-PRVS: 01713B2841 X-Microsoft-Antispam-Message-Info: oDVvqovW4nh/s60eTW+8rd2nuReCm2MZv/Vv2LRTV1Jgp0JiYTZOHnIwhFBxC/ZVWo2vvWFwb5p9qqfGKHKaOo59QtZlM9YKkJSXA7tBK9jW34vuKS4piddycrWB5BiYID90GoGZD5eg4h2k6Uj2oJYHmJ7kxyHIiO/o8J/yXdM+X0rg1/d8qMom6CgZMZaoKpkl7t1sPuVutW2BtyRzFSB2t9rT0NKEDrmVNEti9/7725k9pRatiz27lsX73NvMDxwaKOv7KEVmYsK51V8YuWKluJh3t9ONZWhHgXZi1PnGYcRUSA9Y1zbuviWAgIEKiiacH346DjVs8Nyxf3dWoI6T2ZT4a0KnvXmhnTSeA/TMSUrf6x8J5CD9t0DA3oqrM1EZuFsLTqPHryUWWH2odVngtA8B6ODRNkiS/7XqrsIyWM9erpRIT+OMgTFCHx/+wAi2lmVfSi+6QawuF+JTkQ== X-OriginatorOrg: arm.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Sep 2019 03:03:33.5460 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: 0c207bd8-8664-4d74-a92d-08d74164f39e X-MS-Exchange-CrossTenant-Id: f34e5979-57d9-4aaa-ad4d-b122a662184d X-MS-Exchange-CrossTenant-OriginalAttributedTenantConnectingIp: TenantId=f34e5979-57d9-4aaa-ad4d-b122a662184d;Ip=[63.35.35.123];Helo=[64aa7808-outbound-1.mta.getcheckrecipient.com] X-MS-Exchange-CrossTenant-FromEntityHeader: HybridOnPrem X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3284 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: SGkgTWF0dGhldyBhbmQgS2lyaWxsDQpJIGRpZG4ndCBhZGQgeW91ciBwcmV2aW91cyByLWIgYW5k IGEtYiB0YWcgc2luY2UgSSByZWZhY3RvcmVkIHRoZSBjb3dfdXNlcl9wYWdlDQphbmQgY2hhbmdl ZCB0aGUgcHRsIHJhbmdlIGluIHY5LiBQbGVhc2UgaGF2ZSBhIHJldmlldywgdGhhbmtzDQoNCg0K LS0NCkNoZWVycywNCkp1c3RpbiAoSmlhIEhlKQ0KDQoNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBKaWEgSGUgPGp1c3Rpbi5oZUBhcm0uY29tPg0KPiBTZW50OiAyMDE5 5bm0OeaciDI15pelIDEwOjU5DQo+IFRvOiBDYXRhbGluIE1hcmluYXMgPENhdGFsaW4uTWFyaW5h c0Bhcm0uY29tPjsgV2lsbCBEZWFjb24NCj4gPHdpbGxAa2VybmVsLm9yZz47IE1hcmsgUnV0bGFu ZCA8TWFyay5SdXRsYW5kQGFybS5jb20+OyBKYW1lcyBNb3JzZQ0KPiA8SmFtZXMuTW9yc2VAYXJt LmNvbT47IE1hcmMgWnluZ2llciA8bWF6QGtlcm5lbC5vcmc+OyBNYXR0aGV3DQo+IFdpbGNveCA8 d2lsbHlAaW5mcmFkZWFkLm9yZz47IEtpcmlsbCBBLiBTaHV0ZW1vdg0KPiA8a2lyaWxsLnNodXRl bW92QGxpbnV4LmludGVsLmNvbT47IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZzsNCj4gbGludXgta2VybmVsQHZnZXIua2VybmVsLm9yZzsgbGludXgtbW1Aa3ZhY2sub3JnOyBT dXp1a2kgUG91bG9zZQ0KPiA8U3V6dWtpLlBvdWxvc2VAYXJtLmNvbT4NCj4gQ2M6IFB1bml0IEFn cmF3YWwgPHB1bml0YWdyYXdhbEBnbWFpbC5jb20+OyBBbnNodW1hbiBLaGFuZHVhbA0KPiA8QW5z aHVtYW4uS2hhbmR1YWxAYXJtLmNvbT47IEFsZXggVmFuIEJydW50DQo+IDxhdmFuYnJ1bnRAbnZp ZGlhLmNvbT47IFJvYmluIE11cnBoeSA8Um9iaW4uTXVycGh5QGFybS5jb20+Ow0KPiBUaG9tYXMg R2xlaXhuZXIgPHRnbHhAbGludXRyb25peC5kZT47IEFuZHJldyBNb3J0b24gPGFrcG1AbGludXgt DQo+IGZvdW5kYXRpb24ub3JnPjsgSsOpcsO0bWUgR2xpc3NlIDxqZ2xpc3NlQHJlZGhhdC5jb20+ OyBSYWxwaCBDYW1wYmVsbA0KPiA8cmNhbXBiZWxsQG52aWRpYS5jb20+OyBoZWppYW5ldEBnbWFp bC5jb207IEthbHkgWGluIChBcm0gVGVjaG5vbG9neQ0KPiBDaGluYSkgPEthbHkuWGluQGFybS5j b20+OyBuZCA8bmRAYXJtLmNvbT47IEp1c3RpbiBIZSAoQXJtDQo+IFRlY2hub2xvZ3kgQ2hpbmEp IDxKdXN0aW4uSGVAYXJtLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHY5IDMvM10gbW06IGZpeCBk b3VibGUgcGFnZSBmYXVsdCBvbiBhcm02NCBpZiBQVEVfQUYgaXMNCj4gY2xlYXJlZA0KPiANCj4g V2hlbiB3ZSB0ZXN0ZWQgcG1kayB1bml0IHRlc3QgWzFdIHZtbWFsbG9jX2ZvcmsgVEVTVDEgaW4g YXJtNjQgZ3Vlc3QsDQo+IHRoZXJlDQo+IHdpbGwgYmUgYSBkb3VibGUgcGFnZSBmYXVsdCBpbiBf X2NvcHlfZnJvbV91c2VyX2luYXRvbWljIG9mDQo+IGNvd191c2VyX3BhZ2UuDQo+IA0KPiBCZWxv dyBjYWxsIHRyYWNlIGlzIGZyb20gYXJtNjQgZG9fcGFnZV9mYXVsdCBmb3IgZGVidWdnaW5nIHB1 cnBvc2UNCj4gWyAgMTEwLjAxNjE5NV0gQ2FsbCB0cmFjZToNCj4gWyAgMTEwLjAxNjgyNl0gIGRv X3BhZ2VfZmF1bHQrMHg1YTQvMHg2OTANCj4gWyAgMTEwLjAxNzgxMl0gIGRvX21lbV9hYm9ydCsw eDUwLzB4YjANCj4gWyAgMTEwLjAxODcyNl0gIGVsMV9kYSsweDIwLzB4YzQNCj4gWyAgMTEwLjAx OTQ5Ml0gIF9fYXJjaF9jb3B5X2Zyb21fdXNlcisweDE4MC8weDI4MA0KPiBbICAxMTAuMDIwNjQ2 XSAgZG9fd3BfcGFnZSsweGIwLzB4ODYwDQo+IFsgIDExMC4wMjE1MTddICBfX2hhbmRsZV9tbV9m YXVsdCsweDk5NC8weDEzMzgNCj4gWyAgMTEwLjAyMjYwNl0gIGhhbmRsZV9tbV9mYXVsdCsweGU4 LzB4MTgwDQo+IFsgIDExMC4wMjM1ODRdICBkb19wYWdlX2ZhdWx0KzB4MjQwLzB4NjkwDQo+IFsg IDExMC4wMjQ1MzVdICBkb19tZW1fYWJvcnQrMHg1MC8weGIwDQo+IFsgIDExMC4wMjU0MjNdICBl bDBfZGErMHgyMC8weDI0DQo+IA0KPiBUaGUgcHRlIGluZm8gYmVmb3JlIF9fY29weV9mcm9tX3Vz ZXJfaW5hdG9taWMgaXMgKFBURV9BRiBpcyBjbGVhcmVkKToNCj4gW2ZmZmY5YjAwNzAwMF0gcGdk PTAwMDAwMDAyM2Q0ZjgwMDMsIHB1ZD0wMDAwMDAwMjNkYTliMDAzLA0KPiBwbWQ9MDAwMDAwMDIz ZDRiMzAwMywgcHRlPTM2MDAwMDI5ODYwN2JkMw0KPiANCj4gQXMgdG9sZCBieSBDYXRhbGluOiAi T24gYXJtNjQgd2l0aG91dCBoYXJkd2FyZSBBY2Nlc3MgRmxhZywgY29weWluZyBmcm9tDQo+IHVz ZXIgd2lsbCBmYWlsIGJlY2F1c2UgdGhlIHB0ZSBpcyBvbGQgYW5kIGNhbm5vdCBiZSBtYXJrZWQg eW91bmcuIFNvIHdlDQo+IGFsd2F5cyBlbmQgdXAgd2l0aCB6ZXJvZWQgcGFnZSBhZnRlciBmb3Jr KCkgKyBDb1cgZm9yIHBmbiBtYXBwaW5ncy4gd2UNCj4gZG9uJ3QgYWx3YXlzIGhhdmUgYSBoYXJk d2FyZS1tYW5hZ2VkIGFjY2VzcyBmbGFnIG9uIGFybTY0LiINCj4gDQo+IFRoaXMgcGF0Y2ggZml4 IGl0IGJ5IGNhbGxpbmcgcHRlX21reW91bmcuIEFsc28sIHRoZSBwYXJhbWV0ZXIgaXMNCj4gY2hh bmdlZCBiZWNhdXNlIHZtZiBzaG91bGQgYmUgcGFzc2VkIHRvIGNvd191c2VyX3BhZ2UoKQ0KPiAN Cj4gQWRkIGEgV0FSTl9PTl9PTkNFIHdoZW4gX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYygpIHJl dHVybnMgZXJyb3INCj4gaW4gY2FzZSB0aGVyZSBjYW4gYmUgc29tZSBvYnNjdXJlIHVzZS1jYXNl LihieSBLaXJpbGwpDQo+IA0KPiBbMV0gaHR0cHM6Ly9naXRodWIuY29tL3BtZW0vcG1kay90cmVl L21hc3Rlci9zcmMvdGVzdC92bW1hbGxvY19mb3JrDQo+IA0KPiBTaWduZWQtb2ZmLWJ5OiBKaWEg SGUgPGp1c3Rpbi5oZUBhcm0uY29tPg0KPiBSZXBvcnRlZC1ieTogWWlibyBDYWkgPFlpYm8uQ2Fp QGFybS5jb20+DQo+IC0tLQ0KPiAgbW0vbWVtb3J5LmMgfCA5OQ0KPiArKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQ0KPiAgMSBmaWxlIGNoYW5nZWQs IDg0IGluc2VydGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KPiANCj4gZGlmZiAtLWdpdCBhL21t L21lbW9yeS5jIGIvbW0vbWVtb3J5LmMNCj4gaW5kZXggZTJiYjUxYjYyNDJlLi5hMGEzODFiMzZm ZjIgMTAwNjQ0DQo+IC0tLSBhL21tL21lbW9yeS5jDQo+ICsrKyBiL21tL21lbW9yeS5jDQo+IEBA IC0xMTgsNiArMTE4LDEzIEBAIGludCByYW5kb21pemVfdmFfc3BhY2UgX19yZWFkX21vc3RseSA9 DQo+ICAJCQkJCTI7DQo+ICAjZW5kaWYNCj4gDQo+ICsjaWZuZGVmIGFyY2hfZmF1bHRzX29uX29s ZF9wdGUNCj4gK3N0YXRpYyBpbmxpbmUgYm9vbCBhcmNoX2ZhdWx0c19vbl9vbGRfcHRlKHZvaWQp DQo+ICt7DQo+ICsJcmV0dXJuIGZhbHNlOw0KPiArfQ0KPiArI2VuZGlmDQo+ICsNCj4gIHN0YXRp YyBpbnQgX19pbml0IGRpc2FibGVfcmFuZG1hcHMoY2hhciAqcykNCj4gIHsNCj4gIAlyYW5kb21p emVfdmFfc3BhY2UgPSAwOw0KPiBAQCAtMjE0MCwzMiArMjE0Nyw4MiBAQCBzdGF0aWMgaW5saW5l IGludCBwdGVfdW5tYXBfc2FtZShzdHJ1Y3QNCj4gbW1fc3RydWN0ICptbSwgcG1kX3QgKnBtZCwN Cj4gIAlyZXR1cm4gc2FtZTsNCj4gIH0NCj4gDQo+IC1zdGF0aWMgaW5saW5lIHZvaWQgY293X3Vz ZXJfcGFnZShzdHJ1Y3QgcGFnZSAqZHN0LCBzdHJ1Y3QgcGFnZSAqc3JjLA0KPiB1bnNpZ25lZCBs b25nIHZhLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSkNCj4gK3N0YXRpYyBpbmxpbmUgYm9v bCBjb3dfdXNlcl9wYWdlKHN0cnVjdCBwYWdlICpkc3QsIHN0cnVjdCBwYWdlICpzcmMsDQo+ICsJ CQkJIHN0cnVjdCB2bV9mYXVsdCAqdm1mKQ0KPiAgew0KPiArCWJvb2wgcmV0Ow0KPiArCXZvaWQg KmthZGRyOw0KPiArCXZvaWQgX191c2VyICp1YWRkcjsNCj4gKwlib29sIGZvcmNlX21reW91bmc7 DQo+ICsJc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEgPSB2bWYtPnZtYTsNCj4gKwlzdHJ1Y3Qg bW1fc3RydWN0ICptbSA9IHZtYS0+dm1fbW07DQo+ICsJdW5zaWduZWQgbG9uZyBhZGRyID0gdm1m LT5hZGRyZXNzOw0KPiArDQo+ICAJZGVidWdfZG1hX2Fzc2VydF9pZGxlKHNyYyk7DQo+IA0KPiAr CWlmIChsaWtlbHkoc3JjKSkgew0KPiArCQljb3B5X3VzZXJfaGlnaHBhZ2UoZHN0LCBzcmMsIGFk ZHIsIHZtYSk7DQo+ICsJCXJldHVybiB0cnVlOw0KPiArCX0NCj4gKw0KPiAgCS8qDQo+ICAJICog SWYgdGhlIHNvdXJjZSBwYWdlIHdhcyBhIFBGTiBtYXBwaW5nLCB3ZSBkb24ndCBoYXZlDQo+ICAJ ICogYSAic3RydWN0IHBhZ2UiIGZvciBpdC4gV2UgZG8gYSBiZXN0LWVmZm9ydCBjb3B5IGJ5DQo+ ICAJICoganVzdCBjb3B5aW5nIGZyb20gdGhlIG9yaWdpbmFsIHVzZXIgYWRkcmVzcy4gSWYgdGhh dA0KPiAgCSAqIGZhaWxzLCB3ZSBqdXN0IHplcm8tZmlsbCBpdC4gTGl2ZSB3aXRoIGl0Lg0KPiAg CSAqLw0KPiAtCWlmICh1bmxpa2VseSghc3JjKSkgew0KPiAtCQl2b2lkICprYWRkciA9IGttYXBf YXRvbWljKGRzdCk7DQo+IC0JCXZvaWQgX191c2VyICp1YWRkciA9ICh2b2lkIF9fdXNlciAqKSh2 YSAmIFBBR0VfTUFTSyk7DQo+ICsJa2FkZHIgPSBrbWFwX2F0b21pYyhkc3QpOw0KPiArCXVhZGRy ID0gKHZvaWQgX191c2VyICopKGFkZHIgJiBQQUdFX01BU0spOw0KPiArDQo+ICsJLyoNCj4gKwkg KiBPbiBhcmNoaXRlY3R1cmVzIHdpdGggc29mdHdhcmUgImFjY2Vzc2VkIiBiaXRzLCB3ZSB3b3Vs ZA0KPiArCSAqIHRha2UgYSBkb3VibGUgcGFnZSBmYXVsdCwgc28gbWFyayBpdCBhY2Nlc3NlZCBo ZXJlLg0KPiArCSAqLw0KPiArCWZvcmNlX21reW91bmcgPSBhcmNoX2ZhdWx0c19vbl9vbGRfcHRl KCkgJiYgIXB0ZV95b3VuZyh2bWYtDQo+ID5vcmlnX3B0ZSk7DQo+ICsJaWYgKGZvcmNlX21reW91 bmcpIHsNCj4gKwkJcHRlX3QgZW50cnk7DQo+ICsNCj4gKwkJdm1mLT5wdGUgPSBwdGVfb2Zmc2V0 X21hcF9sb2NrKG1tLCB2bWYtPnBtZCwgYWRkciwNCj4gJnZtZi0+cHRsKTsNCj4gKwkJaWYgKCFs aWtlbHkocHRlX3NhbWUoKnZtZi0+cHRlLCB2bWYtPm9yaWdfcHRlKSkpIHsNCj4gKwkJCS8qDQo+ ICsJCQkgKiBPdGhlciB0aHJlYWQgaGFzIGFscmVhZHkgaGFuZGxlZCB0aGUgZmF1bHQNCj4gKwkJ CSAqIGFuZCB3ZSBkb24ndCBuZWVkIHRvIGRvIGFueXRoaW5nLiBJZiBpdCdzDQo+ICsJCQkgKiBu b3QgdGhlIGNhc2UsIHRoZSBmYXVsdCB3aWxsIGJlIHRyaWdnZXJlZA0KPiArCQkJICogYWdhaW4g b24gdGhlIHNhbWUgYWRkcmVzcy4NCj4gKwkJCSAqLw0KPiArCQkJcmV0ID0gZmFsc2U7DQo+ICsJ CQlnb3RvIHB0ZV91bmxvY2s7DQo+ICsJCX0NCj4gKw0KPiArCQllbnRyeSA9IHB0ZV9ta3lvdW5n KHZtZi0+b3JpZ19wdGUpOw0KPiArCQlpZiAocHRlcF9zZXRfYWNjZXNzX2ZsYWdzKHZtYSwgYWRk ciwgdm1mLT5wdGUsIGVudHJ5LCAwKSkNCj4gKwkJCXVwZGF0ZV9tbXVfY2FjaGUodm1hLCBhZGRy LCB2bWYtPnB0ZSk7DQo+ICsJfQ0KPiANCj4gKwkvKg0KPiArCSAqIFRoaXMgcmVhbGx5IHNob3Vs ZG4ndCBmYWlsLCBiZWNhdXNlIHRoZSBwYWdlIGlzIHRoZXJlDQo+ICsJICogaW4gdGhlIHBhZ2Ug dGFibGVzLiBCdXQgaXQgbWlnaHQganVzdCBiZSB1bnJlYWRhYmxlLA0KPiArCSAqIGluIHdoaWNo IGNhc2Ugd2UganVzdCBnaXZlIHVwIGFuZCBmaWxsIHRoZSByZXN1bHQgd2l0aA0KPiArCSAqIHpl cm9lcy4NCj4gKwkgKi8NCj4gKwlpZiAoX19jb3B5X2Zyb21fdXNlcl9pbmF0b21pYyhrYWRkciwg dWFkZHIsIFBBR0VfU0laRSkpIHsNCj4gIAkJLyoNCj4gLQkJICogVGhpcyByZWFsbHkgc2hvdWxk bid0IGZhaWwsIGJlY2F1c2UgdGhlIHBhZ2UgaXMgdGhlcmUNCj4gLQkJICogaW4gdGhlIHBhZ2Ug dGFibGVzLiBCdXQgaXQgbWlnaHQganVzdCBiZSB1bnJlYWRhYmxlLA0KPiAtCQkgKiBpbiB3aGlj aCBjYXNlIHdlIGp1c3QgZ2l2ZSB1cCBhbmQgZmlsbCB0aGUgcmVzdWx0IHdpdGgNCj4gLQkJICog emVyb2VzLg0KPiArCQkgKiBHaXZlIGEgd2FybiBpbiBjYXNlIHRoZXJlIGNhbiBiZSBzb21lIG9i c2N1cmUNCj4gKwkJICogdXNlLWNhc2UNCj4gIAkJICovDQo+IC0JCWlmIChfX2NvcHlfZnJvbV91 c2VyX2luYXRvbWljKGthZGRyLCB1YWRkciwgUEFHRV9TSVpFKSkNCj4gLQkJCWNsZWFyX3BhZ2Uo a2FkZHIpOw0KPiAtCQlrdW5tYXBfYXRvbWljKGthZGRyKTsNCj4gLQkJZmx1c2hfZGNhY2hlX3Bh Z2UoZHN0KTsNCj4gLQl9IGVsc2UNCj4gLQkJY29weV91c2VyX2hpZ2hwYWdlKGRzdCwgc3JjLCB2 YSwgdm1hKTsNCj4gKwkJV0FSTl9PTl9PTkNFKDEpOw0KPiArCQljbGVhcl9wYWdlKGthZGRyKTsN Cj4gKwl9DQo+ICsNCj4gKwlyZXQgPSB0cnVlOw0KPiArDQo+ICtwdGVfdW5sb2NrOg0KPiArCWlm IChmb3JjZV9ta3lvdW5nKQ0KPiArCQlwdGVfdW5tYXBfdW5sb2NrKHZtZi0+cHRlLCB2bWYtPnB0 bCk7DQo+ICsJa3VubWFwX2F0b21pYyhrYWRkcik7DQo+ICsJZmx1c2hfZGNhY2hlX3BhZ2UoZHN0 KTsNCj4gKw0KPiArCXJldHVybiByZXQ7DQo+ICB9DQo+IA0KPiAgc3RhdGljIGdmcF90IF9fZ2V0 X2ZhdWx0X2dmcF9tYXNrKHN0cnVjdCB2bV9hcmVhX3N0cnVjdCAqdm1hKQ0KPiBAQCAtMjMxOCw3 ICsyMzc1LDE5IEBAIHN0YXRpYyB2bV9mYXVsdF90IHdwX3BhZ2VfY29weShzdHJ1Y3QNCj4gdm1f ZmF1bHQgKnZtZikNCj4gIAkJCQl2bWYtPmFkZHJlc3MpOw0KPiAgCQlpZiAoIW5ld19wYWdlKQ0K PiAgCQkJZ290byBvb207DQo+IC0JCWNvd191c2VyX3BhZ2UobmV3X3BhZ2UsIG9sZF9wYWdlLCB2 bWYtPmFkZHJlc3MsIHZtYSk7DQo+ICsNCj4gKwkJaWYgKCFjb3dfdXNlcl9wYWdlKG5ld19wYWdl LCBvbGRfcGFnZSwgdm1mKSkgew0KPiArCQkJLyoNCj4gKwkJCSAqIENPVyBmYWlsZWQsIGlmIHRo ZSBmYXVsdCB3YXMgc29sdmVkIGJ5IG90aGVyLA0KPiArCQkJICogaXQncyBmaW5lLiBJZiBub3Qs IHVzZXJzcGFjZSB3b3VsZCByZS1mYXVsdCBvbg0KPiArCQkJICogdGhlIHNhbWUgYWRkcmVzcyBh bmQgd2Ugd2lsbCBoYW5kbGUgdGhlIGZhdWx0DQo+ICsJCQkgKiBmcm9tIHRoZSBzZWNvbmQgYXR0 ZW1wdC4NCj4gKwkJCSAqLw0KPiArCQkJcHV0X3BhZ2UobmV3X3BhZ2UpOw0KPiArCQkJaWYgKG9s ZF9wYWdlKQ0KPiArCQkJCXB1dF9wYWdlKG9sZF9wYWdlKTsNCj4gKwkJCXJldHVybiAwOw0KPiAr CQl9DQo+ICAJfQ0KPiANCj4gIAlpZiAobWVtX2Nncm91cF90cnlfY2hhcmdlX2RlbGF5KG5ld19w YWdlLCBtbSwgR0ZQX0tFUk5FTCwNCj4gJm1lbWNnLCBmYWxzZSkpDQo+IC0tDQo+IDIuMTcuMQ0K DQo=