From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from SHSQR01.spreadtrum.com (unknown [222.66.158.135]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E633D2C1A5 for ; Mon, 18 Mar 2024 09:33:36 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=222.66.158.135 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710754420; cv=none; b=tyP4sirRa0whw87IF79+meCutRU1uoZVkPuiHUZSSuhgvYL3omua3NAw3ewMIz6QVntWgk4HZZv8lj8qYOyq3As7Aq/pPXY5wpRmgUyEHHyBRDDb0QvnL/taK4R/dGa4u0THoe4d+njj1woJ9crXO0qUhl03UA8XLtU6WhNLtXU= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1710754420; c=relaxed/simple; bh=veB2Kmfvst3eSWKFgo8xUKevlVLG6pE6ZQ0f4/vCD7c=; h=From:To:CC:Subject:Date:Message-ID:Content-Type:MIME-Version; b=MvHHwiGLAHxv5Li8nrjnBvylkborEMGqOZvppQWLCpekrL2gch8ago7QfSb1sM59w7/CCit9Rh77Wn13DK6//+XvNU2lo9bqDbrL1Hpftqyfn2EDUUyfuZhKg/mLcKRLbbyvleotYxhFYgj8Cl4RU/Kckd53ttFuYM9/LcSxH6w= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com; spf=pass smtp.mailfrom=unisoc.com; arc=none smtp.client-ip=222.66.158.135 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=unisoc.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=unisoc.com Received: from dlp.unisoc.com ([10.29.3.86]) by SHSQR01.spreadtrum.com with ESMTP id 42I9WdLk044172; Mon, 18 Mar 2024 17:32:39 +0800 (+08) (envelope-from zhaoyang.huang@unisoc.com) Received: from SHDLP.spreadtrum.com (bjmbx01.spreadtrum.com [10.0.64.7]) by dlp.unisoc.com (SkyGuard) with ESMTPS id 4TyqNf2n64z2LFXjq; Mon, 18 Mar 2024 17:31:14 +0800 (CST) Received: from BJMBX01.spreadtrum.com (10.0.64.7) by BJMBX01.spreadtrum.com (10.0.64.7) with Microsoft SMTP Server (TLS) id 15.0.1497.23; Mon, 18 Mar 2024 17:32:33 +0800 Received: from BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7]) by BJMBX01.spreadtrum.com ([fe80::54e:9a:129d:fac7%16]) with mapi id 15.00.1497.023; Mon, 18 Mar 2024 17:32:33 +0800 From: =?utf-8?B?6buE5pyd6ZizIChaaGFveWFuZyBIdWFuZyk=?= To: Zhaoyang Huang , Matthew Wilcox CC: Andrew Morton , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , =?utf-8?B?5bq357qq5ruoIChTdGV2ZSBLYW5nKQ==?= Subject: summarize all information again at bottom//reply: reply: [PATCH] mm: fix a race scenario in folio_isolate_lru Thread-Topic: summarize all information again at bottom//reply: reply: [PATCH] mm: fix a race scenario in folio_isolate_lru Thread-Index: Adp5FxeGVOIzBavFQ+yGu2jVRYQZRQ== Date: Mon, 18 Mar 2024 09:32:32 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-transport-fromentityheader: Hosted Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-MAIL:SHSQR01.spreadtrum.com 42I9WdLk044172 Pk9uIE1vbiwgTWFyIDE4LCAyMDI0IGF0IDI6MTXigK9QTSBaaGFveWFuZyBIdWFuZw0KPjxodWFu Z3poYW95YW5nQGdtYWlsLmNvbT4gd3JvdGU6DQo+Pg0KPj4gT24gTW9uLCBNYXIgMTgsIDIwMjQg YXQgMTE6MjjigK9BTSBNYXR0aGV3IFdpbGNveCA8d2lsbHlAaW5mcmFkZWFkLm9yZz4NCj53cm90 ZToNCj4+ID4NCj4+ID4gT24gTW9uLCBNYXIgMTgsIDIwMjQgYXQgMDE6Mzc6MDRBTSArMDAwMCwg 6buE5pyd6ZizIChaaGFveWFuZyBIdWFuZykNCj53cm90ZToNCj4+ID4gPiA+T24gU3VuLCBNYXIg MTcsIDIwMjQgYXQgMTI6MDc6NDBQTSArMDgwMCwgWmhhb3lhbmcgSHVhbmcgd3JvdGU6DQo+PiA+ ID4gPj4gQ291bGQgaXQgYmUgdGhpcyBzY2VuYXJpbywgd2hlcmUgZm9saW8gY29tZXMgZnJvbSBw dGUodGhyZWFkDQo+PiA+ID4gPj4gMCksIGxvY2FsIGZiYXRjaCh0aHJlYWQgMSkgYW5kIHBhZ2Ug Y2FjaGUodGhyZWFkIDIpDQo+PiA+ID4gPj4gY29uY3VycmVudGx5IGFuZCBwcm9jZWVkIGludGVy bWl4ZWQgd2l0aG91dCBsb2NrJ3MgcHJvdGVjdGlvbj8NCj4+ID4gPiA+PiBBY3R1YWxseSwgSU1P LCB0aHJlYWQgMSBhbHNvIGNvdWxkIHNlZSB0aGUgZm9saW8gd2l0aCByZWZjbnQ9PTENCj4+ID4g PiA+PiBzaW5jZSBpdCBkb2Vzbid0IGNhcmUgaWYgdGhlIHBhZ2UgaXMgb24gdGhlIHBhZ2UgY2Fj aGUgb3Igbm90Lg0KPj4gPiA+ID4+DQo+PiA+ID4gPj4gbWFkaXZpc2VfY29sZF9hbmRfcGFnZW91 dCBkb2VzIG5vIGV4cGxpY2l0IGZvbGlvX2dldCB0aGluZw0KPj4gPiA+ID4+IHNpbmNlIHRoZSBm b2xpbyBjb21lcyBmcm9tIHB0ZSB3aGljaCBpbXBsaWVzIGl0IGhhcyBvbmUgcmVmY250DQo+PiA+ ID4gPj4gZnJvbSBwYWdlY2FjaGUNCj4+ID4gPiA+DQo+PiA+ID4gPk1tbSwgbm8uICBJdCdzIGlt cGxpY2l0LCBidXQgbWFkdmlzZV9jb2xkX29yX3BhZ2VvdXRfcHRlX3JhbmdlKCkNCj4+ID4gPiA+ ZG9lcyBndWFyYW50ZWUgdGhhdCB0aGUgZm9saW8gaGFzIGF0IGxlYXN0IG9uZSByZWZjb3VudC4N Cj4+ID4gPiA+DQo+PiA+ID4gPlNpbmNlIHdlIGdldCB0aGUgZm9saW8gZnJvbSB2bV9ub3JtYWxf Zm9saW8odm1hLCBhZGRyLCBwdGVudCk7IHdlDQo+PiA+ID4gPmtub3cgdGhhdCB0aGVyZSBpcyBh dCBsZWFzdCBvbmUgbWFwY291bnQgb24gdGhlIGZvbGlvLiAgcmVmY291bnQgaXMNCj5hbHdheXMg Pj0gbWFwY291bnQuDQo+PiA+ID4gPlNpbmNlIHdlIGhvbGQgcHRlX29mZnNldF9tYXBfbG9jaygp LCB3ZSBrbm93IHRoYXQgbWFwY291bnQgKGFuZA0KPj4gPiA+ID50aGVyZWZvcmUNCj4+ID4gPiA+ cmVmY291bnQpIGNhbm5vdCBiZSBkZWNyZW1lbnRlZCB1bnRpbCB3ZSBjYWxsIHB0ZV91bm1hcF91 bmxvY2soKSwNCj4+ID4gPiA+d2hpY2ggd2UgZG9uJ3QgZG8gdW50aWwgd2UgaGF2ZSBjYWxsZWQg Zm9saW9faXNvbGF0ZV9scnUoKS4NCj4+ID4gPiA+DQo+PiA+ID4gPkdvb2QgdHJ5IHRob3VnaCwg dG9vayBtZSBhIGZldyBtaW51dGVzIG9mIGxvb2tpbmcgYXQgaXQgdG8NCj4+ID4gPiA+Y29udmlu Y2UgbXlzZWxmIHRoYXQgaXQgd2FzIHNhZmUuDQo+PiA+ID4gPg0KPj4gPiA+ID5Tb21ldGhpbmcg dG8gYmVhciBpbiBtaW5kIGlzIHRoYXQgaWYgdGhlIHJhY2UgeW91IG91dGxpbmUgaXMNCj4+ID4g PiA+cmVhbCwgZmFpbGluZyB0byBob2xkIGEgcmVmY291bnQgb24gdGhlIGZvbGlvIGxlYXZlcyB0 aGUgY2FsbGVyDQo+PiA+ID4gPnN1c2NlcHRpYmxlIHRvIHRoZSBWTV9CVUdfT05fRk9MSU8oIWZv bGlvX3JlZl9jb3VudChmb2xpbyksDQo+PiA+ID4gPmZvbGlvKTsgaWYgdGhlIG90aGVyIHRocmVh ZCBjYWxscyBmb2xpb19wdXQoKS4NCj4+ID4gPiBSZXNlbmQgdGhlIGNoYXJ0IHZpYSBvdXRsb29r Lg0KPj4gPiA+IEkgdGhpbmsgdGhlIHByb2JsZW0gcmVseSBvbiBhbiBzcGVjaWFsIHRpbWluZyB3 aGljaCBpcyByYXJlLCBJIHdvdWxkIGxpa2UgdG8NCj5saXN0IHRoZW0gYmVsb3cgaW4gdGltaW5n IHNlcXVlbmNlLg0KPj4gPiA+DQo+PiA+ID4gMS4gdGhyZWFkIDAgY2FsbHMgZm9saW9faXNvbGF0 ZV9scnUgd2l0aCByZWZjbnQgPT0gMQ0KPj4gPg0KPj4gPiAoaSBhc3N1bWUgeW91IG1lYW4gcmVm Y250ID09IDIgaGVyZSwgb3RoZXJ3aXNlIG5vbmUgb2YgdGhpcyBtYWtlcw0KPj4gPiBzZW5zZSkN Cj4+ID4NCj4+ID4gPiAyLiB0aHJlYWQgMSBjYWxscyByZWxlYXNlX3BhZ2VzIHdpdGggcmVmY250 ID09IDIuKElNTywgaXQgY291bGQgYmUNCj4+ID4gPiAxIGFzIHJlbGVhc2VfcGFnZXMgZG9lc24n dCBjYXJlIGlmIHRoZSBmb2xpbyBpcyB1c2VkIGJ5IHBhZ2UgY2FjaGUNCj4+ID4gPiBvciBmcykg My4gdGhyZWFkIDIgZGVjcmVhc2UgcmVmY250IHRvIDEgYnkgY2FsbGluZw0KPj4gPiA+IGZpbGVt YXBfZnJlZV9mb2xpby4oYXMgSSBtZW50aW9uZWQgaW4gMiwgdGhyZWFkIDIgaXMgbm90IG1hbmRh dGFyeQ0KPj4gPiA+IGhlcmUpIDQuIHRocmVhZCAxIGNhbGxzIGZvbGlvX3B1dF90ZXN0emVybyBh bmQgcGFzcy4obHJ1dmVjLT5sb2NrDQo+PiA+ID4gaGFzIG5vdCBiZWVuIHRha2UgaGVyZSkNCj4+ ID4NCj4+ID4gQnV0IHRoZXJlJ3MgYWxyZWFkeSBhIGJ1ZyBoZXJlLg0KPj4gPg0KPj4gPiBSZWFy cmFuZ2UgdGhlIG9yZGVyIG9mIHRoaXM6DQo+PiA+DQo+PiA+IDIuIHRocmVhZCAxIGNhbGxzIHJl bGVhc2VfcGFnZXMgd2l0aCByZWZjb3VudCA9PSAyIChkZWNyZWFzaW5nDQo+PiA+IHJlZmNvdW50 IHRvIDEpIDMuIHRocmVhZCAyIGRlY3JlYXNlIHJlZmNvdW50IHRvIDAgYnkgY2FsbGluZw0KPj4g PiBmaWxlbWFwX2ZyZWVfZm9saW8gMS4gdGhyZWFkIDAgY2FsbHMgZm9saW9faXNvbGF0ZV9scnUo KSBhbmQgaGl0cyB0aGUgQlVHKCkuDQo+PiA+DQo+PiA+ID4gNS4gdGhyZWFkIDAgY2xlYXIgZm9s aW8ncyBQR19scnUgYnkgY2FsbGluZyBmb2xpb190ZXN0X2NsZWFyX2xydS4gVGhlDQo+Zm9saW9f Z2V0IGJlaGluZCBoYXMgbm8gbWVhbmluZyB0aGVyZS4NCj4+ID4gPiA2LiB0aHJlYWQgMSBmYWls ZWQgaW4gZm9saW9fdGVzdF9scnUgYW5kIGxlYXZlIHRoZSBmb2xpbyBvbiB0aGUgTFJVLg0KPj4g PiA+IDcuIHRocmVhZCAxIGFkZCBmb2xpbyB0byBwYWdlc190b19mcmVlIHdyb25nbHkgd2hpY2gg Y291bGQgYnJlYWsNCj4+ID4gPiB0aGUgTFJVJ3MtPmxpc3QgYW5kIHdpbGwgaGF2ZSBuZXh0IGZv bGlvIGV4cGVyaWVuY2UNCj4+ID4gPiBsaXN0X2RlbF9pbnZhbGlkDQo+PiA+ID4NCj4+ID4gPiAj dGhyZWFkIDAobWFkaXZpc2VfY29sZF9hbmRfcGFnZW91dCkNCj4jMShscnVfYWRkX2RyYWluLT5m YmF0Y2hfcmVsZWFzZV9wYWdlcykNCj4jMihyZWFkX3BhZ2VzLT5maWxlbWFwX3JlbW92ZV9mb2xp b3MpDQo+PiA+ID4gcmVmY250ID09IDEocmVwcmVzZW50IHBhZ2UgY2FjaGUpICAgICAgICAgICAg IHJlZmNudD09Mihhbm90aGVyIG9uZQ0KPnJlcHJlc2VudCBMUlUpICAgICAgICAgIGZvbGlvIGNv bWVzIGZyb20gcGFnZSBjYWNoZQ0KPj4gPg0KPj4gPiBUaGlzIGlzIHN0aWxsIGlsbGVnaWJsZS4g IFRyeSBpdCB0aGlzIHdheToNCj4+ID4NCj4+ID4gVGhyZWFkIDAgICAgICAgIFRocmVhZCAxICAg ICAgICBUaHJlYWQgMg0KPj4gPiBtYWR2aXNlX2NvbGRfb3JfcGFnZW91dF9wdGVfcmFuZ2UNCj4+ ID4gICAgICAgICAgICAgICAgIGxydV9hZGRfZHJhaW4NCj4+ID4gICAgICAgICAgICAgICAgIGZi YXRjaF9yZWxlYXNlX3BhZ2VzDQo+PiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cmVhZF9wYWdlcw0KPj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVtYXBf cmVtb3ZlX2ZvbGlvDQo+PiBUaHJlYWQgMCAgICAgICAgVGhyZWFkIDEgICAgICAgIFRocmVhZCAy DQo+PiBtYWR2aXNlX2NvbGRfb3JfcGFnZW91dF9wdGVfcmFuZ2UNCj4+ICAgICAgICAgICAgICAg ICB0cnVuY2F0ZV9pbm9kZV9wYWdlc19yYW5nZQ0KPj4gICAgICAgICAgICAgICAgIGZiYXRjaF9y ZWxlYXNlX3BhZ2VzDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRydW5jYXRl X2lub2RlX3BhZ2VzX3JhbmdlDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZp bGVtYXBfcmVtb3ZlX2ZvbGlvIFNvcnJ5IGZvciB0aGUNCj4+IGNvbmZ1c2lvbi4gUmVhcnJhbmdl IHRoZSB0aW1pbmcgY2hhcnQgbGlrZSBhYm92ZSBhY2NvcmRpbmcgdG8gdGhlIHJlYWwNCj4+IHBh bmljJ3Mgc3RhY2t0cmFjZS4gVGhyZWFkIDEmMiBhcmUgYWxsIGZyb20NCj4+IHRydW5jYXRlX2lu b2RlX3BhZ2VzX3JhbmdlKEkgdGhpbmsgdGhyZWFkMihyZWFkX3BhZ2VzKSBpcyBub3QNCj4+IG1h bmRhdG9yeSBoZXJlIGFzIHRocmVhZCAwJjEgY291bGQgcmVseSBvbiB0aGUgc2FtZSByZWZjbnQ9 PTEpLg0KPj4gPg0KPj4gPiBTb21lIGFjY3VyYWN5IGluIHlvdXIgcmVwb3J0IHdvdWxkIGFsc28g YmUgYXBwcmVjaWF0ZWQuICBUaGVyZSdzIG5vDQo+PiA+IGZ1bmN0aW9uIGNhbGxlZCBtYWRpdmlz ZV9jb2xkX2FuZF9wYWdlb3V0LCBub3IgaXMgdGhlcmUgYSBmdW5jdGlvbg0KPj4gPiBjYWxsZWQg ZmlsZW1hcF9yZW1vdmVfZm9saW9zKCkuICBJdCdzIGEgbGl0dGxlIGRldGFpbCwgYnV0IGl0J3MN Cj4+ID4gYW5ub3lpbmcgZm9yIG1lIHRvIHRyeSB0byBmaW5kIHdoaWNoIGZ1bmN0aW9uIHlvdSdy ZSBhY3R1YWxseQ0KPj4gPiByZWZlcnJpbmcgdG8uICBJIGhhdmUgdG8gZ3Vlc3MsIGFuZCBpdCBw dXRzIG1lIGluIGEgYmFkIG1vb2QuDQo+PiA+DQo+PiA+IEF0IGFueSByYXRlLCB0aGVzZSB0aHJl ZSBmdW5jdGlvbnMgY2Fubm90IGRvIHdoYXQgeW91J3JlIHByb3Bvc2luZy4NCj4+ID4gSW4gcmVh ZF9wYWdlKCksIHdoZW4gd2UgY2FsbCBmaWxlbWFwX3JlbW92ZV9mb2xpbygpLCB0aGUgZm9saW8g aW4NCj4+ID4gcXVlc3Rpb24gd2lsbCBub3QgaGF2ZSB0aGUgdXB0b2RhdGUgZmxhZyBzZXQsIHNv IGNhbiBuZXZlciBoYXZlIGJlZW4NCj4+ID4gcHV0IGluIHRoZSBwYWdlIHRhYmxlcywgc28gY2Fu bm90IGJlIGZvdW5kIGJ5IG1hZHZpc2UoKS4NCj4+ID4NCj4+ID4gQWxzbywgYXMgSSBzYWlkIGlu IG15IGVhcmxpZXIgZW1haWwsDQo+PiA+IG1hZHZpc2VfY29sZF9vcl9wYWdlb3V0X3B0ZV9yYW5n ZSgpDQo+PiA+IGRvZXMgZ3VhcmFudGVlIHRoYXQgdGhlIHJlZmNvdW50IG9uIHRoZSBmb2xpbyBp cyBoZWxkIGFuZCBjYW4gbmV2ZXINCj4+ID4gZGVjcmVhc2UgdG8gemVybyB3aGlsZSBmb2xpb19p c29sYXRlX2xydSgpIGlzIHJ1bm5pbmcuICBTbyB0aGF0J3MNCj4+ID4gdHdvIHdheXMgdGhpcyBz Y2VuYXJpbyBjYW5ub3QgaGFwcGVuLg0KPj4gVGhlIG1hZGl2c2VfeHh4IGNvbWVzIGZyb20gbXkg cHJlc3VtcHRpb24gd2hpY2ggaGFzIGFueSBwcm9vZi4NCj4+IFdoZXJlYXMsIEl0IGxvb2tzIGxp a2UgdHJ1bmNhdGVfaW5vZGVfcGFnZXNfcmFuZ2UganVzdCBjYXJlcyBhYm91dA0KPj4gcGFnZSBj YWNoZSByZWZjbnQgYnkgZm9saW9fcHV0X3Rlc3R6ZXJvIHdpdGhvdXQgbm90aWNpbmcgYW55IHRh c2sncyBWTQ0KPj4gc3R1ZmYuIEZ1cnRoZXJtb3JlLCBJIG5vdGljZSB0aGF0IG1vdmVfZm9saW9z X3RvX2xydSBpcyBzYWZlIGFzIGl0DQo+PiBydW5zIHdpdGggaG9sZGluZyBscnV2ZWMtPmxvY2su DQo+PiA+DQo+QlRXLCBJIHRoaW5rIHdlIG5lZWQgdG8gcHJvdGVjdCBhbGwNCj5mb2xpb190ZXN0 X2NsZWFyX2xydS9mb2xpb190ZXN0X2xydSBieSBtb3ZpbmcgdGhlbSBpbnRvIGxydXZlYy0+bG9j ayBpbiBzdWNoIGFzDQo+X19wYWdlX2NhY2hlX3JlbGVhc2UgYW5kIGZvbGlvX2FjdGl2YXRlIGZ1 bmN0aW9ucy4NCj5PdGhlcndpc2UsIHRoZXJlIGlzIGFsd2F5cyBhIHJhY2Ugd2luZG93IGJldHdl ZW4ganVkZ2luZyBQR19scnUgYW5kDQo+Zm9sbG93aW5nIGFjdGlvbnMuDQoNClN1bW1hcml6ZSBh bGwgaW5mb3JtYXRpb24gYmVsb3cgdG8gbWFrZSBpdCBtb3JlIGNsZWFyKHJlbW92ZSB0aHJlYWQy IHdoaWNoIGlzIG5vdCBtYW5kYXRvcnkgYW5kIG1ha2UgdGhlIHNjZW5hcmlvIGNvbXBsZXgpDQoN CiN0aHJlYWQgMChtYWRpdmlzZV9jb2xkX2FuZF9wYWdlb3V0KSAgICAgICAgI3RocmVhZDEodHJ1 bmNhdGVfaW5vZGVfcGFnZXNfcmFuZ2UpIA0KcHRlX29mZnNldF9tYXBfbG9jawkJCQkJCSB0YWtl cyBOTyBsb2NrDQoJCQkJCQkJCQkJIHRydW5jYXRlX2lub2RlX2ZvbGlvKHJlZmNudCA9PSAyKQ0K CQkJCQkJCQkJCSA8ZGVjcmVhc2UgdGhlIHJlZmNudCBvZiBwYWdlIGNhY2hlPg0KZm9saW9faXNv bGF0ZV9scnUocmVmY250ID09IDEpCSAgICAgICAgICAgICAgICAgDQoJCQkJCQkJCQkJIHJlbGVh c2VfcGFnZXMocmVmY250ID09IDEpDQpmb2xpb190ZXN0X2NsZWFyX2xydSANCjxyZW1vdmUgZm9s aW8ncyBQR19scnU+DQoJCQkJCQkJCQkJZm9saW9fcHV0X3Rlc3R6ZXJvID09IHRydWUNCmZvbGlv X2dldChyZWZlciB0byBpc29sYXRpb24pDQoJCQkJCQkJCQkJZm9saW9fdGVzdF9scnUgPT0gZmFs c2UNCgkJCQkJCQkJCSAgCTxObyBscnV2ZWNfZGVsX2ZvbGlvPg0KCQkJCQkJCQkJCWxpc3RfYWRk KGZvbGlvLT5scnUsIHBhZ2VzX3RvX2ZyZWUpDQoJCQkJCQkJCQkJKioqKmN1cnJlbnQgZm9saW8g d2lsbCBicmVhayBMUlUncyBpbnRlZ3JpdHkgc2luY2UgaXQgaGFzIG5vdCBiZWVuIGRlbGV0ZWQq KioqDQoNCjAuIEZvbGlvJ3MgcmVmY250IGRlY3JlYXNlIGZyb20gMiB0byAxIGJ5IGZpbGVtYXBf cmVtb3ZlX2ZvbGlvDQoxLiB0aHJlYWQgMCBjYWxscyBmb2xpb19pc29sYXRlX2xydSB3aXRoIHJl ZmNudCA9PSAxLiBGb2xpbyBjb21lcyBmcm9tIHZtJ3MgcHRlDQoyLiB0aHJlYWQgMSBjYWxscyBy ZWxlYXNlX3BhZ2VzIHdpdGggcmVmY250ID09IDEuIEZvbGlvIGNvbWVzIGZyb20gYWRkcmVzc19z cGFjZQ0KKHJlZmNudCA9PSAxIG1ha2Ugc2Vuc2UgZm9yIGJvdGggb2YgZm9saW9faXNvbGF0ZV9s cnUgYW5kIHJlbGVhc2VfcGFnZXMpDQozLiB0aHJlYWQwIGNsZWFyIGZvbGlvJ3MgUEdfbHJ1IGJ5 IGZvbGlvX3Rlc3RfY2xlYXJfbHJ1DQo0LiB0aHJlYWQxIGRlY3JlYXNlIGZvbGlvJ3MgcmVmY250 IGZyb20gMSB0byAwIGFuZCBnZXQgcGVybWlzc2lvbiB0byBwcm9jZWVkDQo1LiB0aHJlYWQxIGZh aWxlZCBpbiBmb2xpb190ZXN0X2xydSBhbmQgZG8gbm8gbGlzdF9kZWwoZm9saW8pDQo2LiB0aHJl YWQxIGFkZCBmb2xpbyB0byBwYWdlc190b19mcmVlIHdyb25nbHkgd2hpY2ggYnJlYWsgdGhlIExS VSdzLT5saXN0IA0KNy4gbmV4dCBmb2xpbyBhZnRlciBjdXJyZW50IG9uZSB3aXRoaW4gdGhyZWFk MSBleHBlcmllbmNlcyBsaXN0X2RlbF9pbnZhbGlkIHdoZW4gY2FsbGluZyBscnV2ZWNfZGVsX2Zv bGlvDQo=