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 AEB2BC433EF for ; Tue, 21 Jun 2022 17:27:44 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 48C628E0009; Tue, 21 Jun 2022 13:27:44 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 43BD28E0003; Tue, 21 Jun 2022 13:27:44 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 2DB648E0009; Tue, 21 Jun 2022 13:27:44 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0011.hostedemail.com [216.40.44.11]) by kanga.kvack.org (Postfix) with ESMTP id 1C0F38E0003 for ; Tue, 21 Jun 2022 13:27:44 -0400 (EDT) Received: from smtpin28.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id D50EE3434D for ; Tue, 21 Jun 2022 17:27:43 +0000 (UTC) X-FDA: 79602925206.28.87A5DBB Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2052.outbound.protection.outlook.com [40.107.95.52]) by imf22.hostedemail.com (Postfix) with ESMTP id 4B127C001B for ; Tue, 21 Jun 2022 17:27:43 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nDCAtPwn3iN8k26sbkX50Fe3d04Q85AYIOUOE6pBzKdMhdDcBbEvlm0BBQrhvDXqmcp/pgCuA7LeaRyPfZi5it8Oy2pJUbqSc9hMIQUDDSNi7wFAVSXKWwF6zrfYbdc/RM6h+te/1IKL5YL8V4/3J5tNtpg35KGo00birWwe5/DMAQIM9GL/o4iIZxoj0W3jf2IHJvFnu0wys6dASo6uQeMlsIsVwE61Bd3KohatpudKq78YO3VcJW5qejz6kTm5OfWPSfS4bkuNs7IFK7ZQEw/VrfQRdKW6snelWXwZJCG4elvXDWgD3jc6yG55vErHJ1sMM0CNhgKCXxOJPsXucw== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=oNRtc9C0OvS4VcK9yRN/HvXF/2TNHvlHm5pI6JRAZ1o=; b=knkHg/Y7GspVoommZSRVfFKlzc1xZ7mlNyqRo9jgdemcKQflpj2OAFGRDpYSjVH3cHMW+m6vGI0r8UMMn+GXDoPWmj3kelVLo9RiCrtBJRhaPxgopgxEiJadoL8+i5Flg3X2AfB8Y7+mV+kOb8LqS33kolMPAkCqKpZX+O0NO5cZtygyOM2MANAoAzKSXLJu9vq3GxVxwAYP0yRhbAYuOcAsYhkMr2vJlw5CdEyko8ViAFkknV/9x2/PiC8V7fdbPrvdxOxC8yktbQMwDYYOmvm6BiKxGxUaZqLfeMNbiQjooObM1eIuEDDhxn8jPm2R8AMjMMByMl6wgnM4S3gAqw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=vmware.com; dmarc=pass action=none header.from=vmware.com; dkim=pass header.d=vmware.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=vmware.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=oNRtc9C0OvS4VcK9yRN/HvXF/2TNHvlHm5pI6JRAZ1o=; b=ftg9Cufji0uDGpgDuuUFLzS3DRQo3PhqfL/T5bi5CGF3HajlsWsK9CB31T5Eex+xjsFIjhaV4VVH7VHV8LP7cYoCZ8/M4l8lqQkur62lRSteJawJNyHf86FVU323qfu0Uh7r4CVLhhZzm8uNrSA7DvbUjkMFF14B3gdLpIgAqSk= Received: from BY3PR05MB8531.namprd05.prod.outlook.com (2603:10b6:a03:3ce::6) by SN6PR05MB4943.namprd05.prod.outlook.com (2603:10b6:805:95::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5373.15; Tue, 21 Jun 2022 17:27:40 +0000 Received: from BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f]) by BY3PR05MB8531.namprd05.prod.outlook.com ([fe80::a4f8:718a:b2a0:977f%5]) with mapi id 15.20.5373.015; Tue, 21 Jun 2022 17:27:40 +0000 From: Nadav Amit To: David Hildenbrand CC: Linux MM , Mike Kravetz , Hugh Dickins , Andrew Morton , Axel Rasmussen , Peter Xu , Mike Rapoport Subject: Re: [RFC PATCH v2 2/5] userfaultfd: introduce access-likely mode for copy/wp operations Thread-Topic: [RFC PATCH v2 2/5] userfaultfd: introduce access-likely mode for copy/wp operations Thread-Index: AQHYhHSiWsv3xJdABEO/8wz1FynL+K1ZjoyAgACQ9AA= Date: Tue, 21 Jun 2022 17:27:40 +0000 Message-ID: <6DCD53B1-E764-4E29-8144-896032756F11@vmware.com> References: <20220619233449.181323-1-namit@vmware.com> <20220619233449.181323-3-namit@vmware.com> <506888c0-c257-e2a8-9540-823acdd403db@redhat.com> In-Reply-To: <506888c0-c257-e2a8-9540-823acdd403db@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Apple Mail (2.3696.100.31) x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 872d95f1-1325-4a91-ce79-08da53ab57ea x-ms-traffictypediagnostic: SN6PR05MB4943:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Xd2wOE//LI8g1kHWf0k740O1Ev/bBtMoVMYUVnSLYCmwMjHN+Mdo4MLbJiUoVGtJW6b83jqfZsCpxuEBglwWGUtGRYhM8fOm1/nrSCqd44G3a1zAo9bYUSmR7wqwQ+O7vgjZ4PT7q3td6aJuxHutyoql7CMICE1CoTntfc5uF/szlbU72Nu/BdpxDqS8oAIC0+Fp4snrxtZam7g9SKvybgalTT/qqA+c2ebJxiqthdghOYToI52kp+liNYCXk1gvM6jQWEkkMxTouqGs2E0Mz6UuNOrRtbdtd2pPZ9tGv6SX6mRQvaQ0WN/tRdrVqdvEmKllDuHtXUtywWRKpTbeITChn9dU41VHmJAmoDSLaVCA3u6AoPy+GsF7RDWP4LK2uqaXKLMc/LGLTs1xGREKxqNjkOiodcoBpTzdHL5oiejUThwPKAgC2ZUIOAuIY4Bgm99StlpHf2LXgv2/HEDZt4439xfFi/bRctYRc2JTvVODJHyOPI/1TpjUczJCM75q5MKl8jsk+/tI9YcqyRDlsvJzGQ09Rheq81kHXMeKjY4pf3E6D07kDScpQNwq++p5mxx0ia4Zdh1yM/nGjzRCNWtO5mxZ9MAkZ3fXF974h8ZvQ2nHjQM3dIx0tolTbQcjeutPaqWifTBDELW+LzdS+0pDfaEAMIbqv0NfmctHu3D5n1mi7Vjq+NM8tOAFhDrh2mUFaqHh9tJTvHRub4l039kchyfjrzWSReL4UoNmTBxyHmW4VwX9brCNOOOa67qD x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BY3PR05MB8531.namprd05.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230016)(4636009)(396003)(346002)(136003)(376002)(39860400002)(366004)(33656002)(86362001)(38070700005)(26005)(83380400001)(36756003)(122000001)(38100700002)(2906002)(71200400001)(8936002)(478600001)(5660300002)(66946007)(76116006)(54906003)(66556008)(8676002)(186003)(64756008)(6916009)(6506007)(53546011)(2616005)(66446008)(66476007)(41300700001)(4326008)(6486002)(316002)(6512007)(45980500001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UytOZEdERGkrWG9neXViZnFFYW9JVG5lSGVZeG5SZER5ejhlblhSTkgyeisw?= =?utf-8?B?UlhUSU11aGFDSG9XeTMyb2ZPVjB0NVJwdUhFSGsvSnJHYU5RWG8rNWd5MU5z?= =?utf-8?B?WFFxczV1eTFCTklkak1XWStHNDQwQmc3SHdVd083R0NQU1MzTUhmMlczenFs?= =?utf-8?B?UFZqMHhkdHdPYmo5U25Takl4SEYzbENBSUxQbmlqeXYzaUN4a2FFMFk2SGVh?= =?utf-8?B?Ri9tZll0NzVFd05teDN5UU9VZVBsYUZOQU5QQ1JBTTZNWDkzOUZZd1pWRUZn?= =?utf-8?B?TklnREtaYU9TY2tnaUJqNldoUWMxQzh2SnAwUWJERmI1OFF2aDNkdVVvNXBw?= =?utf-8?B?b1Y2T1U4ZmVtOGFWeGdoQ2xiVVdsNjFPZmJaOWRlUVdscXk3NS91Uk9xQmhs?= =?utf-8?B?V3d1Sm5Qa1IrNVBYS0QyRjh1WXl5Y2hPM1BRbGIxQ0pjS3ZRZGJTckxtTHdp?= =?utf-8?B?TlZaaDdFOU9vQ09XOWxLQisvY2xXUkpjdHJFcUR0VDJVSWFBeUVYeW1oVTY4?= =?utf-8?B?aTltMm13UjZBNkVtcVR3NkNmSEJ6M3d3ckNSTmMyVVEvcE9Ga1dwVkhaSTBW?= =?utf-8?B?NDBVeE1Ld3dmMjZwRUJrcXNSSVFFWnlqWVJhQjlKRWxQMGxadTM1VnRucHE1?= =?utf-8?B?ZWJ5aFloZWFkRHI2L0NMemZJeXlpaFp0dVVUcDhHOVc2TEk4VlZZRk9uUjl0?= =?utf-8?B?UnJKWU9MbWlhK1FKalQ4NnowWmZMUndkTk9CVUNHb1lSNWlOdFcrdU1xeDcr?= =?utf-8?B?cTJBYjBueDU2VjlJTGg1SW8vQVI1VlJhbXhiUjgwRWgxbFdWVDRzeSthWlJx?= =?utf-8?B?QnJ1MDE4S3dPZ2VaMHJuWXNiTGJKNWYvMXMzRGFrbDJJZDNnZkNPNkhBZDcw?= =?utf-8?B?Z0svY0pkbjB3dk5VTW94QmxIU0h1amJDUnVmSS8zcDlub0NQU0k1Z01GOVFX?= =?utf-8?B?NjBmYUxZZ2hXZ2xsbVZSZFJZWEFrdHlFVVBtL2dqR1k0RjZNNDJLR0hGWVRa?= =?utf-8?B?Z0JPNTJXa012cGtYbEMydlNKTE95SUROaXlXa2pWZmlCaWVRRUZZVWk4U3NK?= =?utf-8?B?djdJWFNleExMdFVBVVpTR3BYS1N0eE8vUmtUb09kN1pvYzlVdU9qT09KR1Rr?= =?utf-8?B?Y05peFJlU00xSEpqZndySVphTlRLWGkvNmF0N1ViQmNqOCtnaWs2WFVEQnp1?= =?utf-8?B?aFBocWtjNjlwcXp4eENUaXg5czZETDVvR2RNdElLWlkyNHZ2Zmw4aklVcTE4?= =?utf-8?B?SXZEU1VCQXRwSGNrYzFNMThhUTB2WkdpTjFudWovSFRPQnhVTGNkWHk0cjF4?= =?utf-8?B?M1lOc1NVbkk3VDdqblU1VytINGVrK2NmVUd6VC9Mci94Ky92cEJEWkswVzBY?= =?utf-8?B?TU5BRWVRbGp3bWZySElWL0Z1ZzFyZ0xqVkFzeHYxQW1HNGdzdUx1cGJkTjIv?= =?utf-8?B?NzdRcXhkK01FcU5GcENZY0VPQmpOZnhDNElidmJoUmZ0bkZkNUNKK0tSeWRH?= =?utf-8?B?NGtENTBrZjRveXRnVHRGL296cUYyTTNQY2FzVW1ZZXlyeENZanNjZy9JUjdT?= =?utf-8?B?MVNXL2cwK3hud0Z1WjJwblNKa21HYlVHRDd2eXpSbEFpYjZkZ1VWeHZnMzYz?= =?utf-8?B?T3hmcUVncXQzaE1MYkZNZE1Sbkx6TjgvNFB5MGhYeGJaRmd6bHpNRG9oV0hB?= =?utf-8?B?N0NmdEwyc1o0a0xwZ3NrcEZ4c3lrWlYrTitpRGtUNDFoY3c1RU41NlBtODll?= =?utf-8?B?WkJtMjk1SEQzUlZPZitsNDgydnNBSFphcEZJS09Gc0JhUHBEcWFHSlByWisx?= =?utf-8?B?aEszT3JGVmp5amhPbjBPeGNiSkxDTVlDamR4d0JaVjR4ZFVMeHdBTUdjZlRy?= =?utf-8?B?QUk5TXR6VUdjTjVla0RJeWZZaU9abSsxeVFZS29pUTloOXVwblp4UUk0MXNO?= =?utf-8?B?WFlaREFNV3dQTXE1L0pnQ1ZLSHRtZFhJbExHazRKL01EUU03QUR5c29UYVJP?= =?utf-8?B?NFl5Zm9EQ05SWjZYc2ZnYXE3dHZWdWgzV0tPZUZFWHQ4N0gyVkdJMFE2ZUlx?= =?utf-8?B?WjUwcmtyb3FSWXgwVlN6WVFaZkxnQ0ZBSXBKMDg0TjJtMUVCaWZYTjFHaFpz?= =?utf-8?B?OUo2U1JFSWo0WTI4ck1Rak11M0JkanJVbUNraktlRzF4R3pjd0xlTWFValN3?= =?utf-8?B?ZGJMTGlWdXJXbEYwRFo2WFI4Rm9lNUFZNFBpcTgxaUN1MlIyY3QrenYyN1pV?= =?utf-8?B?SjRPWk1acm1KUEVzRG9ZNXBPS1hwb0RvUkZjU3FUL2VQWDlWTFlLTmphTTU5?= =?utf-8?B?LzFXaHZXWWFXWWZqMndocTZSWVZKekdRY1FRenMwRXdtL2hBTEpjdz09?= Content-Type: text/plain; charset="utf-8" Content-ID: <2AF78B46F2C0FE4A9ACEB8CDAB05A4C6@namprd05.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: vmware.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BY3PR05MB8531.namprd05.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 872d95f1-1325-4a91-ce79-08da53ab57ea X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Jun 2022 17:27:40.5396 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: b39138ca-3cee-4b4a-a4d6-cd83d9dd62f0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: t0qC5KwRMdY8l9Qr5A0GC3O//oSxSo6bBwrBcfYs93J3lSlfaY6wPCYX3nhMXu/jzyN1hPrSsGN0rcI8OhOD9g== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SN6PR05MB4943 ARC-Seal: i=2; s=arc-20220608; d=hostedemail.com; t=1655832463; a=rsa-sha256; cv=pass; b=mBsF3dWzGRz7E/0BaeHpEbAuWT2XzQH8pYvo9dm2hLa63VUaHx4zA3n+u1wgOr5qUL8fWH pAg8juK3fBeduLDsICFbDxVAoUto/Gc0tPTsrYo0C3C8LXMPPVoJOpyDAnUPZ3HH4ztFO1 8V/Q836VH8WVCojuVrDI1T0zpJu9m3o= ARC-Authentication-Results: i=2; imf22.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=ftg9Cufj; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf22.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.95.52) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1655832463; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oNRtc9C0OvS4VcK9yRN/HvXF/2TNHvlHm5pI6JRAZ1o=; b=F25ooss7fDJZATkKLpTtgZ+NaYLQ/IB/OOh4xatapTMdRSNw92IqV1U2bTFrH2/2DspMNz FDc3rowKCNajlJcefylUurY81ffEhG4HejuaIQU40t+iWZQD2HR2v8IWYj56IWjCwHyhna yGS/1SIyy6n6s8vuqlpUxcgnnyOhSQ0= X-Rspamd-Server: rspam04 X-Rspamd-Queue-Id: 4B127C001B X-Stat-Signature: b7myj4kdn1o3pi9ipmp9xw45dbfg8dpn X-Rspam-User: Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=vmware.com header.s=selector2 header.b=ftg9Cufj; dmarc=pass (policy=quarantine) header.from=vmware.com; spf=none (imf22.hostedemail.com: domain of namit@vmware.com has no SPF policy when checking 40.107.95.52) smtp.mailfrom=namit@vmware.com; arc=pass ("microsoft.com:s=arcselector9901:i=1") X-HE-Tag: 1655832463-113782 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: T24gSnVuIDIxLCAyMDIyLCBhdCAxOjQ4IEFNLCBEYXZpZCBIaWxkZW5icmFuZCA8ZGF2aWRAcmVk aGF0LmNvbT4gd3JvdGU6DQoNCj4g4pqgIEV4dGVybmFsIEVtYWlsDQo+IA0KPiBPbiAyMC4wNi4y MiAwMTozNCwgTmFkYXYgQW1pdCB3cm90ZToNCj4+IEZyb206IE5hZGF2IEFtaXQgPG5hbWl0QHZt d2FyZS5jb20+DQo+PiANCj4+IFVzaW5nIGEgUFRFIG9uIHg4NiB3aXRoIGNsZWFyZWQgYWNjZXNz LWJpdCAoYWthIHlvdW5nLWJpdCkNCj4+IHRha2VzIH42MDAgY3ljbGVzIG1vcmUgdGhhbiB3aGVu IHRoZSBhY2Nlc3MgYml0IGlzIHNldC4gQXQgdGhlIHNhbWUNCj4+IHRpbWUsIHNldHRpbmcgdGhl IGFjY2Vzcy1iaXQgZm9yIG1lbW9yeSB0aGF0IGlzIG5vdCB1c2VkIChlLmcuLA0KPj4gcHJlZmV0 Y2hlZCkgY2FuIGludHJvZHVjZSBncmVhdGVyIG92ZXJoZWFkcywgYXMgdGhlIHByZWZldGNoZWQg bWVtb3J5IGlzDQo+PiByZWNsYWltZWQgbGF0ZXIgdGhhbiBpdCBzaG91bGQgYmUuDQo+PiANCj4+ IFVzZXJmYXVsdGZkIGN1cnJlbnRseSBkb2VzIG5vdCBzZXQgdGhlIGFjY2Vzcy1iaXQgKGV4Y2x1 ZGluZyB0aGUNCj4+IGh1Z2UtcGFnZXMgY2FzZSkuIEFyZ3VhYmx5LCBpdCBpcyBiZXN0IHRvIGxl dCB0aGUgdXNlciBjb250cm9sIHdoZXRoZXINCj4+IHRoZSBhY2Nlc3MgYml0IHNob3VsZCBiZSBz ZXQgb3Igbm90LiBUaGUgZXhwZWN0ZWQgdXNlIGlzIHRvIHJlcXVlc3QNCj4+IHVzZXJmYXVsdGZk IHRvIHNldCB0aGUgYWNjZXNzLWJpdCB3aGVuIHRoZSBjb3B5L3dwIG9wZXJhdGlvbiBpcyBkb25l IHRvDQo+PiByZXNvbHZlIGEgcGFnZS1mYXVsdCwgYW5kIG5vdCB0byBzZXQgdGhlIGFjY2Vzcy1i aXQgd2hlbiB0aGUgbWVtb3J5IGlzDQo+PiBwcmVmZXRjaGVkLg0KPj4gDQo+PiBJbnRyb2R1Y2Ug VUZGRElPX0NPUFlfTU9ERV9BQ0NFU1NfTElLRUxZIGFuZA0KPj4gVUZGRElPX1dSSVRFUFJPVEVD VF9NT0RFX0FDQ0VTU19MSUtFTFkgdG8gZW5hYmxlIHVzZXJzcGFjZSB0byByZXF1ZXN0DQo+PiB0 aGUgeW91bmcgYml0IHRvIGJlIHNldC4gU2V0IGZvciBVRkZESU9fQ09OVElOVUUgYW5kIFVGRkRJ T19aRVJPUEFHRSB0aGUNCj4+IGJpdCB1bmNvbmRpdGlvbmFsbHkgc2luY2UgdGhlIGZvcm1lciBp cyBvbmx5IHVzZWQgdG8gcmVzb2x2ZSBwYWdlLWZhdWx0cw0KPj4gYW5kIHRoZSBsYXR0ZXIgd291 bGQgbm90IGJlbmVmaXQgZnJvbSBub3Qgc2V0dGluZyB0aGUgYWNjZXNzLWJpdC4NCj4+IA0KPj4g Q2M6IE1pa2UgS3JhdmV0eiA8bWlrZS5rcmF2ZXR6QG9yYWNsZS5jb20+DQo+PiBDYzogSHVnaCBE aWNraW5zIDxodWdoZEBnb29nbGUuY29tPg0KPj4gQ2M6IEFuZHJldyBNb3J0b24gPGFrcG1AbGlu dXgtZm91bmRhdGlvbi5vcmc+DQo+PiBDYzogQXhlbCBSYXNtdXNzZW4gPGF4ZWxyYXNtdXNzZW5A Z29vZ2xlLmNvbT4NCj4+IENjOiBQZXRlciBYdSA8cGV0ZXJ4QHJlZGhhdC5jb20+DQo+PiBDYzog RGF2aWQgSGlsZGVuYnJhbmQgPGRhdmlkQHJlZGhhdC5jb20+DQo+PiBDYzogTWlrZSBSYXBvcG9y dCA8cnBwdEBsaW51eC5pYm0uY29tPg0KPj4gU2lnbmVkLW9mZi1ieTogTmFkYXYgQW1pdCA8bmFt aXRAdm13YXJlLmNvbT4NCj4+IC0tLQ0KPj4gZnMvdXNlcmZhdWx0ZmQuYyAgICAgICAgICAgICAg ICAgfCAyMyArKysrKysrKysrKysrKysrLS0tLS0tLQ0KPj4gaW5jbHVkZS9saW51eC91c2VyZmF1 bHRmZF9rLmggICAgfCAgMSArDQo+PiBpbmNsdWRlL3VhcGkvbGludXgvdXNlcmZhdWx0ZmQuaCB8 IDIwICsrKysrKysrKysrKysrKysrKystDQo+PiBtbS91c2VyZmF1bHRmZC5jICAgICAgICAgICAg ICAgICB8IDE4ICsrKysrKysrKysrKysrKystLQ0KPj4gNCBmaWxlcyBjaGFuZ2VkLCA1MiBpbnNl cnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkNCj4+IA0KPj4gZGlmZiAtLWdpdCBhL2ZzL3VzZXJm YXVsdGZkLmMgYi9mcy91c2VyZmF1bHRmZC5jDQo+PiBpbmRleCA1ZGFhZmE1NGViM2YuLjM1YThj NDM0N2M1NCAxMDA2NDQNCj4+IC0tLSBhL2ZzL3VzZXJmYXVsdGZkLmMNCj4+ICsrKyBiL2ZzL3Vz ZXJmYXVsdGZkLmMNCj4+IEBAIC0xNzAwLDcgKzE3MDAsNyBAQCBzdGF0aWMgaW50IHVzZXJmYXVs dGZkX2NvcHkoc3RydWN0IHVzZXJmYXVsdGZkX2N0eCAqY3R4LA0KPj4gICAgICBzdHJ1Y3QgdWZm ZGlvX2NvcHkgdWZmZGlvX2NvcHk7DQo+PiAgICAgIHN0cnVjdCB1ZmZkaW9fY29weSBfX3VzZXIg KnVzZXJfdWZmZGlvX2NvcHk7DQo+PiAgICAgIHN0cnVjdCB1c2VyZmF1bHRmZF93YWtlX3Jhbmdl IHJhbmdlOw0KPj4gLSAgICAgYm9vbCBtb2RlX3dwOw0KPj4gKyAgICAgYm9vbCBtb2RlX3dwLCBt b2RlX2FjY2Vzc19saWtlbHk7DQo+PiAgICAgIHVmZmRfZmxhZ3NfdCB1ZmZkX2ZsYWdzOw0KPj4g DQo+PiAgICAgIHVzZXJfdWZmZGlvX2NvcHkgPSAoc3RydWN0IHVmZmRpb19jb3B5IF9fdXNlciAq KSBhcmc7DQo+PiBAQCAtMTcyNiwxMiArMTcyNiwxNSBAQCBzdGF0aWMgaW50IHVzZXJmYXVsdGZk X2NvcHkoc3RydWN0IHVzZXJmYXVsdGZkX2N0eCAqY3R4LA0KPj4gICAgICByZXQgPSAtRUlOVkFM Ow0KPj4gICAgICBpZiAodWZmZGlvX2NvcHkuc3JjICsgdWZmZGlvX2NvcHkubGVuIDw9IHVmZmRp b19jb3B5LnNyYykNCj4+ICAgICAgICAgICAgICBnb3RvIG91dDsNCj4+IC0gICAgIGlmICh1ZmZk aW9fY29weS5tb2RlICYgfihVRkZESU9fQ09QWV9NT0RFX0RPTlRXQUtFfFVGRkRJT19DT1BZX01P REVfV1ApKQ0KPj4gKyAgICAgaWYgKHVmZmRpb19jb3B5Lm1vZGUgJiB+KFVGRkRJT19DT1BZX01P REVfRE9OVFdBS0V8VUZGRElPX0NPUFlfTU9ERV9XUHwNCj4+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBVRkZESU9fQ09QWV9NT0RFX0FDQ0VTU19MSUtFTFkpKQ0KPj4gICAgICAgICAg ICAgIGdvdG8gb3V0Ow0KPj4gDQo+PiAgICAgIG1vZGVfd3AgPSB1ZmZkaW9fY29weS5tb2RlICYg VUZGRElPX0NPUFlfTU9ERV9XUDsNCj4+ICsgICAgIG1vZGVfYWNjZXNzX2xpa2VseSA9IHVmZmRp b19jb3B5Lm1vZGUgJiBVRkZESU9fQ09QWV9NT0RFX0FDQ0VTU19MSUtFTFk7DQo+IA0KPiBJICpy ZWxseSogcHJlZmVyIGp1c3QNCj4gDQo+IGlmICh1ZmZkaW9fY29weS5tb2RlICYgVUZGRElPX0NP UFlfTU9ERV9BQ0NFU1NfTElLRUxZKQ0KPiAgICAgICAgdWZmZF9mbGFncyB8PSBVRkZEX0ZMQUdT X0FDQ0VTU19MSUtFTFkNCj4gWy4uLl0NCj4gDQo+PiAtICAgICB1ZmZkX2ZsYWdzID0gKG1vZGVf d3AgPyBVRkZEX0ZMQUdTX1dQIDogMCk7DQo+PiArICAgICB1ZmZkX2ZsYWdzID0gKG1vZGVfd3Ag PyBVRkZEX0ZMQUdTX1dQIDogMCkgfA0KPj4gKyAgICAgICAgICAgICAgICAgIChtb2RlX2FjY2Vz c19saWtlbHkgPyBVRkZEX0ZMQUdTX0FDQ0VTU19MSUtFTFkgOiAwKTsNCj4gDQo+IERpdG8uDQo+ IA0KPj4gICAgICBpZiAobW1nZXRfbm90X3plcm8oY3R4LT5tbSkpIHsNCj4+ICAgICAgICAgICAg ICByZXQgPSBtd3JpdGVwcm90ZWN0X3JhbmdlKGN0eC0+bW0sIHVmZmRpb193cC5yYW5nZS5zdGFy dCwNCj4+IEBAIC0xODcxLDYgKzE4NzcsNyBAQCBzdGF0aWMgaW50IHVzZXJmYXVsdGZkX2NvbnRp bnVlKHN0cnVjdCB1c2VyZmF1bHRmZF9jdHggKmN0eCwgdW5zaWduZWQgbG9uZyBhcmcpDQo+PiAg ICAgIHN0cnVjdCB1ZmZkaW9fY29udGludWUgdWZmZGlvX2NvbnRpbnVlOw0KPj4gICAgICBzdHJ1 Y3QgdWZmZGlvX2NvbnRpbnVlIF9fdXNlciAqdXNlcl91ZmZkaW9fY29udGludWU7DQo+PiAgICAg IHN0cnVjdCB1c2VyZmF1bHRmZF93YWtlX3JhbmdlIHJhbmdlOw0KPj4gKyAgICAgdWZmZF9mbGFn c190IHVmZmRfZmxhZ3M7DQo+PiANCj4+ICAgICAgdXNlcl91ZmZkaW9fY29udGludWUgPSAoc3Ry dWN0IHVmZmRpb19jb250aW51ZSBfX3VzZXIgKilhcmc7DQo+PiANCj4+IEBAIC0xODk4LDEwICsx OTA1LDEyIEBAIHN0YXRpYyBpbnQgdXNlcmZhdWx0ZmRfY29udGludWUoc3RydWN0IHVzZXJmYXVs dGZkX2N0eCAqY3R4LCB1bnNpZ25lZCBsb25nIGFyZykNCj4+ICAgICAgaWYgKHVmZmRpb19jb250 aW51ZS5tb2RlICYgflVGRkRJT19DT05USU5VRV9NT0RFX0RPTlRXQUtFKQ0KPj4gICAgICAgICAg ICAgIGdvdG8gb3V0Ow0KPj4gDQo+PiArICAgICB1ZmZkX2ZsYWdzID0gVUZGRF9GTEFHU19BQ0NF U1NfTElLRUxZOw0KPiANCj4gQ2FuIHdlIGFkZCBhIGNvbW1lbnQgd2h5IHRoYXQgbWFrZXMgc2Vu c2U/IEkgdGhpbmsgSSBrbm93IHdoeSAtLSBzb21lb25lDQo+IGlzIHN0dWNrIHdhaXRpbmcgZm9y IHRoYXQgY29udGludWUgdG8gaGFwcGVuIDopDQo+IA0KPj4gKw0KPj4gICAgICBpZiAobW1nZXRf bm90X3plcm8oY3R4LT5tbSkpIHsNCj4+ICAgICAgICAgICAgICByZXQgPSBtY29weV9jb250aW51 ZShjdHgtPm1tLCB1ZmZkaW9fY29udGludWUucmFuZ2Uuc3RhcnQsDQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdWZmZGlvX2NvbnRpbnVlLnJhbmdlLmxlbiwNCj4+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmN0eC0+bW1hcF9jaGFuZ2luZywgMCk7DQo+ PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZjdHgtPm1tYXBfY2hhbmdpbmcs IHVmZmRfZmxhZ3MpOw0KPj4gICAgICAgICAgICAgIG1tcHV0KGN0eC0+bW0pOw0KPj4gICAgICB9 IGVsc2Ugew0KPj4gICAgICAgICAgICAgIHJldHVybiAtRVNSQ0g7DQo+PiBkaWZmIC0tZ2l0IGEv aW5jbHVkZS9saW51eC91c2VyZmF1bHRmZF9rLmggYi9pbmNsdWRlL2xpbnV4L3VzZXJmYXVsdGZk X2suaA0KPj4gaW5kZXggNjMzMTE0ODAyM2MxLi5lNmFjMTY1ZWMwNDQgMTAwNjQ0DQo+PiAtLS0g YS9pbmNsdWRlL2xpbnV4L3VzZXJmYXVsdGZkX2suaA0KPj4gKysrIGIvaW5jbHVkZS9saW51eC91 c2VyZmF1bHRmZF9rLmgNCj4+IEBAIC01OCw2ICs1OCw3IEBAIGVudW0gbWNvcHlfYXRvbWljX21v ZGUgew0KPj4gdHlwZWRlZiB1bnNpZ25lZCBpbnQgX19iaXR3aXNlIHVmZmRfZmxhZ3NfdDsNCj4+ IA0KPj4gI2RlZmluZSBVRkZEX0ZMQUdTX1dQICAgICAgICAgICAgICAgICAgICAgICAgKChfX2Zv cmNlIHVmZmRfZmxhZ3NfdClCSVQoMCkpDQo+PiArI2RlZmluZSBVRkZEX0ZMQUdTX0FDQ0VTU19M SUtFTFkgICAgICgoX19mb3JjZSB1ZmZkX2ZsYWdzX3QpQklUKDEpKQ0KPj4gDQo+PiBleHRlcm4g aW50IG1maWxsX2F0b21pY19pbnN0YWxsX3B0ZShzdHJ1Y3QgbW1fc3RydWN0ICpkc3RfbW0sIHBt ZF90ICpkc3RfcG1kLA0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0 IHZtX2FyZWFfc3RydWN0ICpkc3Rfdm1hLA0KPj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvdWFwaS9s aW51eC91c2VyZmF1bHRmZC5oIGIvaW5jbHVkZS91YXBpL2xpbnV4L3VzZXJmYXVsdGZkLmgNCj4+ IGluZGV4IDAwNWU1ZTMwNjI2Ni4uZDljOGNlOWJhNzc3IDEwMDY0NA0KPj4gLS0tIGEvaW5jbHVk ZS91YXBpL2xpbnV4L3VzZXJmYXVsdGZkLmgNCj4+ICsrKyBiL2luY2x1ZGUvdWFwaS9saW51eC91 c2VyZmF1bHRmZC5oDQo+PiBAQCAtMzgsNyArMzgsOCBAQA0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgVUZGRF9GRUFUVVJFX01JTk9SX0hVR0VUTEJGUyB8ICAgICAgIFwNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgIFVGRkRfRkVBVFVSRV9NSU5PUl9TSE1FTSB8ICAgICAgICAgICBcDQo+ PiAgICAgICAgICAgICAgICAgICAgICAgICBVRkZEX0ZFQVRVUkVfRVhBQ1RfQUREUkVTUyB8ICAg ICAgICAgXA0KPj4gLSAgICAgICAgICAgICAgICAgICAgICAgIFVGRkRfRkVBVFVSRV9XUF9IVUdF VExCRlNfU0hNRU0pDQo+PiArICAgICAgICAgICAgICAgICAgICAgICAgVUZGRF9GRUFUVVJFX1dQ X0hVR0VUTEJGU19TSE1FTSB8ICAgIFwNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBVRkZE X0ZFQVRVUkVfQUNDRVNTX0hJTlRTKQ0KPj4gI2RlZmluZSBVRkZEX0FQSV9JT0NUTFMgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+PiAgICAgICgoX191NjQpMSA8PCBfVUZGRElPX1JF R0lTVEVSIHwgICAgICAgICBcDQo+PiAgICAgICAoX191NjQpMSA8PCBfVUZGRElPX1VOUkVHSVNU RVIgfCAgICAgICBcDQo+PiBAQCAtMjAzLDYgKzIwNCwxMCBAQCBzdHJ1Y3QgdWZmZGlvX2FwaSB7 DQo+PiAgICAgICAqDQo+PiAgICAgICAqIFVGRkRfRkVBVFVSRV9XUF9IVUdFVExCRlNfU0hNRU0g aW5kaWNhdGVzIHRoYXQgdXNlcmZhdWx0ZmQNCj4+ICAgICAgICogd3JpdGUtcHJvdGVjdGlvbiBt b2RlIGlzIHN1cHBvcnRlZCBvbiBib3RoIHNobWVtIGFuZCBodWdldGxiZnMuDQo+PiArICAgICAg Kg0KPj4gKyAgICAgICogVUZGRF9GRUFUVVJFX0FDQ0VTU19ISU5UUyBpbmRpY2F0ZXMgdGhhdCB0 aGUgY29weSBzdXBwb3J0cw0KPj4gKyAgICAgICogVUZGRElPX0NPUFlfTU9ERV9BQ0NFU1NfTElL RUxZIHN1cHBvcnRzDQo+PiArICAgICAgKiBVRkZESU9fV1JJVEVQUk9URUNUX01PREVfQUNDRVNT X0xJS0VMWS4NCj4gDQo+IEkgdGhpbmsgdGhhdCBzZW50ZW5jZSBkb2Vzbid0IG1ha2Ugc2Vuc2Uu DQoNCkVuZ2xpc2jigKYgOikNCg0KSG93IGFib3V0DQoNCiAgICAgICAgICogVUZGRF9GRUFUVVJF X0FDQ0VTU19ISU5UUyBpbmRpY2F0ZXMgdGhhdCB0aGUgaW9jdGwgb3BlcmF0aW9ucw0KICAgICAg ICAgKiBzdXBwb3J0cyB0aGUgVUZGRElPXypfTU9ERV9bQUNDRVNTfFdSSVRFXV9MSUtFTFkgYW5k DQogICAgICAgICAqIFVGRkRJT18qX01PREVfW0FDQ0VTU3xXUklURV1fTElLRUxZIGhpbnRzLg0K DQpCdXQgdGhhdCB3b3VsZCBtZWFuIHRoYXQgZm9yIGNvbnNpc3RlbmN5LCBJIHdvdWxkIG5lZWQg dG8gcHJvdmlkZQ0KemVyby9jb250aW51ZSBoaW50cyAod2hpY2ggbWlnaHQgYmUgZGlzcmVnYXJk ZWQgYnkgdGhlIGtlcm5lbCk/DQoNCj4+ICAgICAgICovDQo+PiAjZGVmaW5lIFVGRkRfRkVBVFVS RV9QQUdFRkFVTFRfRkxBR19XUCAgICAgICAgICAgICAgICgxPDwwKQ0KPj4gI2RlZmluZSBVRkZE X0ZFQVRVUkVfRVZFTlRfRk9SSyAgICAgICAgICAgICAgICAgICAgICAoMTw8MSkNCj4+IEBAIC0y MTcsNiArMjIyLDcgQEAgc3RydWN0IHVmZmRpb19hcGkgew0KPj4gI2RlZmluZSBVRkZEX0ZFQVRV UkVfTUlOT1JfU0hNRU0gICAgICAgICAgICAgKDE8PDEwKQ0KPj4gI2RlZmluZSBVRkZEX0ZFQVRV UkVfRVhBQ1RfQUREUkVTUyAgICAgICAgICAgKDE8PDExKQ0KPj4gI2RlZmluZSBVRkZEX0ZFQVRV UkVfV1BfSFVHRVRMQkZTX1NITUVNICAgICAgICAgICAgICAoMTw8MTIpDQo+PiArI2RlZmluZSBV RkZEX0ZFQVRVUkVfQUNDRVNTX0hJTlRTICAgICAgICAgICAgKDE8PDEzKQ0KPj4gICAgICBfX3U2 NCBmZWF0dXJlczsNCj4+IA0KPj4gICAgICBfX3U2NCBpb2N0bHM7DQo+PiBAQCAtMjYwLDYgKzI2 NiwxMyBAQCBzdHJ1Y3QgdWZmZGlvX2NvcHkgew0KPj4gICAgICAgKiBjb3B5X2Zyb21fdXNlciB3 aWxsIG5vdCByZWFkIHRoZSBsYXN0IDggYnl0ZXMuDQo+PiAgICAgICAqLw0KPj4gICAgICBfX3M2 NCBjb3B5Ow0KPj4gKyAgICAgLyoNCj4+ICsgICAgICAqIFVGRkRJT19DT1BZX01PREVfQUNDRVNT X0xJS0VMWSB3aWxsIHNldCB0aGUgbWFwcGVkIHBhZ2UgYXMgeW91bmcuDQo+IA0KPiBTZXR0aW5n IHRoZSBwYWdlIHlvdW5nIGlzIGFuIGltcGxlbWVudGF0aW9uIGRldGFpbC4gQ2FuIHlvdSBwaHJh c2UgaXQNCj4gbW9yZSBnZW5lcmljYWxseSB3aGF0IHRoZSBlZmZlY3Qgb2YgdGhhdCBoaW50IG1p Z2h0IGJlPw0KDQpFcnIuIEkgZm9yZ290IHRvIGZpeCBpdCBiZWZvcmUgc2VuZGluZy4gSG93IGFi b3V0Og0KDQogICAgICAgICAqIFVGRkRJT19DT1BZX01PREVfQUNDRVNTX0xJS0VMWSBwcm92aWRl cyBhIGhpbnQgdG8gdGhlIGtlcm5lbA0KICAgICAgICAgKiB0aGF0IHRoZSBwYWdlIGlzIGxpa2Vs eSB0byBiZSBhY2Nlc3MgaW4gdGhlIG5lYXIgZnV0dXJlLiBQcm92aWRpbmcNCiAgICAgICAgICog dGhlIGhpbnQgcHJvcGVybHkgY2FuIGltcHJvdmUgcGVyZm9ybWFuY2UuDQoNCg0KPw0KPiANCj4+ IEBAIC02OTEsNiArNjk5LDkgQEAgc3NpemVfdCBtZmlsbF96ZXJvcGFnZShzdHJ1Y3QgbW1fc3Ry dWN0ICpkc3RfbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQsDQo+PiAgICAgICAgICAgICAgICAgICAg IHVuc2lnbmVkIGxvbmcgbGVuLCBhdG9taWNfdCAqbW1hcF9jaGFuZ2luZywNCj4+ICAgICAgICAg ICAgICAgICAgICAgdWZmZF9mbGFnc190IHVmZmRfZmxhZ3MpDQo+PiB7DQo+PiArICAgICAvKiBU aGVyZSBpcyBubyBjb3N0IGZvciBzZXR0aW5nIHRoZSBhY2Nlc3MgYml0IG9mIGEgemVyb3BhZ2Ug Ki8NCj4+ICsgICAgIHVmZmRfZmxhZ3MgfD0gVUZGRF9GTEFHU19BQ0NFU1NfTElLRUxZOw0KPj4g Kw0KPj4gICAgICByZXR1cm4gX19tY29weV9hdG9taWMoZHN0X21tLCBzdGFydCwgMCwgbGVuLCBN Q09QWV9BVE9NSUNfWkVST1BBR0UsDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtbWFw X2NoYW5naW5nLCAwKTsNCj4+IH0NCj4+IEBAIC02OTksNiArNzEwLDkgQEAgc3NpemVfdCBtY29w eV9jb250aW51ZShzdHJ1Y3QgbW1fc3RydWN0ICpkc3RfbW0sIHVuc2lnbmVkIGxvbmcgc3RhcnQs DQo+PiAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGxvbmcgbGVuLCBhdG9taWNfdCAqbW1h cF9jaGFuZ2luZywNCj4+ICAgICAgICAgICAgICAgICAgICAgdWZmZF9mbGFnc190IHVmZmRfZmxh Z3MpDQo+PiB7DQo+PiArICAgICAvKiBUaGUgcGFnZSBpcyBsaWtlbHkgdG8gYmUgYWNjZXNzZWQg Ki8NCj4+ICsgICAgIHVmZmRfZmxhZ3MgfD0gVUZGRF9GTEFHU19BQ0NFU1NfTElLRUxZOw0KPiAN Cj4gU2hvb3VsZG4ndCB0aGF0IGJlIHNldCBieSB0aGUgY2FsbGVyIGFscmVhZHk/DQoNCkkgdGhv dWdodCB0aGF0IGl0IGJlbG9uZ3MgY29uY2VwdHVhbGx5IHRvIG1tL3VzZXJmYXVsdGZkIGFuZCBu b3QNCmZzL3VzZXJmYXVsdGZkLg0KDQpJIHdpbGwgd2FpdCBmb3IgQXhlbCBpbnB1dCBhcyB0byBo b3cgdG8gaGFuZGxlIHRoZSBDT05USU5VRSBjYXNlIGFuZCBmaXggaXQNCmFjY29yZGluZ2x5Lg==