From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR03-VE1-obe.outbound.protection.outlook.com (mail-eopbgr50109.outbound.protection.outlook.com [40.107.5.109]) by sourceware.org (Postfix) with ESMTPS id E5D803857404 for ; Mon, 21 Mar 2022 19:46:31 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org E5D803857404 Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=silk.us Authentication-Results: sourceware.org; spf=none smtp.mailfrom=silk.us ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V/+egFgPnwBXqq3frAMPH4J+nxo4pmeqPMvmCo7fx7Lzs7wl3sH6dBeRcQ/xW+XPd1b3E036lPrRwfQpZnHhgi0q8FuWtWXzdSHi/VOUnYm3N4N2rxfmJaPr2yUL5cPiRCX5mXfoe9yQNG3p63UCeLvjqpJ5N/zqgXjoBS1Bn2R0yBT4cF0NJsUcNQp4YeCvGbVXkIUFYr5+k82nUZmbXI80TS9YJ52b8oF1GL830Owv66oiYPSZy4cwuvLUfvZYIkw8JOSJlC3p1UiM87CywmJZ1GGlZvpU2OdGPWVptD3JRGggRTjyZMdh1OeDy/iE//sRAf07kE75eQAAxOg3Yw== 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=auJ1aR46i+g9qTM/BeKTUjOKuBdruTAR0Inarg09RNc=; b=TdT2rC8eumZ7qOjo2ji1t9Xq5OtnrZzcDw/4iyR4WLgbH5n8QsC9dd2QKdavkCg74cSOmVMJqJO52+eksmv5KvRvG3awa/CZTXHocmQJbILbf03suNXfo0/o3r3QetKsdYkn9Ntky17HgSZG3uUBrSMPF2Eaoy2sZ/4926YHBfzkTimRzSVYJQsRgAanI9JbP2iNfVxb4573yOUCBwVuGKXYUsNR/VyqlnNQI3iKP5JRAlNkxvf9S0DBcvc9d1v0WQo8CMpeXxBUjmbQF0JLvM7I+sGVOaypLkLimmUYc518XKn1hejOFQp8fTIh+Uc/oBLJQ0MGT5JSTJYb4MXpyw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=silk.us; dmarc=pass action=none header.from=silk.us; dkim=pass header.d=silk.us; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=KAMINARIO.onmicrosoft.com; s=selector2-KAMINARIO-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=auJ1aR46i+g9qTM/BeKTUjOKuBdruTAR0Inarg09RNc=; b=ej+x3jNnox1fj9Nv6fz4Se6mJfw5xLPkamcg7h+pcd1nEX6JlQxHHQ8l9Ec8pEwE1fKx0jMtjGXa4DKXJ6FUv3XIfnH/6ENThmKmlp/4sg+MmzmO35FJ6Oj/T1nkV7R14F5ijXpWwr3dEOTNNpcF3n37xMriSHrcLhlzkRk+lQg= Received: from AM9PR04MB8291.eurprd04.prod.outlook.com (2603:10a6:20b:3e5::18) by AM0PR04MB4625.eurprd04.prod.outlook.com (2603:10a6:208:71::27) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5081.22; Mon, 21 Mar 2022 19:46:28 +0000 Received: from AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674]) by AM9PR04MB8291.eurprd04.prod.outlook.com ([fe80::e074:dd60:f227:b674%5]) with mapi id 15.20.5081.023; Mon, 21 Mar 2022 19:46:28 +0000 From: David Mozes To: Adhemerval Zanella CC: Christian Hoff , Florian Weimer , "libc-help@sourceware.org" , Carlos O'Donell Subject: Re: rwlock different behavior on glibc 2.28 then on previous versions Thread-Topic: rwlock different behavior on glibc 2.28 then on previous versions Thread-Index: AdgyX2S3/6mTgWpiREq8PHffipiLYAC8MW5wAFXY8eABdDm6cAAczqWAAA/6npAABnFPgAAFvvdZ Date: Mon, 21 Mar 2022 19:46:28 +0000 Message-ID: <6D2D3001-2308-4336-829F-8369DF7D2514@silk.us> References: <87czis1tgk.fsf@oldenburg.str.redhat.com> <8681b86f-963c-7c01-3d7a-9c4cb3da52c8@gmx.net> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=silk.us; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 23cb344e-e41c-4224-020c-08da0b737dfa x-ms-traffictypediagnostic: AM0PR04MB4625: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: ZhXVqDF8YsD7axpcfvc/T0I+JCOZahDApm85zqaN9j2biqUHhS/qerfGC9O+U0sB/ldMwusZCLQhx28EA4mp/P3Irt1mCONUb7BSxpTy4WeunmdQ23QDnkpGr5wwFdrMSASYrCEIu4Q8X+CjLjoZfN84sQWUZAe8J91z+OX0x2iPkpBpqq7xYSjyt3atOioK/uH6BVuZEENZmOaWTI/Z2Cb5i+El1JEdfIb+eFtSlJ45FTNetvc8hzL8ZMkCjFkWtjjcOcflCEKeB2Marcw2nW5ZVW8SiomSOUI2s5Sq7vrDsri5Lz7toH77dCPigKVPIdTfJs1KTq5I9N060isxqebId6Y7wau8v1eT2AWUXEs0zQ0hTfAVzEWYMNH3YG3YRgEuJ9aDsHc4ViclJuPb1kM75t881PUoHa7ZgisltYNyhZb3q4Z2XOFqi46A1mbkfGmlFHC0qLBSIz9MJ7G6GFws71x3kJXWLWrepfUpT/ZRnD8M6FOAzyj2fpzfHzspaQuNk5aembfwAkEWj8SyD525z1mHvvkYsj3xmF3axlFqOy8rTzfHDBRENh6UUUvQ5fr406f2hFfd3PikfcqOjMaq0TIEsWhduohqaVoLh9xLbgLg2RVuZJaq6IDURnNQgvbs2nSmlc9xdWfAoWUPt4gkyAgPASH+XIsDviHiZKY7vhjpWJlpL1tuGMEt9GKlluTFXJ43AqCiqVSvx120mtyPH2n8fN0dVMDoKo9sQeUv4SQB9KkbYPQ9dKZlFzmm x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM9PR04MB8291.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(366004)(316002)(5660300002)(38100700002)(36756003)(76116006)(44832011)(8936002)(6916009)(54906003)(66946007)(66476007)(66446008)(64756008)(91956017)(2906002)(8676002)(4326008)(66556008)(122000001)(86362001)(186003)(2616005)(33656002)(71200400001)(38070700005)(6512007)(6506007)(53546011)(83380400001)(508600001)(6486002)(80162009)(45980500001); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VmFMdHZjZ2UrN1FnUE1JTnlZL2FMV25xY3hKRUhwUDRpaThqRFlJTXlJa08w?= =?utf-8?B?NzFLQUs5VkdNc0NPdzBMN0hQT1plQVVDdVI3RTg3WHJHSGlRMitMS3FPTGpm?= =?utf-8?B?NTViL1RlSjFjZ3NQcGl5enI3d3pXV3hoRi9pbEJjcXFFbGVIMFFDL2QwUTlL?= =?utf-8?B?Z29Na3lQb25NL3haUnJIcDRna3NVQ2JOTHV1ZmZXTFZuN2lSaEZva0JWZ2g4?= =?utf-8?B?VGdzOUU4SnpQR2tTMVhKSkh5Q1pxcmd2SFgybnRXYVhpVG5EVld0d20rVmdG?= =?utf-8?B?KzMvYXUxYTlRbStiS3pWc2VGMmRnU2FscHlPYURlRTE4SkhtaFBBZWpNSzVJ?= =?utf-8?B?dTNHaXVZYnB6MmlYTGRmMmdyWEJHS2NzeGNzSGcxWGJlWitLUDZsU0JTQThr?= =?utf-8?B?YmVNNURJNUNCOFhmSWl3UGRwRmRKRmtvc2plNld6djRza3VlcWowN24vdzht?= =?utf-8?B?RFlUUC9PVjk4VzAwWUpRVWtmYnlmMW9qMmdwd3pEeUh6U2hLekZpakNVMUk0?= =?utf-8?B?WmpCTEFqbFZlOU5iR0hNZjVEUzZsWHcvVGtBVHB6eURaaXZUckxzNkk0akpo?= =?utf-8?B?RHI5b20zQkRqQWhrNVQySFRDUkNpaUdVQXZXUnVOT0F6QStVbDRrOG1teWFB?= =?utf-8?B?aWNqTFRyZFREQlpkcXpuVURuaGZrSEVzaHZBMGJibVpEQVNuTmZTTjQvK0k2?= =?utf-8?B?dEE0RnZqV0htRXYvUkE5R1ZUM2R0S1k4WnJjd2ttNjBTUlMxQ2FZYllkZWRm?= =?utf-8?B?dTlLZWQ0TCtyMDE4Y3M1cUJIR1BFUkpuUVp2UE9zR3YyRmxzUzU2MTVjeUVR?= =?utf-8?B?WlYvTWI5a3RXTVNsWVhoV2p5aXFwVGhoK2hIOWRwZXdScmdpOVlhczhOZGo3?= =?utf-8?B?dkJRYmt4WGphbFRNek51d2ZIVk9ISnkxL3pZdjk0ZUQ5aVpzSFlmZnVhOVVZ?= =?utf-8?B?dUZxU3V3TWV4UW5XOHplMWhudm43ZTdrWjZaL0poZTlDbjNZOVlQenlUdGZY?= =?utf-8?B?Wms5NFYzODRRaHAvREJmaGg1WkM1UzNCcDNna3RuQlZCTGIwVnFhVnR1aFZj?= =?utf-8?B?RHNhLzhOZjdxVHd3QTVacmRmQXA2czdhT3RMMHJ3QVFnQWJUQlM2K1A1VGhD?= =?utf-8?B?MUlKYmQ4cmpLTWpOb1k3VEVNSGRrUXJZeXdQZE9SL3pLVzBPaUg3Q1QzM0Rp?= =?utf-8?B?TzJ2TXdDQm1zTGkyZEw3V0Nuai9aMzlReUp1cDFSVXlDejA2cWhFUHB1aHhZ?= =?utf-8?B?d1FkWkx1MnRCSVlvUCtFVUZXb285eXljSzNndkFTbnRlYm0rVmJKMEc3Um5p?= =?utf-8?B?TXFuTEphaFBGeHlueDc2aGdpUGxkaXhHVjhFQmlBQWlXYjdBMWVObnZtZS9X?= =?utf-8?B?MjNUdk8wMlF1Yk0vK01VZVhoN3l1enhvei9hRm80OEh1ZW5JanhRWEc4SXdX?= =?utf-8?B?WVZzYjBJa3F5QVZ4Qks2bERHMFFMQWNqVDlOd1IwOERhNjVCbmJicm04Z3Nz?= =?utf-8?B?RlFEZm1JOEhYaEtpOTE5MnV6MHVyQ3VNRlFKM3RBRlZZWTUvRm9jOWVZOGpv?= =?utf-8?B?K2ZCOUcwcHZNbWF5SmpSbnR3cDVaZW40TWlHbWc2VnV4ckZLMklrdHV4eS81?= =?utf-8?B?em5PeWpPTFl0U0Y5R2N3Z09BakdQWndXSERrVUthQTJjY2tHVDVMM2VkVVNu?= =?utf-8?B?V2kzYm1nYm9oZmZDVXlGWENYdHQyV2FQeXRoM0ZCWkJhTU5hQ2FST2YwZGE5?= =?utf-8?B?aEtiVEJNY2EyQnR0eXdOeFE4ZjZTa3dNN2hsUDBVVGRNWEs1Tm1TQlJBLzdl?= =?utf-8?B?eUEyZDBOR1Z2TWdFNzJhb0cyeDZ1SjQ5R1NPaTJBL2p0Q2NYSFlLeDIwZXps?= =?utf-8?B?dDFuOEloVUlPRHllMkorUkFvcG1ucVpjNUZhTFY0U3hNNXpIaWp6L2tPK1Ey?= =?utf-8?B?UTQvbkJCVm9FbTlaamhXWGxacGVJcmpsVkVWWVcyWnFDdkJ3eG9RU2huU0d1?= =?utf-8?B?ZUFLeE55YXZ3ekhJKzNRQk4xRGVHQTlhcUU4dEYxL2tjdTVONWkxMzBqWEVm?= =?utf-8?Q?apnH4M?= MIME-Version: 1.0 X-OriginatorOrg: silk.us X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: AM9PR04MB8291.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 23cb344e-e41c-4224-020c-08da0b737dfa X-MS-Exchange-CrossTenant-originalarrivaltime: 21 Mar 2022 19:46:28.7934 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 4a3c5477-cb0e-470b-aba6-13bd9debb76b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: jxDzapbVEMafSaFxrT1CmtrQVdIV51h74kKuu0GaVEmpWTIYPzVH/8WyrSmoMogmI9XfcvjD8318jVsiSUp+3Q== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR04MB4625 X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_00, DKIM_SIGNED, DKIM_VALID, FORGED_SPF_HELO, HTML_MESSAGE, KAM_INFOUSMEBIZ, RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H2, SPF_HELO_PASS, SPF_NONE, TXREP, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: libc-help@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Libc-help mailing list List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 21 Mar 2022 19:46:34 -0000 DQpUaGFua3MgQWRoZW1lcnZhbCwNCkZvciB0aGUgc3VnZ2VzdGlvbiENCg0KIEkgc3VnZ2VzdCB0 byByZW1vdmUgdGhlIGNoZWNrIGp1c3Qgb24gdGhlIHVubG9jayBmdW5jdGlvbi5JIHRlc3RlZCBp dCB3aXRoIHZlcnkgaGlnaCBsb2FkIGFuZCB3aXRoIGFwcGxpY2F0aW9uIHdpdGggM2sgYWN0aXZl IHRocmVhZHMuDQogQ2FuIHlvdSBvbiBhIGNhc2Ugb3IgYnVnKGRlZGxvY2sgb3Igc29tZXRoaW5n KSB0aGF0IHJlbW92aW5nIHRoSXMgY2hlY2sgd2lsbCBleHBvc2U/DQpUaHgNCkRhdmlkDQpPbiBN YXIgMjEsIDIwMjIsIGF0IDc6MDIgUE0sIEFkaGVtZXJ2YWwgWmFuZWxsYSA8YWRoZW1lcnZhbC56 YW5lbGxhQGxpbmFyby5vcmc+IHdyb3RlOg0KDQrvu79BcyBGbG9yaWFuIGhhcyBwdXQsIHRoaXMg aXMgZXNzZW50aWFsbHkgYSBtaXN1c2Ugb2YgdGhlIEFQSSBoYXMgYWx3YXlzIGJlZW4NCnVuZGVm aW5lZC4gIFRoZSByd2xvY2sgaW1wbGVtZW50YXRpb24gdXNlcyAgX19jdXJfd3JpdGUgdG8gYm90 aCBtYWtlIGEgZmFzdA0KZGVhZGxvY2sgY2hlY2sgYW5kIHRvIGtub3cgd2hldGhlciB0byBoYW5k bGUgdGhlIGxvY2sgYXMgYSB3cml0ZXIgb3IgcmVhZGVyDQpvbmUuICBUaGUgZm9ybWVyIGlzIGEg aW1wbGVtZW50YXRpb24gZGV0YWlsIHRoYXQgd2UgbWlnaHQgY2hhbmdlIChhbHRob3VnaA0KaXQg aXMgdXNlZnVsIGluIHNvbWUgY2FzZSksIGJ1dCB0byBoYW5kbGUgdGhlIGZvcm1lciB3aWxsIG1v c3QgbGlrZWx5IHRvDQpyZWZhY3RvciBhbmQgY2hhbmdlIHRoZSByZGxvY2sgYWxnb3JpdGhtIChq dXN0IHJlbW92aW5nIHRoZSBjaGVjayBhcyB5b3UgYXJlDQpwcm9wb3NpbmcgaXMgbm90IHN1ZmZp Y2UpLg0KDQpTaW5jZSBpdCBpcyBub3QgYSBidWcgaW4gb3VyIGltcGxlbWVudGF0aW9uLCBJIHRo aW5rIHlvdSB3aWxsIG5lZWQgdG8gZGlzY3Vzcw0KaXQgZnVydGhlciBvbiB0aGUgbGliYy1hbHBo YSB0byBzZWUgaWYgb3RoZXIgYXJlIHdpbGxpbmcgdG8gYWN0dWFsbHkgbWFrZQ0KdGhpcyBjaGFu Z2UuIEkgZm9yZXNlZSB0aGF0IHRoZSBhbGdvcml0aG0gY2hhbmdlIHdvbid0IGJlIHNpbXBsZSB0 byBrZWVwDQppbnRlcmZhY2UgcmVxdWlyZW1lbnRzIGFuZCBhbGxvdyB0aGUgc3BlY2lmaWMgY2Fz ZSB5b3UgYXJlIGFza2luZy4gSW4gZmFjdA0KSSB0aGluayBpdCBtaWdodCBub3QgYmUgYWN0dWFs bHkgcG9zc2libGUgd2l0aG91dCBjaGFuZ2UgdGhlIHJ3bG9jayBzZW1hbnRpYw0KKG5vdCBzdXJl IHRob3VnaCkuDQoNCkNhcmxvcyBoYXMgZml4ZWQgc29tZSBpc3N1ZSBvbiB0aGUgcndsb2NrLCBo ZSBtaWdodCBoYXZlIHNvbWUgY29tbWVudHMuDQoNCk9uIDIxLzAzLzIwMjIgMTE6MDEsIERhdmlk IE1vemVzIHdyb3RlOg0KSGVsbG8gQ2hyaXN0YWluLA0KWWVzLCBUaHJlYWQgU2FuaXRpemVyIGNh dWdodCBpdC4NCkhvd2V2ZXIsIHdlIGNhbid0IHJ1biBpdCBhbGwgdGhlIHRpbWUgb24gdGhlIHBy b2R1Y3Rpb24gY29kZS4NCldlIG5lZWQgdG8gbWFrZSBhIHNtYWxsIGNoYW5nZSBvZiB0aGUgdW5s b2NrIGNvZGUgdG8gaGF2ZSBhc3luYyBwcm9ncmFtaW5nIGFuZCBiYWNrd2FyZCBjb21wYXRpYmls aXR5IGZvciBvbGRlciBjb2RlLg0KDQpUaHgNCkRhdmlkDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBDaHJpc3RpYW4gSG9mZiA8Y2hyaXN0aWFuX2hvZmZAZ214Lm5ldD4NClNl bnQ6IE1vbmRheSwgTWFyY2ggMjEsIDIwMjIgODoyMCBBTQ0KVG86IERhdmlkIE1vemVzIDxkYXZp ZC5tb3plc0BzaWxrLnVzPjsgRmxvcmlhbiBXZWltZXIgPGZ3ZWltZXJAcmVkaGF0LmNvbT4NCkNj OiBsaWJjLWhlbHBAc291cmNld2FyZS5vcmcNClN1YmplY3Q6IFJlOiByd2xvY2sgZGlmZmVyZW50 IGJlaGF2aW9yIG9uIGdsaWJjIDIuMjggdGhlbiBvbiBwcmV2aW91cyB2ZXJzaW9ucw0KDQpIYWxs byBEYXZpZCwNCg0KZGlkIHlvdSB0cnkgdG8gcnVuIHlvdXIgcHJvZ3JhbSB3aXRoIEhlbGdyaW5k IGFscmVhZHk/IEhlbGdyaW5kIHdhcw0KZGVzaWduZWQgdG8gY2F0Y2ggcHJvYmxlbXMgbGlrZSB0 aGlzLiBNYXliZSBUaHJlYWQgU2FuaXRpemVyIHdvdWxkIGFsc28NCmRldGVjdCB0aGUgaXNzdWUu DQoNCg0KQmVzdCByZWdhcmRzLA0KDQogICBDaHJpc3RpYW4NCg0KT24gMy8yMC8yMiA1OjQ0IFBN LCBEYXZpZCBNb3plcyB3cm90ZToNCkhpLA0KV2hlcmUgYXJlIHdlIHdpdGggdGhpcz8NCkFsc28s IHRoZSBjdXJyZW50IGltcGxlbWVudGF0aW9uIG9mIHRoZSBfX3B0aHJlYWRfcndsb2NrX3VubG9j ayAgaXMgcHJvYmxlbWF0aWMuDQpPbiB0aGUgb25lIGhhbmQsIGl0IGNoZWNrcyB0aGUgQVBJIGFn cmVlbWVudC4gSG93ZXZlciwgb24gdGhlIGNhc2Ugb2YgdmlvbGF0aW9uLCB0aGUgdXNlciBkb24n dCBoYXZlIGFueSBpbmR1Y3Rpb24NCkFuZCBmdW5jdGlvbiByZXR1cm4gT0sNClNlZSBleGFtcGxl IGNvZGUgYmVsb3c6DQoNCg0Kc3RydWN0IHRocmVhZEluZm97DQogICAgcHRocmVhZF90KiB0aWQ7 DQogICAgcHRocmVhZF9yd2xvY2tfdCAqcndsb2NrOw0KfTsNCg0Kdm9pZCAqbG9ja2VyVGhyZWFk RnVuY3Rpb24odm9pZCAqdmFyZ3ApDQp7DQogICAga21fc3RhdHVzIHN0YXQgPSBLTV9PSzsNCiAg ICBzdHJ1Y3QgdGhyZWFkSW5mbyogVGluZm8gPSAoc3RydWN0IHRocmVhZEluZm8qKXZhcmdwOw0K DQogICAgZG8gew0KICAgICAgICBzdGF0ID0gcHRocmVhZF9yd2xvY2tfdHJ5d3Jsb2NrKFRpbmZv LT5yd2xvY2spOw0KICAgICAgICBpZiAoS01fT0sgPT0gc3RhdCkgew0KICAgICAgICAgICAgcHJp bnRmKCJbSU5GT10gLSBGSVJTVCB0aHJlYWQgMHgleCBsb2NrZWQgJXAgXG4iLCAqKFRpbmZvLT50 aWQpLCBUaW5mby0+cndsb2NrKTsNCiAgICAgICAgICAgIHNsZWVwKDEwKTsNCiAgICAgICAgICAg IHN0YXQgPSBwdGhyZWFkX3J3bG9ja191bmxvY2soVGluZm8tPnJ3bG9jayk7DQogICAgICAgICAg ICBpZiAoS01fT0sgPT0gc3RhdCkgew0KICAgICAgICAgICAgICAgIHByaW50ZigiW0lORk9dIEZJ UlNUIHRocmVhZCAweCV4IHJlbGVhc2VkICVwIFxuIiwgKihUaW5mby0+dGlkKSwgVGluZm8tPnJ3 bG9jayk7DQogICAgICAgICAgICAgICAgc2xlZXAoMSk7DQogICAgICAgICAgICB9DQogICAgICAg IH0NCiAgICB9d2hpbGUoS01fT0sgIT0gc3RhdCk7DQogICAgcmV0dXJuIE5VTEw7DQp9DQoNCg0K dm9pZCAqc2Vjb25kVGhyZWFkRnVuY3Rpb24odm9pZCAqdmFyZ3ApDQp7DQogICAga21fc3RhdHVz IHN0YXQgPSBLTV9PSzsNCiAgICBzdHJ1Y3QgdGhyZWFkSW5mbyogVGluZm8gPSAoc3RydWN0IHRo cmVhZEluZm8qKXZhcmdwOw0KDQogICAgc2xlZXAoNSk7DQogICAgZG8gew0KICAgICAgICBzdGF0 ID0gcHRocmVhZF9yd2xvY2tfdW5sb2NrKFRpbmZvLT5yd2xvY2spOw0KICAgICAgICBpZiAoS01f T0sgPT0gc3RhdCkgew0KICAgICAgICAgICAgcHJpbnRmKCJbSU5GT10gU0VDT05EIHRocmVhZCAw eCV4IHJlbGVhc2VkICVwIFxuIiwgKihUaW5mby0+dGlkKSwgVGluZm8tPnJ3bG9jayk7DQogICAg ICAgICAgICBzbGVlcCgxKTsNCiAgICAgICAgfSBlbHNlDQogICAgICAgICAgICBwcmludGYoIltJ TkZPXSBTRUNPTkQgdGhyZWFkIDB4JXggdHJ5X3RvX3JlbGVhc2VkICVwIGVycm8gc3RhdHVzIGlz OiAlZCBcbiIsICooVGluZm8tPnRpZCksIFRpbmZvLT5yd2xvY2ssc3RhdCk7DQoNCiAgICB9d2hp bGUoS01fT0sgIT0gc3RhdCk7DQogICAgcmV0dXJuIE5VTEw7DQp9DQoNCnZvaWQgKnRoaXJkVGhy ZWFkRnVuY3Rpb24odm9pZCAqdmFyZ3ApDQp7DQogICAga21fc3RhdHVzIHN0YXQgPSBLTV9PSzsN CiAgICBzdHJ1Y3QgdGhyZWFkSW5mbyogVGluZm8gPSAoc3RydWN0IHRocmVhZEluZm8qKXZhcmdw Ow0KDQogICAgc2xlZXAoMik7DQogICAgZG8gew0KICAgICAgICBzdGF0ID0gcHRocmVhZF9yd2xv Y2tfdHJ5d3Jsb2NrKFRpbmZvLT5yd2xvY2spOw0KICAgICAgICBpZiAoS01fT0sgPT0gc3RhdCkg ew0KICAgICAgICAgICAgcHJpbnRmKCJbSU5GT10gVEhJUkQgdGhyZWFkIDBYJXggbG9ja2VkICV4 XG4iLCAqKFRpbmZvLT50aWQpLCBUaW5mby0+cndsb2NrKTsNCiAgICAgICAgICAgIHNsZWVwKDUp Ow0KICAgICAgICB9DQogICAgICAgIGVsc2Ugew0KICAgICAgICAgICAgcHJpbnRmKCJbRVJST1Jd OiBUSElSRCB0aHJlYWQgMHgleCBmYWlsZWQgTG9ja2luZyAlcCBzdGF0dXMgaXMgJWRcbiIsICoo VGluZm8tPnRpZCksIFRpbmZvLT5yd2xvY2ssc3RhdCk7DQogICAgICAgICAgICBzbGVlcCgxKTsN CiAgICAgICAgfQ0KICAgIH13aGlsZShLTV9PSyAhPSBzdGF0KTsNCiAgICByZXR1cm4gTlVMTDsN Cn0NCg0Kdm9pZCBtYWluKCkNCnsNCiAgICBrbV9zdGF0dXMgc3RhdCA9IEtNX09LOw0KICAgIC8q IGttX3J3bG9jayBsb2NrOyAqLw0KICAgIHB0aHJlYWRfcndsb2NrX3Qgcndsb2NrOw0KICAgIHB0 aHJlYWRfdCBsb2NrZXJUaWQgPSAwLCByZWxlYXNlVGlkID0gMCwgdGhpcmRUaWQ9MDsNCiAgICBz dHJ1Y3QgdGhyZWFkSW5mbyBmaXJzdFRpbmZvLCBzZWNvbmRUaW5mbywgdGhpcmRUaW5mbzsNCg0K ICAgLyogc3RhdCA9IGttX3J3bG9ja19pbml0KCZyd2xvY2ssIEtNX1RSVUUpOyAqLw0KICAgIHN0 YXQgPSBwdGhyZWFkX3J3bG9ja19pbml0ICgmcndsb2NrLCBOVUxMKTsNCg0KICAgIGlmIChLTV9P SyA9PSBzdGF0KSB7DQogICAgICAgIHByaW50ZigicmVhZFxcd3JpdGVyIGxvY2sgaW5pdGlhbGl6 ZWRcbiIpOw0KICAgICAgICBwcmludGYoIkJlZm9yZSBUaHJlYWRcbiIpOw0KDQogICAgICAgIGZp cnN0VGluZm8udGlkICA9ICZsb2NrZXJUaWQ7DQogICAgICAgIGZpcnN0VGluZm8ucndsb2NrID0g JnJ3bG9jazsNCiAgICAgICAgc2Vjb25kVGluZm8udGlkICA9ICZyZWxlYXNlVGlkOw0KICAgICAg ICBzZWNvbmRUaW5mby5yd2xvY2sgPSAmcndsb2NrOw0KICAgICAgICB0aGlyZFRpbmZvLnRpZCAg PSAmdGhpcmRUaWQ7DQogICAgICAgIHRoaXJkVGluZm8ucndsb2NrID0gJnJ3bG9jazsNCg0KDQog ICAgICAgIHB0aHJlYWRfY3JlYXRlKCZsb2NrZXJUaWQsIE5VTEwsIGxvY2tlclRocmVhZEZ1bmN0 aW9uLCAmZmlyc3RUaW5mbyk7DQogICAgICAgIHB0aHJlYWRfY3JlYXRlKCZyZWxlYXNlVGlkLCAg TlVMTCwgc2Vjb25kVGhyZWFkRnVuY3Rpb24sICZzZWNvbmRUaW5mbyk7DQogICAgICAgIHB0aHJl YWRfY3JlYXRlKCZ0aGlyZFRpZCwgTlVMTCwgdGhpcmRUaHJlYWRGdW5jdGlvbiwgJnRoaXJkVGlu Zm8pOw0KICAgICAgICBwcmludGYoIkFmdGVyIFRocmVhZCAleFxuIiwgbG9ja2VyVGlkKTsNCg0K cHRocmVhZF9qb2luKGxvY2tlclRpZCwgTlVMTCk7DQogICAgICAgIHB0aHJlYWRfam9pbihyZWxl YXNlVGlkLCBOVUxMKTsNCiAgICAgICAgcHRocmVhZF9qb2luKHRoaXJkVGlkLCBOVUxMKTsNCg0K DQoNCnRoZSBvdXRwdXQgd2Ugc2F3IGlzIHRoaXM6DQoNCg0KdGhlIG91cHV0IHdlIHNhdyBpcyB0 aGlzOg0KDQpbcm9vdEBSb2NreTg1TW96ZXMgdGhyZWFkX2xvY2tdIyAuL3J3X3Rlc3QNCnJlYWRc d3JpdGVyIGxvY2sgaW5pdGlhbGl6ZWQNCkJlZm9yZSBUaHJlYWQNCltJTkZPXSAtIEZJUlNUIHRo cmVhZCAweDQ2MWY3MDAgbG9ja2VkIDB4N2ZmY2RhMDUzY2MwDQpBZnRlciBUaHJlYWQgNDYxZjcw MA0KW0VSUk9SXTogVEhJUkQgdGhyZWFkIDB4MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdmZmNk YTA1M2NjMCBzdGF0dXMgaXMgMTYgIC0+IGZpcnN0IHRocmVhZCB0YWtlIHRoZSByd2xvY2sNCltF UlJPUl06IFRISVJEIHRocmVhZCAweDM2MWQ3MDAgZmFpbGVkIExvY2tpbmcgMHg3ZmZjZGEwNTNj YzAgc3RhdHVzIGlzIDE2DQpbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBM b2NraW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KW0lORk9dIFNFQ09ORCB0aHJlYWQg MHgzZTFlNzAwIHJlbGVhc2VkIDB4N2ZmY2RhMDUzY2MwICAgLT4gU2Vjb25kIHRocmVhZCB1bmxv Y2sgdGhlIHJ3bG9jayAtLSA+IGFuZCBnZXQgT0shIQ0KW0VSUk9SXTogVEhJUkQgdGhyZWFkIDB4 MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdmZmNkYTA1M2NjMCBzdGF0dXMgaXMgMTYNCltFUlJP Ul06IFRISVJEIHRocmVhZCAweDM2MWQ3MDAgZmFpbGVkIExvY2tpbmcgMHg3ZmZjZGEwNTNjYzAg c3RhdHVzIGlzIDE2DQpbRVJST1JdOiBUSElSRCB0aHJlYWQgMHgzNjFkNzAwIGZhaWxlZCBMb2Nr aW5nIDB4N2ZmY2RhMDUzY2MwIHN0YXR1cyBpcyAxNg0KW0VSUk9SXTogVEhJUkQgdGhyZWFkIDB4 MzYxZDcwMCBmYWlsZWQgTG9ja2luZyAweDdmZmNkYTA1M2NjMCBzdGF0dXMgaXMgMTYNCltFUlJP Ul06IFRISVJEIHRocmVhZCAweDM2MWQ3MDAgZmFpbGVkIExvY2tpbmcgMHg3ZmZjZGEwNTNjYzAg c3RhdHVzIGlzIDE2DQpbSU5GT10gRklSU1QgdGhyZWFkIDB4NDYxZjcwMCByZWxlYXNlZCAweDdm ZmNkYTA1M2NjMA0KW0VSUk9SXTogVEhJUkQgdGhyZWFkIDB4MzYxZDcwMCBmYWlsZWQgTG9ja2lu ZyAweDdmZmNkYTA1M2NjMCBzdGF0dXMgaXMgMTYNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KRnJvbTogRGF2aWQgTW96ZXMNClNlbnQ6IFN1bmRheSwgTWFyY2ggMTMsIDIwMjIgMTI6 MjMgUE0NClRvOiBGbG9yaWFuIFdlaW1lciA8ZndlaW1lckByZWRoYXQuY29tPg0KQ2M6IGxpYmMt aGVscEBzb3VyY2V3YXJlLm9yZw0KU3ViamVjdDogUkU6IHJ3bG9jayBkaWZmZXJlbnQgYmVoYXZp b3Igb24gZ2xpYmMgMi4yOCB0aGVuIG9uIHByZXZpb3VzIHZlcnNpb25zDQoNClRoeCBGbG9yaW4s DQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEZsb3JpYW4gV2VpbWVyIDxm d2VpbWVyQHJlZGhhdC5jb20+DQpTZW50OiBGcmlkYXksIE1hcmNoIDExLCAyMDIyIDM6NTkgUE0N ClRvOiBEYXZpZCBNb3plcyA8ZGF2aWQubW96ZXNAc2lsay51cz4NCkNjOiBsaWJjLWhlbHBAc291 cmNld2FyZS5vcmcNClN1YmplY3Q6IFJlOiByd2xvY2sgZGlmZmVyZW50IGJlaGF2aW9yIG9uIGds aWJjIDIuMjggdGhlbiBvbiBwcmV2aW91cyB2ZXJzaW9ucw0KDQoqIERhdmlkIE1vemVzOg0KDQpP biB0aGUgcHJldmlvdXMgdmVyc2lvbiBvZiBHbGliYyAoYmVmb3JlIHRoZSBjb21taXQpIFdlIGNv dWxkIHJlbGVhc2UNCndyaXRlIGxvY2sgd2l0aCBkaWZmZXJlbnQgdGhyZWFkIGFzIHRoZSBvbmUg dGhhdCBvd25lZCB0aGUgbG9jayAoSWYgd2UNCmxpa2UpIC4NClNvcnJ5LCB0aGlzIG1pc3VzZSBv ZiB0aGUgQVBJIGhhcyBhbHdheXMgYmVlbiB1bmRlZmluZWQgYWNjb3JkaW5nIHRvDQpQT1NJWCAo 4oCcUmVzdWx0cyBhcmUgdW5kZWZpbmVkIGlmIHRoZSByZWFkLXdyaXRlIGxvY2sgcndsb2NrIGlz IG5vdCBoZWxkDQpieSB0aGUgY2FsbGluZyB0aHJlYWQu4oCdKS4NCg0KQ29ycmVjdCwgYnV0IHBy YWN0aWNhbGx5IHdlIGNhbiBkbyBpdCBvbiB0aGUgdXNlcidzIHJlc3BvbnNpYmlsaXR5Lg0KRG8g eW91IGtub3cgaWYgdGhpcyAiaWYiIHNvbHZlZCBzb21lIHN5bmNocm9uaXphdGlvbiBpc3N1ZSBv ciBqdXN0IGVuZm9yY2VkIHRoZSB1bmRlZmluZWQgIEFQST8NClRoaXMgaXMgaGVscCB2ZXJ5IG11 Y2ggZm9yIGFzeW5jIHByb2dyYW0gdGhhdCBoYXMgYSBtYW55IHRocmVhZHMgdGhhdA0KY29tbXVu aWNhdGUgd2l0aCBzb21lIHRhcmdldC4gIEFuZCB3ZSBsaWtlIHRvIGRlZmluZSBhIGNhbGwgYmFj aw0KZnVuY3Rpb24gaW5zdGVhZCBvZiBibG9ja2luZyBvbiBhaW8gdGhyZWFkIHRoYXQgc2VuZCB0 aGUgZGF0YSBpbiBvcmRlcg0KdG8gcmVsZWFzZSB0aGUgcndsb2NrLnRoaXMgaW1wcm92ZXMgdGhl IHBlcmZvcm1hbmNlIGRyYW1hdGljYWxseSAuDQpDb3VsZCB5b3UgdXNlIGEgZGlmZmVyZW50IHN5 bmNocm9uaXphdGlvbiBvYmplY3QgKHBlcmhhcHMgYSBjb25kaXRpb24NCnZhcmlhYmxlKT8NCg0K SWYgd2UgdXNlIGEgZGlmZmVyZW50IHN5bmNocm9uaXphdGlvbiBvYmplY3QgbGlrZSBzZW1hcGhv cmVzLCBjb25kaXRpb24gdmFyaWFibGUgKGJ5IHRoZSB3YXkgdGhleSB1c2UgbXV0ZXggdW5kZXIg dGhlIHNhbWUgQVBJIGFncmVlbWVudCksICB3ZSB3aWxsIG5lZWQgdG8gd3JpdGUgc2VsZiByd2xv Y2sgLCB3aGljaCBoYXMgbGVzcyBwZXJmb3JtYW5jZSB0aGFuIG90aGVyIHVuZGVmaW5lZCBzdGF0 ZXMuDQpJZiB3ZSBsaWtlIHRvIGtlZXAgdGhlIEFQSSBhZ3JlZW1lbnQsIHdoeSBub3QgZGVmaW5l IHRoZSBkaWZmZXJlbnQgYXN5bmMgcHJvZ3JhbW1pbmcgdW5sb2NrIGZ1bmN0aW9ucz8NClRoYW5r cw0KRmxvcmlhbg0KDQpUaHgNCkRhdmlkDQo=