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 picard.linux.it (picard.linux.it [213.254.12.146]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id C9985C3600C for ; Thu, 3 Apr 2025 13:59:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=lists.linux.it; i=@lists.linux.it; q=dns/txt; s=picard; t=1743688744; h=mime-version : date : message-id : to : references : in-reply-to : subject : list-id : list-unsubscribe : list-archive : list-post : list-help : list-subscribe : from : content-type : content-transfer-encoding : sender : from; bh=Ileefk6THJr5N9eSkm+NWStnlubgVrLtYboyF4S6XCQ=; b=coUZgdj9iA251AloF/wN0HdlYkFIXE5iG2zsmoZCBv29Lf2l+eydaeVnU3eT/sYWAand8 foYnut3eMvbwZikHG4Ga2xLNS+SbPIpFGcZlln8YEA3enhz23lZ41rsFOoGbAyDsOIVZpkG +NUQaOMnPK6FgzWFjKYjqvRH9R7r9uI= Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 288923CB298 for ; Thu, 3 Apr 2025 15:59:04 +0200 (CEST) Received: from in-7.smtp.seeweb.it (in-7.smtp.seeweb.it [IPv6:2001:4b78:1:20::7]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (secp384r1)) (No client certificate requested) by picard.linux.it (Postfix) with UTF8SMTPS id D93923CB276 for ; Thu, 3 Apr 2025 15:58:41 +0200 (CEST) Received: from mail-wr1-f51.google.com (mail-wr1-f51.google.com [209.85.221.51]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by in-7.smtp.seeweb.it (Postfix) with UTF8SMTPS id 4DC7D2000AF for ; Thu, 3 Apr 2025 15:58:40 +0200 (CEST) Received: by mail-wr1-f51.google.com with SMTP id ffacd0b85a97d-391342fc0b5so745324f8f.3 for ; Thu, 03 Apr 2025 06:58:40 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743688719; x=1744293519; h=in-reply-to:references:subject:to:message-id:date :content-transfer-encoding:mime-version:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=St1GUcB98NZKZvvKv0/mUdm10dbJ2ourCfs6YemvAZU=; b=q26H/URfJfpeS5lBNpb3siiUiZ2lh/h8MNFKpAKdlBRxMnNEYZO245pzQLaefTMcfb OGEvNALpU1kGZc+Wjsundb8dftbdWPOeUSZ7594G0dDfiyP8jE5+qbw/lCHl1CodYqhe 0rk7Mzvh3X3zzCYNO7WxEvbZHgRxnfMJExZ2gJf0xpDq4UfsluDfu73WvYJRaBndv0S2 L0aqMVXmBfuIWmBeCimnfeOpA2KlltuCAib+RK9gZrM2zncHoVYOIHEjBtdU8x/R3vWE upBnZ/BIM1fx3D78RwHtNtG8KidoGysSdxWpkGPCnIerpYP3jWgT+HRm6I8a+Onxgv4v Vsew== X-Forwarded-Encrypted: i=1; AJvYcCX/VkWBqrvMBZEH9hjx1XlOxvZR646pxQIicrmLDOdxjeX7nCcZi9WrAzlVXg86TLQOZec=@lists.linux.it X-Gm-Message-State: AOJu0YzItAIMStUNGgx+RV4VuyeKHd/8IVzdwxErQkPQ1GdNwCheT8ao QpCDy6PHTtYGOI/0K9F+C5+l6YZ+PxCv1FjWqqhaPoeH+3ZorBWS9M5iO6FVEw8= X-Gm-Gg: ASbGncukdfIIPdNWRJPI9xqjZsvYIwotA3skz4c10ZpUzTYjmxuwa4YLfMn47+qV29w gSSaD3wFuvdcq+Wf144g+2+g0xMclAwQxPAc2hSq/A321M9w5k6/hfCvMLgEXSjMXv06npFQkMD cZ7hRQC0F7lcgw1lzfy9otbYPe0y71rSkxAYdlX7VcLCC8z3CgD8vEEtnrea05r2PIwWKeg5qmK iFeVkbqE0ql0jkO1QM5RPFA8QShiN0/GL0gn3SKzGbCGgtyO4LDeNEQAC5teIr1BNFAh00xd59V GVUkP5z/oTg+E9eYFxKZij89S1M9vMBu2A== X-Google-Smtp-Source: AGHT+IHKQ+xecsXT/24AQ3V7tWbkqLxWceHHLX/ILPiWuYVB6olaypgSUmq/7jXeiDaFoNNh7BesjA== X-Received: by 2002:a05:6000:270d:b0:39c:30f1:be8a with SMTP id ffacd0b85a97d-39c30f1bed9mr1615632f8f.18.1743688719478; Thu, 03 Apr 2025 06:58:39 -0700 (PDT) Received: from localhost ([179.228.213.210]) by smtp.gmail.com with ESMTPSA id 41be03b00d2f7-af9bc41a84bsm1214560a12.63.2025.04.03.06.58.38 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 03 Apr 2025 06:58:38 -0700 (PDT) Mime-Version: 1.0 Date: Thu, 03 Apr 2025 10:58:33 -0300 Message-Id: To: "Andrea Cervesato" , "Linux Test Project" X-Mailer: aerc 0.20.1-31-gf6db7c329ce0-dirty References: <20250403-conversions-set_thread_area-v2-1-a177e5c2b28d@suse.com> In-Reply-To: X-Virus-Scanned: clamav-milter 1.0.3 at in-7.smtp.seeweb.it X-Virus-Status: Clean Subject: Re: [LTP] [PATCH v2] syscalls/set_thread_area01: Refactor into new API X-BeenThere: ltp@lists.linux.it X-Mailman-Version: 2.1.29 Precedence: list List-Id: Linux Test Project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: =?utf-8?b?UmljYXJkbyBCLiBNYXJsae+/ve+/vXJlIHZpYSBsdHA=?= Reply-To: "Ricardo B. Marlière" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" T24gVGh1IEFwciAzLCAyMDI1IGF0IDEwOjIyIEFNIC0wMywgQW5kcmVhIENlcnZlc2F0byB3cm90 ZToKPiBIaSBSaWNhcmRvLAo+Cj4gT24gNC8zLzI1IDE0OjM2LCBSaWNhcmRvIEIuIE1hcmxpw6hy ZSB2aWEgbHRwIHdyb3RlOgo+PiBGcm9tOiBSaWNhcmRvIEIuIE1hcmxpw6hyZSA8cmJtQHN1c2Uu Y29tPgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBSaWNhcmRvIEIuIE1hcmxpw6hyZSA8cmJtQHN1c2Uu Y29tPgo+PiAtLS0KPj4gQ2hhbmdlcyBpbiB2MjoKPj4gLSBVc2VkIHRzdF90ZXN0LnRlc3RfYWxs IGluc3RlYWQgb2YgLnRlc3QKPj4gLSBSZW1vdmVkIFZBTFVFX0FORF9TVFJJTkcgbWFjcm8KPj4g LSBBZGRlZCBsb2NhbCB3cmFwcGVycyB0byB0aGUgc3lzY2FsbHMKPj4gLSBGaXhlZCB0aGUgdGVz dCBkZXNjcmlwdGlvbgo+PiAtIEFkZGVkIGEgY29tbWVudCBxdW90ZSBmcm9tIHRoZSBzZXRfdGhy ZWFkX2FyZWEgbWFudWFsIHRvIGFkZCBjb250ZXh0Cj4+IC0gTGluayB0byB2MTogaHR0cHM6Ly9s b3JlLmtlcm5lbC5vcmcvYWxsLzIwMjUwMzI3LWNvbnZlcnNpb25zLW1vZGlmeV9sZHQtdjItNi0y OTA3ZDRkM2Y2YzBAc3VzZS5jb20KPj4gLS0tCj4+ICAgLi4uL3N5c2NhbGxzL3NldF90aHJlYWRf YXJlYS9zZXRfdGhyZWFkX2FyZWEuaCAgICAgfCAgMzEgLS0tLS0KPj4gICAuLi4vc3lzY2FsbHMv c2V0X3RocmVhZF9hcmVhL3NldF90aHJlYWRfYXJlYTAxLmMgICB8IDEzMyArKysrKysrLS0tLS0t LS0tLS0tLS0KPj4gICAyIGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDEyMSBkZWxl dGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0 X3RocmVhZF9hcmVhL3NldF90aHJlYWRfYXJlYS5oIGIvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxs cy9zZXRfdGhyZWFkX2FyZWEvc2V0X3RocmVhZF9hcmVhLmgKPj4gZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0Cj4+IGluZGV4IDJiZDI0NjlkNTQ5ZWNmOGM1YzU4OWEwYTk0ODVmODg2ZDA0M2Y3ZWQu LjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKPj4gLS0tIGEvdGVzdGNh c2VzL2tlcm5lbC9zeXNjYWxscy9zZXRfdGhyZWFkX2FyZWEvc2V0X3RocmVhZF9hcmVhLmgKPj4g KysrIC9kZXYvbnVsbAo+PiBAQCAtMSwzMSArMCwwIEBACj4+IC0jaW5jbHVkZSA8c3RkaW8uaD4K Pj4gLSNpbmNsdWRlIDxlcnJuby5oPgo+PiAtCj4+IC0vKiBIYXJuZXNzIFNwZWNpZmljIEluY2x1 ZGUgRmlsZXMuICovCj4+IC0jaW5jbHVkZSAidGVzdC5oIgo+PiAtI2luY2x1ZGUgImxhcGkvc3lz Y2FsbHMuaCIKPj4gLSNpbmNsdWRlICJjb25maWcuaCIKPj4gLQo+PiAtI2lmIGRlZmluZWQgSEFW RV9BU01fTERUX0gKPj4gLSNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KPj4gLSNpbmNsdWRlIDxh c20vbGR0Lmg+Cj4+IC0KPj4gLSNpZiBkZWZpbmVkIEhBVkVfU1RSVUNUX1VTRVJfREVTQwo+PiAt dHlwZWRlZiBzdHJ1Y3QgdXNlcl9kZXNjIHRocmVhZF9hcmVhX3M7Cj4+IC0jZWxpZiBkZWZpbmVk IEhBVkVfU1RSVUNUX01PRElGWV9MRFRfTERUX1MKPj4gLXR5cGVkZWYgc3RydWN0IG1vZGlmeV9s ZHRfbGR0X3MgdGhyZWFkX2FyZWFfczsKPj4gLSNlbHNlCj4+IC10eXBlZGVmIHN0cnVjdCB1c2Vy X2Rlc2Mgewo+PiAtCXVuc2lnbmVkIGludCBlbnRyeV9udW1iZXI7Cj4+IC0JdW5zaWduZWQgbG9u ZyBpbnQgYmFzZV9hZGRyOwo+PiAtCXVuc2lnbmVkIGludCBsaW1pdDsKPj4gLQl1bnNpZ25lZCBp bnQgc2VnXzMyYml0OjE7Cj4+IC0JdW5zaWduZWQgaW50IGNvbnRlbnRzOjI7Cj4+IC0JdW5zaWdu ZWQgaW50IHJlYWRfZXhlY19vbmx5OjE7Cj4+IC0JdW5zaWduZWQgaW50IGxpbWl0X2luX3BhZ2Vz OjE7Cj4+IC0JdW5zaWduZWQgaW50IHNlZ19ub3RfcHJlc2VudDoxOwo+PiAtCXVuc2lnbmVkIGlu dCB1c2VhYmxlOjE7Cj4+IC0JdW5zaWduZWQgaW50IGVtcHR5OjI1Owo+PiAtfSB0aHJlYWRfYXJl YV9zOwo+PiAtI2VuZGlmIC8qIEhBVkVfU1RSVUNUX1VTRVJfREVTQyAqLwo+PiAtI2VuZGlmIC8q IEhBVkVfQVNNX0xEVF9IICovCj4+IGRpZmYgLS1naXQgYS90ZXN0Y2FzZXMva2VybmVsL3N5c2Nh bGxzL3NldF90aHJlYWRfYXJlYS9zZXRfdGhyZWFkX2FyZWEwMS5jIGIvdGVzdGNhc2VzL2tlcm5l bC9zeXNjYWxscy9zZXRfdGhyZWFkX2FyZWEvc2V0X3RocmVhZF9hcmVhMDEuYwo+PiBpbmRleCAz MDYyNmQ1ZTkwZWJmOGUyMDYyNGMzNzBjYzQ0NzRjYjUxYTZiMTAyLi5iYThkOTBjODI2YzY2OGZk OTRlZGVjYjk1ZDEyMWVjN2M2YmJhYTA2IDEwMDY0NAo+PiAtLS0gYS90ZXN0Y2FzZXMva2VybmVs L3N5c2NhbGxzL3NldF90aHJlYWRfYXJlYS9zZXRfdGhyZWFkX2FyZWEwMS5jCj4+ICsrKyBiL3Rl c3RjYXNlcy9rZXJuZWwvc3lzY2FsbHMvc2V0X3RocmVhZF9hcmVhL3NldF90aHJlYWRfYXJlYTAx LmMKPj4gQEAgLTEsMTExICsxLDY0IEBACj4+IC0vKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgo+PiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAtb3ItbGF0ZXIKPj4gKy8qCj4+ICAgICogQ29w eXJpZ2h0IChjKSBDcmFja2VyamFjayBQcm9qZWN0LiwgMjAwNwo+PiAgICAqIENvcHlyaWdodCAo YykgTWFuYXMgS3VtYXIgTmF5YWsgPG1ha25heWFrQGluLmlibS5jb20+Cj4+ICAgICogQ29weXJp Z2h0IChjKSBDeXJpbCBIcnViaXMgPGNocnViaXNAc3VzZS5jej4gMjAxMQo+PiArICogQ29weXJp Z2h0IChjKSAyMDI1IFNVU0UgTExDIFJpY2FyZG8gQi4gTWFybGnDqHJlIDxyYm1Ac3VzZS5jb20+ Cj4+ICsgKi8KPj4gKwo+PiArLypcCj4+ICsgKiBCYXNpYyB0ZXN0IG9mIGkzODYgdGhyZWFkLWxv Y2FsIHN0b3JhZ2UgZm9yIHNldF90aHJlYWRfYXJlYSBhbmQKPj4gKyAqIGdldF90aHJlYWRfYXJl YSBzeXNjYWxscy4KPiBUaGlzIGlzIG5vdCBvbmx5IGEgYmFzaWMgdGVzdCwgYnV0IGFsc28gYSB0 ZXN0IHRoYXQgdmVyaWZpZXMgZXJyb3JzIGZvciAKPiBzZXRfdGhyZWFkX2FyZWEgYW5kIGdldF90 aHJlYWRfYXJlYSBzeXNjYWxscy4KPj4gICAgKgo+PiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUg c29mdHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4+IC0gKiBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1 Ymxpc2hlZCBieQo+PiAtICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZl cnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKPj4gLSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxh dGVyIHZlcnNpb24uCj4+IC0gKgo+PiAtICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCj4+IC0gKiBidXQgV0lUSE9VVCBBTlkg V0FSUkFOVFk7ICB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPj4gLSAqIE1F UkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZQo+ PiAtICogdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCj4+ IC0gKgo+PiAtICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UKPj4gLSAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyAgaWYg bm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQo+PiAtICogRm91bmRhdGlvbiwgSW5jLiwg NTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVT QQo+PiArICogW0FsZ29yaXRobV0KPj4gICAgKgo+PiAtICoqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KPj4gKyAq IFRoZSB0ZXN0IHdpbGwgZmlyc3QgY2FsbCBzZXRfdGhyZWFkX2FyZWEgdG8gYSBzdHJ1Y3QgdXNl cl9kZXNjIHBvaW50ZXIgd2l0aAo+PiArICogZW50cnlfbnVtYmVyID0gLTEsIHdoaWNoIHdpbGwg YmUgc2V0IHRvIGEgZnJlZSBlbnRyeV9udW1iZXIgdXBvbiBleGl0aW5nLgo+PiArICogVGhlcmVm b3JlLCBhIHN1YnNlcXVlbnQgY2FsbCB0byBnZXRfdGhyZWFkX2FyZWEgdXNpbmcgdGhlIHNhbWUg cG9pbnRlciB3aWxsCj4+ICsgKiBiZSB2YWxpZC4gVGhlIHNhbWUgcHJvY2VzcyBpcyBkb25lIGJ1 dCB1c2luZyAtMiBpbnN0ZWFkLCB3aGljaCByZXR1cm5zIEVJTlZBTAo+PiArICogdG8gYm90aCBj YWxscy4gRmluYWxseSwgaXQncyBkb25lIG9uZSBtb3JlIHRpbWUgYnV0IHRvIGFuIGludmFsaWQg cG9pbnRlciBhbmQKPj4gKyAqIHRoZXJlZm9yZSBhbiBFRkFVTFQgaXMgcmV0dXJuZWQuCj4gSXQn cyB1c3VhbGx5IGJldHRlciB0byBkZXNjcmliZSB0aGUgYWxnb3JpdGhtIHVzaW5nIGRvdHRlZCBs aXN0LCBzbyBpdCdzIAo+IGVhc2llciB0byByZWFkLgoKQWNrLgoKPj4gKyAqLwo+PiAgIAo+PiAt I2luY2x1ZGUgInNldF90aHJlYWRfYXJlYS5oIgo+PiArI2luY2x1ZGUgInRzdF90ZXN0LmgiCj4+ ICAgCj4+IC1jaGFyICpUQ0lEID0gInNldF90aHJlYWRfYXJlYV8wMSI7Cj4+IC1pbnQgVFNUX1RP VEFMID0gNjsKPj4gKyNpZmRlZiBfX2kzODZfXwo+PiArI2luY2x1ZGUgImxhcGkvbGR0LmgiCj4+ ICAgCj4+IC0jaWYgZGVmaW5lZChIQVZFX0FTTV9MRFRfSCkgJiYgZGVmaW5lZChIQVZFX1NUUlVD VF9VU0VSX0RFU0MpCj4+ICsvKiBXaGVuIHNldF90aHJlYWRfYXJlYSgpIGlzIHBhc3NlZCBhbiBl bnRyeV9udW1iZXIgb2YgLTEsIGl0ICBzZWFyY2hlcwo+PiArICogZm9yIGEgZnJlZSBUTFMgZW50 cnkuIElmIHNldF90aHJlYWRfYXJlYSgpIGZpbmRzIGEgZnJlZSBUTFMgZW50cnksCj4+ICsgKiB0 aGUgdmFsdWUgb2YgdV9pbmZvLT5lbnRyeV9udW1iZXIgaXMgc2V0IHVwb24gcmV0dXJuIHRvIHNo b3cgd2hpY2gKPj4gKyAqIGVudHJ5IHdhcyBjaGFuZ2VkLgo+PiArICovCj4+ICtzdGF0aWMgc3Ry dWN0IHVzZXJfZGVzYyBlbnRyeSA9IHsgLmVudHJ5X251bWJlciA9IC0xIH07Cj4+ICtzdGF0aWMg c3RydWN0IHVzZXJfZGVzYyBpbnZhbGlkX2VudHJ5ID0geyAuZW50cnlfbnVtYmVyID0gLTIgfTsK Pj4gICAKPj4gLXN0YXRpYyB2b2lkIGNsZWFudXAodm9pZCkKPj4gK3N0YXRpYyBpbnQgc2V0X3Ro cmVhZF9hcmVhKGNvbnN0IHN0cnVjdCB1c2VyX2Rlc2MgKmVudHJ5KQo+PiAgIHsKPj4gKwlyZXR1 cm4gdHN0X3N5c2NhbGwoX19OUl9zZXRfdGhyZWFkX2FyZWEsIGVudHJ5KTsKPj4gICB9Cj4+ICAg Cj4+IC1zdGF0aWMgdm9pZCBzZXR1cCh2b2lkKQo+PiArc3RhdGljIGludCBnZXRfdGhyZWFkX2Fy ZWEoY29uc3Qgc3RydWN0IHVzZXJfZGVzYyAqZW50cnkpCj4+ICAgewo+PiAtCVRFU1RfUEFVU0U7 Cj4+ICsJcmV0dXJuIHRzdF9zeXNjYWxsKF9fTlJfZ2V0X3RocmVhZF9hcmVhLCBlbnRyeSk7Cj4+ ICAgfQo+PiAgIAo+PiAtc3RydWN0IHRlc3Qgewo+PiAtCWludCBzeXNjYWxsOwo+PiAtCWNvbnN0 IGNoYXIgKmNvbnN0IHN5c2NhbGxfbmFtZTsKPj4gLQl0aHJlYWRfYXJlYV9zICp1X2luZm87Cj4+ IC0JaW50IGV4cF9yZXQ7Cj4+IC0JaW50IGV4cF9lcnJubzsKPj4gLX07Cj4+IC0KPj4gLS8qCj4+ IC0gKiBUaGUgc2V0X3RocmVhZF9hcmVhIHVzZXMgYSBmcmVlIGVudHJ5X251bWJlciBpZiBlbnRy eSBudW1iZXIgaXMgc2V0IHRvIC0xCj4+IC0gKiBhbmQgdXBvbiB0aGUgc3lzY2FsbCBleGl0IHRo ZSBlbnRyeSBudW1iZXIgaXMgc2V0IHRvIGVudHJ5IHdoaWNoIHdhcyB1c2VkLgo+PiAtICogU28g d2hlbiB3ZSBjYWxsIGdldF90aHJlYWRfYXJlYSBvbiB1X2luZm8xLCB0aGUgZW50cnkgbnVtYmVy IGlzIGluaXRhbGl6ZWQKPj4gLSAqIGNvcmVjdGx5IGJ5IHRoZSBwcmV2aW91cyBzZXRfdGhyZWFk X2FyZWEuCj4+IC0gKi8KPj4gLXN0YXRpYyBzdHJ1Y3QgdXNlcl9kZXNjIHVfaW5mbzEgPSB7LmVu dHJ5X251bWJlciA9IC0xIH07Cj4+IC1zdGF0aWMgc3RydWN0IHVzZXJfZGVzYyB1X2luZm8yID0g ey5lbnRyeV9udW1iZXIgPSAtMiB9Owo+PiAtCj4+IC0jZGVmaW5lIFZBTFVFX0FORF9TVFJJTkco dmFsKSB2YWwsICN2YWwKPj4gLQo+PiAtc3RhdGljIHN0cnVjdCB0ZXN0IHRlc3RzW10gPSB7Cj4+ IC0Je1ZBTFVFX0FORF9TVFJJTkcoX19OUl9zZXRfdGhyZWFkX2FyZWEpLCAmdV9pbmZvMSwgMCwg MH0sCj4+IC0Je1ZBTFVFX0FORF9TVFJJTkcoX19OUl9nZXRfdGhyZWFkX2FyZWEpLCAmdV9pbmZv MSwgMCwgMH0sCj4+IC0Je1ZBTFVFX0FORF9TVFJJTkcoX19OUl9zZXRfdGhyZWFkX2FyZWEpLCAm dV9pbmZvMiwgLTEsIEVJTlZBTH0sCj4+IC0Je1ZBTFVFX0FORF9TVFJJTkcoX19OUl9nZXRfdGhy ZWFkX2FyZWEpLCAmdV9pbmZvMiwgLTEsIEVJTlZBTH0sCj4+IC0Je1ZBTFVFX0FORF9TVFJJTkco X19OUl9zZXRfdGhyZWFkX2FyZWEpLCAodm9pZCAqKS05LCAtMSwgRUZBVUxUfSwKPj4gLQl7VkFM VUVfQU5EX1NUUklORyhfX05SX2dldF90aHJlYWRfYXJlYSksICh2b2lkICopLTksIC0xLCBFRkFV TFR9LAo+PiAtfTsKPgo+IFRoaXMgd2FzIGEgZ29vZCBpZGVhLCBidXQgdGhlIGltcGxlbWVudGF0 aW9uIGRvZXNuJ3QgZml0IHdpdGggdGhlIExUUCAKPiBBUEkuIFRlc3QgY2FzZXMgaW4gb3VyIHNj ZW5hcmlvIG1pZ2h0IGltcHJvdmUgcmVhZGFiaWxpdHkuIEluIAo+IHBhcnRpY3VsYXIsIHdlIGNh biBkbyBzb21ldGhpbmcgbGlrZSB0aGlzOgo+Cj4gLSBkZWZpbmUgMiB2YXJpYW50IGZvciB0aGUg dGVzdCAoY2hlY2sgdHN0X3ZhcmlhbnQpLiBUaGUgZmlyc3QgdmFyaWFudCAKPiB3aWxsIGNhbGwg c2V0X3RocmVhZF9hcmVhIGFuZCB0aGUgc2Vjb25kIHdpbGwgY2FsbCBnZXRfdGhyZWFkX2FyZWEK PiAtIGRlZmluZSAyIHRlc3QgY2FzZXMuIFRoZSBmaXJzdCB3aWxsIHNldCBpbnB1dCB2YWx1ZSB0 byBnZW5lcmF0ZSBhIAo+IEVJTlZBTCBhbmQgdGhlIHNlY29uIHdpbGwgc2V0IGlucHV0IHZhbHVl IHRvIGdlbmVyYXRlIEVGQVVMVAo+Cj4gQW5kIHRoaXMgaXMgdGhlIGZpcnN0IHRlc3QgdGhhdCB3 aWxsIGNoZWNrIGZvciBlcnJvcnMgb25seTogaXQgd2lsbCBydW4gCj4gYm90aCBlcnJvciB0ZXN0 cyBmb3Igc2V0X3RocmVhZF9hcmVhIGFuZCBnZXRfdGhyZWFkX2FyZWEuIFRoZSBzZWNvbmQgCj4g dGVzdCBpcyBvbmx5IGNhbGxpbmcgc2V0K2dldCBhbmQgdmVyaWZ5IHRoYXQgd2UgaGF2ZSBUUEFT UyBmcm9tIHN5c2NhbGxzIAo+IGFuZCBkYXRhIHNldCBpcyBlcXVpdmFsZW50IHRvIGRhdGEgcmVh ZC4KPgo+IEluIHRoaXMgd2F5IHdlIGNhbiBvcmdhbml6ZSB0aGUgdGVzdGluZyBzdWl0ZSBwcm9w ZXJseSBhbmQgc3BsaXQgZXJyb3JzIAo+IGZyb20gYmFzZSBmdW5jdGlvbmFsaXRpZXMgYXMgd2Ug ZG8gaW4gdGhlIG90aGVyIHRlc3Rpbmcgc3VpdGVzLiBXRFlUPwo+CgpPdmVyYWxsLCBpdCBtYWtl cyBzZW5zZSB0byBtZS4gSSdtIG5vdCB5ZXQgZmFtaWxpYXIgd2l0aCB0c3RfdmFyaWFudCBidXQK ZnJvbSBhIHF1aWNrIGdsYW5jZSBpdCBzZWVtcyB0byBiZSBhIGdvb2QgaWRlYSBpbiB0aGlzIHRl c3QuIEknbGwgZ2l2ZQppdCBhIHRyeS4KCj4+IC0KPj4gLWludCBtYWluKGludCBhcmdjLCBjaGFy ICphcmd2W10pCj4+ICt2b2lkIHJ1bih2b2lkKQo+PiAgIHsKPj4gLQlpbnQgbGM7Cj4+IC0JdW5z aWduZWQgaTsKPj4gLQo+PiAtCXRzdF9wYXJzZV9vcHRzKGFyZ2MsIGFyZ3YsIE5VTEwsIE5VTEwp Owo+PiAtCj4+IC0Jc2V0dXAoKTsKPj4gLQo+PiAtCWZvciAobGMgPSAwOyBURVNUX0xPT1BJTkco bGMpOyBsYysrKSB7Cj4+IC0JCWZvciAoaSA9IDA7IGkgPCBzaXplb2YodGVzdHMpIC8gc2l6ZW9m KHN0cnVjdCB0ZXN0KTsgaSsrKSB7Cj4+IC0JCQlURVNUKHRzdF9zeXNjYWxsKHRlc3RzW2ldLnN5 c2NhbGwsIHRlc3RzW2ldLnVfaW5mbykpOwo+PiArCVRTVF9FWFBfUEFTUyhzZXRfdGhyZWFkX2Fy ZWEoJmVudHJ5KSk7Cj4+ICsJVFNUX0VYUF9QQVNTKGdldF90aHJlYWRfYXJlYSgmZW50cnkpKTsK Pj4gICAKPj4gLQkJCWlmIChURVNUX1JFVFVSTiAhPSB0ZXN0c1tpXS5leHBfcmV0KSB7Cj4+IC0J CQkJdHN0X3Jlc20oVEZBSUwsICIlcyByZXR1cm5lZCAlbGkgZXhwZWN0ZWQgJWkiLAo+PiAtCQkJ CQkgdGVzdHNbaV0uc3lzY2FsbF9uYW1lLAo+PiAtCQkJCQkgVEVTVF9SRVRVUk4sIHRlc3RzW2ld LmV4cF9yZXQpOwo+PiAtCQkJCWNvbnRpbnVlOwo+PiAtCQkJfQo+PiArCVRTVF9FWFBfRkFJTChz ZXRfdGhyZWFkX2FyZWEoJmludmFsaWRfZW50cnkpLCBFSU5WQUwpOwo+PiArCVRTVF9FWFBfRkFJ TChnZXRfdGhyZWFkX2FyZWEoJmludmFsaWRfZW50cnkpLCBFSU5WQUwpOwo+PiAgIAo+PiAtCQkJ aWYgKFRFU1RfRVJSTk8gIT0gdGVzdHNbaV0uZXhwX2Vycm5vKSB7Cj4+IC0JCQkJdHN0X3Jlc20o VEZBSUwsCj4+IC0JCQkJCSAiJXMgZmFpbGVkIHdpdGggJWkgKCVzKSBleHBlY3RlZCAlaSAoJXMp IiwKPj4gLQkJCQkJIHRlc3RzW2ldLnN5c2NhbGxfbmFtZSwgVEVTVF9FUlJOTywKPj4gLQkJCQkJ IHN0cmVycm9yKFRFU1RfRVJSTk8pLAo+PiAtCQkJCQkgdGVzdHNbaV0uZXhwX2Vycm5vLAo+PiAt CQkJCQkgc3RyZXJyb3IodGVzdHNbaV0uZXhwX2Vycm5vKSk7Cj4+IC0JCQkJY29udGludWU7Cj4+ IC0JCQl9Cj4+ICsJVFNUX0VYUF9GQUlMKHNldF90aHJlYWRfYXJlYSgodm9pZCAqKS05KSwgRUZB VUxUKTsKPj4gKwlUU1RfRVhQX0ZBSUwoZ2V0X3RocmVhZF9hcmVhKCh2b2lkICopLTkpLCBFRkFV TFQpOwo+PiArfQo+PiAgIAo+PiAtCQkJdHN0X3Jlc20oVFBBU1MsICIlcyByZXR1cm5lZCAlbGkg ZXJybm8gJWkgKCVzKSIsCj4+IC0JCQkJIHRlc3RzW2ldLnN5c2NhbGxfbmFtZSwgVEVTVF9SRVRV Uk4sCj4+IC0JCQkJIFRFU1RfRVJSTk8sIHN0cmVycm9yKFRFU1RfRVJSTk8pKTsKPj4gLQkJfQo+ PiAtCX0KPj4gK3N0YXRpYyBzdHJ1Y3QgdHN0X3Rlc3QgdGVzdCA9IHsKPj4gKwkudGVzdF9hbGwg PSBydW4sCj4+ICt9Owo+PiAgIAo+PiAtCWNsZWFudXAoKTsKPj4gLQl0c3RfZXhpdCgpOwo+PiAt fQo+PiAgICNlbHNlCj4+IC1pbnQgbWFpbih2b2lkKQo+PiAtewo+PiAtCXRzdF9icmttKFRDT05G LCBOVUxMLAo+PiAtCQkgInNldF90aHJlYWRfYXJlYSBpc24ndCBhdmFpbGFibGUgZm9yIHRoaXMg YXJjaGl0ZWN0dXJlIik7Cj4+IC19Cj4+IC0jZW5kaWYKPj4gK1RTVF9URVNUX1RDT05GKCJUZXN0 IHN1cHBvcnRlZCBvbmx5IG9uIGkzODYiKTsKPj4gKyNlbmRpZiAvKiBfX2kzODZfXyAqLwo+Pgo+ PiAtLS0KPj4gYmFzZS1jb21taXQ6IDg5OGNjMTRhZDQxMmZiNTIxODY3YjQzZmVkNWM0ZTA2N2I3 NmY4MDkKPiBUaGlzIGlzIGEgc3VwZXIgY29vbCBmZWF0dXJlIGZyb20gYjQgOi0pCgpJbmRlZWQg OikKCj4+IGNoYW5nZS1pZDogMjAyNTA0MDMtY29udmVyc2lvbnMtc2V0X3RocmVhZF9hcmVhLTA3 YTkwZTBjZDQ0OQo+PiBwcmVyZXF1aXNpdGUtbWVzc2FnZS1pZDogPDIwMjUwNDAyLWNvbnZlcnNp b25zLW1vZGlmeV9sZHQtdjYtMC0yZTRiMGUyNzg3MGVAc3VzZS5jb20+Cj4+IHByZXJlcXVpc2l0 ZS1wYXRjaC1pZDogNDkwYTNlNmJjNDAwNGRiNTIzNDIyNGI2ZmQ2ZDRiZjUwMzBiMjE5ZAo+PiBw cmVyZXF1aXNpdGUtcGF0Y2gtaWQ6IDk2MmJiODE1NDQ0ZWIyZGU5NzU2ZGQyNjU5ZTA5NzU2N2I2 ZDZmZTgKPj4gcHJlcmVxdWlzaXRlLXBhdGNoLWlkOiBhODM1N2ZiODcwYThkNzI3OGUyMDZiNGZj NjVmMWQ5NDUwZmVlODAyCj4+Cj4+IEJlc3QgcmVnYXJkcywKPiBLaW5kIHJlZ2FyZHMsCj4gQW5k cmVhIENlcnZlc2F0bwoKVGhhbmtzIGZvciByZXZpZXdpbmcsCi0JUmljYXJkby4KCgoKLS0gCk1h aWxpbmcgbGlzdCBpbmZvOiBodHRwczovL2xpc3RzLmxpbnV4Lml0L2xpc3RpbmZvL2x0cAo=