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 73157C3600C for ; Thu, 3 Apr 2025 13:23:12 +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=1743686590; h=message-id : date : mime-version : to : references : in-reply-to : subject : list-id : list-unsubscribe : list-archive : list-post : list-help : list-subscribe : from : reply-to : content-transfer-encoding : content-type : sender : from; bh=brVHdOYnLZRFHgVwWeUF963c9eP1ArjGfG7JKxXt4cY=; b=DKOGhjl1ggP16MympsqRnQW7ffjBwPi332i9UAhQJONMYqSqeMlnthDJRh911nLTX+b8c rYZ3WilR0w6VH3lqqp8zKkCS3Ck12sqOt+kV6C4e+cbpHnTuTrf49PJgQwLTCkdRp3gfmyV hgUDpTjRX/xbxhqiDjKb6fwYnklnKeI= Received: from picard.linux.it (localhost [IPv6:::1]) by picard.linux.it (Postfix) with ESMTP id 4B2E73CB288 for ; Thu, 3 Apr 2025 15:23:10 +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 ESMTPS id C78013CB269 for ; Thu, 3 Apr 2025 15:22:48 +0200 (CEST) Received: from mail-wm1-x32d.google.com (mail-wm1-x32d.google.com [IPv6:2a00:1450:4864:20::32d]) (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 ESMTPS id 8033A2005E7 for ; Thu, 3 Apr 2025 15:22:47 +0200 (CEST) Received: by mail-wm1-x32d.google.com with SMTP id 5b1f17b1804b1-43cf58eea0fso4414675e9.0 for ; Thu, 03 Apr 2025 06:22:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=google; t=1743686567; x=1744291367; darn=lists.linux.it; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id:from :to:cc:subject:date:message-id:reply-to; bh=blxj6lMAZCFa194Nc/lW9JAvh0Cybmbv/soZaJb2CQ8=; b=In9qOEACZS9sTtEOjaqVd1tQZuwNlCeAlpvJ1I8H8ojwb9dUlH+3UORF6gcqzl2ICI V42a0ERe4JYJDOh779nyu7YwlrQ66J8ttgcz/YLzPEvViDslOUUrCP7WB6uIMS31S8Vq frSnrr0Y/R+CJdyTDUbh+m/lr79lDj7ZV10O1JSZLo1IfN0E6g57iW8Eyof5YNsel7P1 hcMV1bbbU2t/ZvXxZRIoXWCH54jsTcaK6VtoQTCT+Nf1LpxRcFYFlnTVrB+nZWZL2MkD SGEzAJsVjx+O9/SEB5ncdBFcS41X+gAAM5qFTRiSP0Z2fYh/yjSIZKaeIr4exA1SVQQj t4RQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1743686567; x=1744291367; h=content-transfer-encoding:in-reply-to:from:content-language :references:to:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=blxj6lMAZCFa194Nc/lW9JAvh0Cybmbv/soZaJb2CQ8=; b=UXOW3njhThFbewZpJRlkzTxPy/8cdN+0pxEHGP7ZWSkNSa4UGN3B91NqkfY8dY/mNg jc4RAY7ZdgNX/ISLPbBib/M28hX0QXhgwYGXgmOtsGc0ovkCcLHPaXOzvgDMR9gmZ4Xt 7a4n9jzZHKqbYhyp93W3J+Ucc126BuEG/7dBg7wjgeVinu6jLlwvy7pU0iiDDeZzjMB/ kaoUoEmHYFhPuPExzKpCdjq2tQggzP5Ro+lDpHgH69JtD1m+LXeQGKU+FVYFDEcZCS/y D8hYKsU2alor0yKe7sLNxIpZpRgUHjO7yfiEChaAkGtXH4GjngUAo1XYcUNWHZ6odd3u vCIA== X-Forwarded-Encrypted: i=1; AJvYcCVx9hYcIqM7NlwBcrFtRmE1sMnD0YSGUydeP16qc9yk4ZiSTFU0tKe79VHEZuCUdqDDp4o=@lists.linux.it X-Gm-Message-State: AOJu0YwbtpW3CbXoHY8p+dIcIGUFfqimh1uGFsOmIdmVbYojepgHH14u 8RcjVDOLTNgty6d6om1ebGGuduAXrw43IRaRI55e+s9VtrxCXctg9La3ukc+BzA= X-Gm-Gg: ASbGncvDzlDpDn36GJUuLjMOCnvKtu9JyUxz/ta3Jx5wB8fi1wGd5GErWyhvKQZI9fP zJoU2ASFCWFuvNb/thBGxBaUsR+9zJe/k94FUEX3mcVKf2uxELxAPb3FsIIjW5abEyWTGDEaaQl dEfaIMvRDULp1FMVs3TKNy6gYBAEYEu33Ut1Fk+b7Rq/7kzXpY0/Yvn7iMlD/7mKLF3ZdDCezLG h02W4OaUHB+ZwAWj8FVdZfrqCrPfrOJRLaCfNLwuqXofl05PD7fAgOVXywFDq8dkXL3w6fGFpsZ 2YGxs3JDPCPKB5Z5g73qzwhoe+Ch2iMbX+nlRqeA6NWVr8iMaFY/JObPd25+r+5+dWEBfQ8i55l eGxKgIClG0bikbj2TR5lirCEMXLE= X-Google-Smtp-Source: AGHT+IGrVmesOwhGruxHRJ53Ca3ly1mLEUPAkyvtSpaCoLW6XSnh97zS/JjPTsga/9kc3TWbqrfing== X-Received: by 2002:a05:600c:4e56:b0:43d:49eb:963f with SMTP id 5b1f17b1804b1-43ec44387c8mr21870875e9.24.1743686566626; Thu, 03 Apr 2025 06:22:46 -0700 (PDT) Received: from ?IPV6:2a02:a31b:84a1:b780:5af0:a75d:357e:866e? ([2a02:a31b:84a1:b780:5af0:a75d:357e:866e]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-43ec1698081sm21690495e9.17.2025.04.03.06.22.45 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Thu, 03 Apr 2025 06:22:46 -0700 (PDT) Message-ID: Date: Thu, 3 Apr 2025 15:22:45 +0200 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird To: =?UTF-8?Q?Ricardo_B=2E_Marli=C3=A8re?= , Linux Test Project References: <20250403-conversions-set_thread_area-v2-1-a177e5c2b28d@suse.com> Content-Language: en-US In-Reply-To: <20250403-conversions-set_thread_area-v2-1-a177e5c2b28d@suse.com> 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: Andrea Cervesato via ltp Reply-To: Andrea Cervesato Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: ltp-bounces+ltp=archiver.kernel.org@lists.linux.it Sender: "ltp" SGkgUmljYXJkbywKCk9uIDQvMy8yNSAxNDozNiwgUmljYXJkbyBCLiBNYXJsacOocmUgdmlhIGx0 cCB3cm90ZToKPiBGcm9tOiBSaWNhcmRvIEIuIE1hcmxpw6hyZSA8cmJtQHN1c2UuY29tPgo+Cj4g U2lnbmVkLW9mZi1ieTogUmljYXJkbyBCLiBNYXJsacOocmUgPHJibUBzdXNlLmNvbT4KPiAtLS0K PiBDaGFuZ2VzIGluIHYyOgo+IC0gVXNlZCB0c3RfdGVzdC50ZXN0X2FsbCBpbnN0ZWFkIG9mIC50 ZXN0Cj4gLSBSZW1vdmVkIFZBTFVFX0FORF9TVFJJTkcgbWFjcm8KPiAtIEFkZGVkIGxvY2FsIHdy YXBwZXJzIHRvIHRoZSBzeXNjYWxscwo+IC0gRml4ZWQgdGhlIHRlc3QgZGVzY3JpcHRpb24KPiAt IEFkZGVkIGEgY29tbWVudCBxdW90ZSBmcm9tIHRoZSBzZXRfdGhyZWFkX2FyZWEgbWFudWFsIHRv IGFkZCBjb250ZXh0Cj4gLSBMaW5rIHRvIHYxOiBodHRwczovL2xvcmUua2VybmVsLm9yZy9hbGwv MjAyNTAzMjctY29udmVyc2lvbnMtbW9kaWZ5X2xkdC12Mi02LTI5MDdkNGQzZjZjMEBzdXNlLmNv bQo+IC0tLQo+ICAgLi4uL3N5c2NhbGxzL3NldF90aHJlYWRfYXJlYS9zZXRfdGhyZWFkX2FyZWEu aCAgICAgfCAgMzEgLS0tLS0KPiAgIC4uLi9zeXNjYWxscy9zZXRfdGhyZWFkX2FyZWEvc2V0X3Ro cmVhZF9hcmVhMDEuYyAgIHwgMTMzICsrKysrKystLS0tLS0tLS0tLS0tLQo+ICAgMiBmaWxlcyBj aGFuZ2VkLCA0MyBpbnNlcnRpb25zKCspLCAxMjEgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0 IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9zZXRfdGhyZWFkX2FyZWEvc2V0X3RocmVhZF9h cmVhLmggYi90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NldF90aHJlYWRfYXJlYS9zZXRfdGhy ZWFkX2FyZWEuaAo+IGRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4IDJiZDI0NjlkNTQ5 ZWNmOGM1YzU4OWEwYTk0ODVmODg2ZDA0M2Y3ZWQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAKPiAtLS0gYS90ZXN0Y2FzZXMva2VybmVsL3N5c2NhbGxzL3NldF90aHJl YWRfYXJlYS9zZXRfdGhyZWFkX2FyZWEuaAo+ICsrKyAvZGV2L251bGwKPiBAQCAtMSwzMSArMCww IEBACj4gLSNpbmNsdWRlIDxzdGRpby5oPgo+IC0jaW5jbHVkZSA8ZXJybm8uaD4KPiAtCj4gLS8q IEhhcm5lc3MgU3BlY2lmaWMgSW5jbHVkZSBGaWxlcy4gKi8KPiAtI2luY2x1ZGUgInRlc3QuaCIK PiAtI2luY2x1ZGUgImxhcGkvc3lzY2FsbHMuaCIKPiAtI2luY2x1ZGUgImNvbmZpZy5oIgo+IC0K PiAtI2lmIGRlZmluZWQgSEFWRV9BU01fTERUX0gKPiAtI2luY2x1ZGUgPGxpbnV4L3VuaXN0ZC5o Pgo+IC0jaW5jbHVkZSA8YXNtL2xkdC5oPgo+IC0KPiAtI2lmIGRlZmluZWQgSEFWRV9TVFJVQ1Rf VVNFUl9ERVNDCj4gLXR5cGVkZWYgc3RydWN0IHVzZXJfZGVzYyB0aHJlYWRfYXJlYV9zOwo+IC0j ZWxpZiBkZWZpbmVkIEhBVkVfU1RSVUNUX01PRElGWV9MRFRfTERUX1MKPiAtdHlwZWRlZiBzdHJ1 Y3QgbW9kaWZ5X2xkdF9sZHRfcyB0aHJlYWRfYXJlYV9zOwo+IC0jZWxzZQo+IC10eXBlZGVmIHN0 cnVjdCB1c2VyX2Rlc2Mgewo+IC0JdW5zaWduZWQgaW50IGVudHJ5X251bWJlcjsKPiAtCXVuc2ln bmVkIGxvbmcgaW50IGJhc2VfYWRkcjsKPiAtCXVuc2lnbmVkIGludCBsaW1pdDsKPiAtCXVuc2ln bmVkIGludCBzZWdfMzJiaXQ6MTsKPiAtCXVuc2lnbmVkIGludCBjb250ZW50czoyOwo+IC0JdW5z aWduZWQgaW50IHJlYWRfZXhlY19vbmx5OjE7Cj4gLQl1bnNpZ25lZCBpbnQgbGltaXRfaW5fcGFn ZXM6MTsKPiAtCXVuc2lnbmVkIGludCBzZWdfbm90X3ByZXNlbnQ6MTsKPiAtCXVuc2lnbmVkIGlu dCB1c2VhYmxlOjE7Cj4gLQl1bnNpZ25lZCBpbnQgZW1wdHk6MjU7Cj4gLX0gdGhyZWFkX2FyZWFf czsKPiAtI2VuZGlmIC8qIEhBVkVfU1RSVUNUX1VTRVJfREVTQyAqLwo+IC0jZW5kaWYgLyogSEFW RV9BU01fTERUX0ggKi8KPiBkaWZmIC0tZ2l0IGEvdGVzdGNhc2VzL2tlcm5lbC9zeXNjYWxscy9z ZXRfdGhyZWFkX2FyZWEvc2V0X3RocmVhZF9hcmVhMDEuYyBiL3Rlc3RjYXNlcy9rZXJuZWwvc3lz Y2FsbHMvc2V0X3RocmVhZF9hcmVhL3NldF90aHJlYWRfYXJlYTAxLmMKPiBpbmRleCAzMDYyNmQ1 ZTkwZWJmOGUyMDYyNGMzNzBjYzQ0NzRjYjUxYTZiMTAyLi5iYThkOTBjODI2YzY2OGZkOTRlZGVj Yjk1ZDEyMWVjN2M2YmJhYTA2IDEwMDY0NAo+IC0tLSBhL3Rlc3RjYXNlcy9rZXJuZWwvc3lzY2Fs bHMvc2V0X3RocmVhZF9hcmVhL3NldF90aHJlYWRfYXJlYTAxLmMKPiArKysgYi90ZXN0Y2FzZXMv a2VybmVsL3N5c2NhbGxzL3NldF90aHJlYWRfYXJlYS9zZXRfdGhyZWFkX2FyZWEwMS5jCj4gQEAg LTEsMTExICsxLDY0IEBACj4gLS8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBHUEwtMi4wLW9yLWxhdGVyCj4gKy8qCj4gICAgKiBDb3B5cmlnaHQgKGMpIENy YWNrZXJqYWNrIFByb2plY3QuLCAyMDA3Cj4gICAgKiBDb3B5cmlnaHQgKGMpIE1hbmFzIEt1bWFy IE5heWFrIDxtYWtuYXlha0Bpbi5pYm0uY29tPgo+ICAgICogQ29weXJpZ2h0IChjKSBDeXJpbCBI cnViaXMgPGNocnViaXNAc3VzZS5jej4gMjAxMQo+ICsgKiBDb3B5cmlnaHQgKGMpIDIwMjUgU1VT RSBMTEMgUmljYXJkbyBCLiBNYXJsacOocmUgPHJibUBzdXNlLmNvbT4KPiArICovCj4gKwo+ICsv KlwKPiArICogQmFzaWMgdGVzdCBvZiBpMzg2IHRocmVhZC1sb2NhbCBzdG9yYWdlIGZvciBzZXRf dGhyZWFkX2FyZWEgYW5kCj4gKyAqIGdldF90aHJlYWRfYXJlYSBzeXNjYWxscy4KVGhpcyBpcyBu b3Qgb25seSBhIGJhc2ljIHRlc3QsIGJ1dCBhbHNvIGEgdGVzdCB0aGF0IHZlcmlmaWVzIGVycm9y cyBmb3IgCnNldF90aHJlYWRfYXJlYSBhbmQgZ2V0X3RocmVhZF9hcmVhIHN5c2NhbGxzLgo+ICAg ICoKPiAtICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7ICB5b3UgY2FuIHJlZGlzdHJp YnV0ZSBpdCBhbmQvb3IgbW9kaWZ5Cj4gLSAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Cj4gLSAqIHRoZSBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCj4g LSAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCj4gLSAqCj4gLSAqIFRoaXMg cHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs LAo+IC0gKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7ICB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKPiAtICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS VElDVUxBUiBQVVJQT1NFLiAgU2VlCj4gLSAqIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBmb3IgbW9yZSBkZXRhaWxzLgo+IC0gKgo+IC0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQg YSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQo+IC0gKiBhbG9uZyB3aXRo IHRoaXMgcHJvZ3JhbTsgIGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKPiAtICog Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9u LCBNQSAwMjExMC0xMzAxIFVTQQo+ICsgKiBbQWxnb3JpdGhtXQo+ICAgICoKPiAtICoqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKi8KPiArICogVGhlIHRlc3Qgd2lsbCBmaXJzdCBjYWxsIHNldF90aHJlYWRfYXJlYSB0 byBhIHN0cnVjdCB1c2VyX2Rlc2MgcG9pbnRlciB3aXRoCj4gKyAqIGVudHJ5X251bWJlciA9IC0x LCB3aGljaCB3aWxsIGJlIHNldCB0byBhIGZyZWUgZW50cnlfbnVtYmVyIHVwb24gZXhpdGluZy4K PiArICogVGhlcmVmb3JlLCBhIHN1YnNlcXVlbnQgY2FsbCB0byBnZXRfdGhyZWFkX2FyZWEgdXNp bmcgdGhlIHNhbWUgcG9pbnRlciB3aWxsCj4gKyAqIGJlIHZhbGlkLiBUaGUgc2FtZSBwcm9jZXNz IGlzIGRvbmUgYnV0IHVzaW5nIC0yIGluc3RlYWQsIHdoaWNoIHJldHVybnMgRUlOVkFMCj4gKyAq IHRvIGJvdGggY2FsbHMuIEZpbmFsbHksIGl0J3MgZG9uZSBvbmUgbW9yZSB0aW1lIGJ1dCB0byBh biBpbnZhbGlkIHBvaW50ZXIgYW5kCj4gKyAqIHRoZXJlZm9yZSBhbiBFRkFVTFQgaXMgcmV0dXJu ZWQuCkl0J3MgdXN1YWxseSBiZXR0ZXIgdG8gZGVzY3JpYmUgdGhlIGFsZ29yaXRobSB1c2luZyBk b3R0ZWQgbGlzdCwgc28gaXQncyAKZWFzaWVyIHRvIHJlYWQuCj4gKyAqLwo+ICAgCj4gLSNpbmNs dWRlICJzZXRfdGhyZWFkX2FyZWEuaCIKPiArI2luY2x1ZGUgInRzdF90ZXN0LmgiCj4gICAKPiAt Y2hhciAqVENJRCA9ICJzZXRfdGhyZWFkX2FyZWFfMDEiOwo+IC1pbnQgVFNUX1RPVEFMID0gNjsK PiArI2lmZGVmIF9faTM4Nl9fCj4gKyNpbmNsdWRlICJsYXBpL2xkdC5oIgo+ICAgCj4gLSNpZiBk ZWZpbmVkKEhBVkVfQVNNX0xEVF9IKSAmJiBkZWZpbmVkKEhBVkVfU1RSVUNUX1VTRVJfREVTQykK PiArLyogV2hlbiBzZXRfdGhyZWFkX2FyZWEoKSBpcyBwYXNzZWQgYW4gZW50cnlfbnVtYmVyIG9m IC0xLCBpdCAgc2VhcmNoZXMKPiArICogZm9yIGEgZnJlZSBUTFMgZW50cnkuIElmIHNldF90aHJl YWRfYXJlYSgpIGZpbmRzIGEgZnJlZSBUTFMgZW50cnksCj4gKyAqIHRoZSB2YWx1ZSBvZiB1X2lu Zm8tPmVudHJ5X251bWJlciBpcyBzZXQgdXBvbiByZXR1cm4gdG8gc2hvdyB3aGljaAo+ICsgKiBl bnRyeSB3YXMgY2hhbmdlZC4KPiArICovCj4gK3N0YXRpYyBzdHJ1Y3QgdXNlcl9kZXNjIGVudHJ5 ID0geyAuZW50cnlfbnVtYmVyID0gLTEgfTsKPiArc3RhdGljIHN0cnVjdCB1c2VyX2Rlc2MgaW52 YWxpZF9lbnRyeSA9IHsgLmVudHJ5X251bWJlciA9IC0yIH07Cj4gICAKPiAtc3RhdGljIHZvaWQg Y2xlYW51cCh2b2lkKQo+ICtzdGF0aWMgaW50IHNldF90aHJlYWRfYXJlYShjb25zdCBzdHJ1Y3Qg dXNlcl9kZXNjICplbnRyeSkKPiAgIHsKPiArCXJldHVybiB0c3Rfc3lzY2FsbChfX05SX3NldF90 aHJlYWRfYXJlYSwgZW50cnkpOwo+ICAgfQo+ICAgCj4gLXN0YXRpYyB2b2lkIHNldHVwKHZvaWQp Cj4gK3N0YXRpYyBpbnQgZ2V0X3RocmVhZF9hcmVhKGNvbnN0IHN0cnVjdCB1c2VyX2Rlc2MgKmVu dHJ5KQo+ICAgewo+IC0JVEVTVF9QQVVTRTsKPiArCXJldHVybiB0c3Rfc3lzY2FsbChfX05SX2dl dF90aHJlYWRfYXJlYSwgZW50cnkpOwo+ICAgfQo+ICAgCj4gLXN0cnVjdCB0ZXN0IHsKPiAtCWlu dCBzeXNjYWxsOwo+IC0JY29uc3QgY2hhciAqY29uc3Qgc3lzY2FsbF9uYW1lOwo+IC0JdGhyZWFk X2FyZWFfcyAqdV9pbmZvOwo+IC0JaW50IGV4cF9yZXQ7Cj4gLQlpbnQgZXhwX2Vycm5vOwo+IC19 Owo+IC0KPiAtLyoKPiAtICogVGhlIHNldF90aHJlYWRfYXJlYSB1c2VzIGEgZnJlZSBlbnRyeV9u dW1iZXIgaWYgZW50cnkgbnVtYmVyIGlzIHNldCB0byAtMQo+IC0gKiBhbmQgdXBvbiB0aGUgc3lz Y2FsbCBleGl0IHRoZSBlbnRyeSBudW1iZXIgaXMgc2V0IHRvIGVudHJ5IHdoaWNoIHdhcyB1c2Vk Lgo+IC0gKiBTbyB3aGVuIHdlIGNhbGwgZ2V0X3RocmVhZF9hcmVhIG9uIHVfaW5mbzEsIHRoZSBl bnRyeSBudW1iZXIgaXMgaW5pdGFsaXplZAo+IC0gKiBjb3JlY3RseSBieSB0aGUgcHJldmlvdXMg c2V0X3RocmVhZF9hcmVhLgo+IC0gKi8KPiAtc3RhdGljIHN0cnVjdCB1c2VyX2Rlc2MgdV9pbmZv MSA9IHsuZW50cnlfbnVtYmVyID0gLTEgfTsKPiAtc3RhdGljIHN0cnVjdCB1c2VyX2Rlc2MgdV9p bmZvMiA9IHsuZW50cnlfbnVtYmVyID0gLTIgfTsKPiAtCj4gLSNkZWZpbmUgVkFMVUVfQU5EX1NU UklORyh2YWwpIHZhbCwgI3ZhbAo+IC0KPiAtc3RhdGljIHN0cnVjdCB0ZXN0IHRlc3RzW10gPSB7 Cj4gLQl7VkFMVUVfQU5EX1NUUklORyhfX05SX3NldF90aHJlYWRfYXJlYSksICZ1X2luZm8xLCAw LCAwfSwKPiAtCXtWQUxVRV9BTkRfU1RSSU5HKF9fTlJfZ2V0X3RocmVhZF9hcmVhKSwgJnVfaW5m bzEsIDAsIDB9LAo+IC0Je1ZBTFVFX0FORF9TVFJJTkcoX19OUl9zZXRfdGhyZWFkX2FyZWEpLCAm dV9pbmZvMiwgLTEsIEVJTlZBTH0sCj4gLQl7VkFMVUVfQU5EX1NUUklORyhfX05SX2dldF90aHJl YWRfYXJlYSksICZ1X2luZm8yLCAtMSwgRUlOVkFMfSwKPiAtCXtWQUxVRV9BTkRfU1RSSU5HKF9f TlJfc2V0X3RocmVhZF9hcmVhKSwgKHZvaWQgKiktOSwgLTEsIEVGQVVMVH0sCj4gLQl7VkFMVUVf QU5EX1NUUklORyhfX05SX2dldF90aHJlYWRfYXJlYSksICh2b2lkICopLTksIC0xLCBFRkFVTFR9 LAo+IC19OwoKVGhpcyB3YXMgYSBnb29kIGlkZWEsIGJ1dCB0aGUgaW1wbGVtZW50YXRpb24gZG9l c24ndCBmaXQgd2l0aCB0aGUgTFRQIApBUEkuIFRlc3QgY2FzZXMgaW4gb3VyIHNjZW5hcmlvIG1p Z2h0IGltcHJvdmUgcmVhZGFiaWxpdHkuIEluIApwYXJ0aWN1bGFyLCB3ZSBjYW4gZG8gc29tZXRo aW5nIGxpa2UgdGhpczoKCi0gZGVmaW5lIDIgdmFyaWFudCBmb3IgdGhlIHRlc3QgKGNoZWNrIHRz dF92YXJpYW50KS4gVGhlIGZpcnN0IHZhcmlhbnQgCndpbGwgY2FsbCBzZXRfdGhyZWFkX2FyZWEg YW5kIHRoZSBzZWNvbmQgd2lsbCBjYWxsIGdldF90aHJlYWRfYXJlYQotIGRlZmluZSAyIHRlc3Qg Y2FzZXMuIFRoZSBmaXJzdCB3aWxsIHNldCBpbnB1dCB2YWx1ZSB0byBnZW5lcmF0ZSBhIApFSU5W QUwgYW5kIHRoZSBzZWNvbiB3aWxsIHNldCBpbnB1dCB2YWx1ZSB0byBnZW5lcmF0ZSBFRkFVTFQK CkFuZCB0aGlzIGlzIHRoZSBmaXJzdCB0ZXN0IHRoYXQgd2lsbCBjaGVjayBmb3IgZXJyb3JzIG9u bHk6IGl0IHdpbGwgcnVuIApib3RoIGVycm9yIHRlc3RzIGZvciBzZXRfdGhyZWFkX2FyZWEgYW5k IGdldF90aHJlYWRfYXJlYS4gVGhlIHNlY29uZCAKdGVzdCBpcyBvbmx5IGNhbGxpbmcgc2V0K2dl dCBhbmQgdmVyaWZ5IHRoYXQgd2UgaGF2ZSBUUEFTUyBmcm9tIHN5c2NhbGxzIAphbmQgZGF0YSBz ZXQgaXMgZXF1aXZhbGVudCB0byBkYXRhIHJlYWQuCgpJbiB0aGlzIHdheSB3ZSBjYW4gb3JnYW5p emUgdGhlIHRlc3Rpbmcgc3VpdGUgcHJvcGVybHkgYW5kIHNwbGl0IGVycm9ycyAKZnJvbSBiYXNl IGZ1bmN0aW9uYWxpdGllcyBhcyB3ZSBkbyBpbiB0aGUgb3RoZXIgdGVzdGluZyBzdWl0ZXMuIFdE WVQ/Cgo+IC0KPiAtaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiArdm9pZCBydW4o dm9pZCkKPiAgIHsKPiAtCWludCBsYzsKPiAtCXVuc2lnbmVkIGk7Cj4gLQo+IC0JdHN0X3BhcnNl X29wdHMoYXJnYywgYXJndiwgTlVMTCwgTlVMTCk7Cj4gLQo+IC0Jc2V0dXAoKTsKPiAtCj4gLQlm b3IgKGxjID0gMDsgVEVTVF9MT09QSU5HKGxjKTsgbGMrKykgewo+IC0JCWZvciAoaSA9IDA7IGkg PCBzaXplb2YodGVzdHMpIC8gc2l6ZW9mKHN0cnVjdCB0ZXN0KTsgaSsrKSB7Cj4gLQkJCVRFU1Qo dHN0X3N5c2NhbGwodGVzdHNbaV0uc3lzY2FsbCwgdGVzdHNbaV0udV9pbmZvKSk7Cj4gKwlUU1Rf RVhQX1BBU1Moc2V0X3RocmVhZF9hcmVhKCZlbnRyeSkpOwo+ICsJVFNUX0VYUF9QQVNTKGdldF90 aHJlYWRfYXJlYSgmZW50cnkpKTsKPiAgIAo+IC0JCQlpZiAoVEVTVF9SRVRVUk4gIT0gdGVzdHNb aV0uZXhwX3JldCkgewo+IC0JCQkJdHN0X3Jlc20oVEZBSUwsICIlcyByZXR1cm5lZCAlbGkgZXhw ZWN0ZWQgJWkiLAo+IC0JCQkJCSB0ZXN0c1tpXS5zeXNjYWxsX25hbWUsCj4gLQkJCQkJIFRFU1Rf UkVUVVJOLCB0ZXN0c1tpXS5leHBfcmV0KTsKPiAtCQkJCWNvbnRpbnVlOwo+IC0JCQl9Cj4gKwlU U1RfRVhQX0ZBSUwoc2V0X3RocmVhZF9hcmVhKCZpbnZhbGlkX2VudHJ5KSwgRUlOVkFMKTsKPiAr CVRTVF9FWFBfRkFJTChnZXRfdGhyZWFkX2FyZWEoJmludmFsaWRfZW50cnkpLCBFSU5WQUwpOwo+ ICAgCj4gLQkJCWlmIChURVNUX0VSUk5PICE9IHRlc3RzW2ldLmV4cF9lcnJubykgewo+IC0JCQkJ dHN0X3Jlc20oVEZBSUwsCj4gLQkJCQkJICIlcyBmYWlsZWQgd2l0aCAlaSAoJXMpIGV4cGVjdGVk ICVpICglcykiLAo+IC0JCQkJCSB0ZXN0c1tpXS5zeXNjYWxsX25hbWUsIFRFU1RfRVJSTk8sCj4g LQkJCQkJIHN0cmVycm9yKFRFU1RfRVJSTk8pLAo+IC0JCQkJCSB0ZXN0c1tpXS5leHBfZXJybm8s Cj4gLQkJCQkJIHN0cmVycm9yKHRlc3RzW2ldLmV4cF9lcnJubykpOwo+IC0JCQkJY29udGludWU7 Cj4gLQkJCX0KPiArCVRTVF9FWFBfRkFJTChzZXRfdGhyZWFkX2FyZWEoKHZvaWQgKiktOSksIEVG QVVMVCk7Cj4gKwlUU1RfRVhQX0ZBSUwoZ2V0X3RocmVhZF9hcmVhKCh2b2lkICopLTkpLCBFRkFV TFQpOwo+ICt9Cj4gICAKPiAtCQkJdHN0X3Jlc20oVFBBU1MsICIlcyByZXR1cm5lZCAlbGkgZXJy bm8gJWkgKCVzKSIsCj4gLQkJCQkgdGVzdHNbaV0uc3lzY2FsbF9uYW1lLCBURVNUX1JFVFVSTiwK PiAtCQkJCSBURVNUX0VSUk5PLCBzdHJlcnJvcihURVNUX0VSUk5PKSk7Cj4gLQkJfQo+IC0JfQo+ ICtzdGF0aWMgc3RydWN0IHRzdF90ZXN0IHRlc3QgPSB7Cj4gKwkudGVzdF9hbGwgPSBydW4sCj4g K307Cj4gICAKPiAtCWNsZWFudXAoKTsKPiAtCXRzdF9leGl0KCk7Cj4gLX0KPiAgICNlbHNlCj4g LWludCBtYWluKHZvaWQpCj4gLXsKPiAtCXRzdF9icmttKFRDT05GLCBOVUxMLAo+IC0JCSAic2V0 X3RocmVhZF9hcmVhIGlzbid0IGF2YWlsYWJsZSBmb3IgdGhpcyBhcmNoaXRlY3R1cmUiKTsKPiAt fQo+IC0jZW5kaWYKPiArVFNUX1RFU1RfVENPTkYoIlRlc3Qgc3VwcG9ydGVkIG9ubHkgb24gaTM4 NiIpOwo+ICsjZW5kaWYgLyogX19pMzg2X18gKi8KPgo+IC0tLQo+IGJhc2UtY29tbWl0OiA4OThj YzE0YWQ0MTJmYjUyMTg2N2I0M2ZlZDVjNGUwNjdiNzZmODA5ClRoaXMgaXMgYSBzdXBlciBjb29s IGZlYXR1cmUgZnJvbSBiNCA6LSkKPiBjaGFuZ2UtaWQ6IDIwMjUwNDAzLWNvbnZlcnNpb25zLXNl dF90aHJlYWRfYXJlYS0wN2E5MGUwY2Q0NDkKPiBwcmVyZXF1aXNpdGUtbWVzc2FnZS1pZDogPDIw MjUwNDAyLWNvbnZlcnNpb25zLW1vZGlmeV9sZHQtdjYtMC0yZTRiMGUyNzg3MGVAc3VzZS5jb20+ Cj4gcHJlcmVxdWlzaXRlLXBhdGNoLWlkOiA0OTBhM2U2YmM0MDA0ZGI1MjM0MjI0YjZmZDZkNGJm NTAzMGIyMTlkCj4gcHJlcmVxdWlzaXRlLXBhdGNoLWlkOiA5NjJiYjgxNTQ0NGViMmRlOTc1NmRk MjY1OWUwOTc1NjdiNmQ2ZmU4Cj4gcHJlcmVxdWlzaXRlLXBhdGNoLWlkOiBhODM1N2ZiODcwYThk NzI3OGUyMDZiNGZjNjVmMWQ5NDUwZmVlODAyCj4KPiBCZXN0IHJlZ2FyZHMsCktpbmQgcmVnYXJk cywKQW5kcmVhIENlcnZlc2F0bwoKLS0gCk1haWxpbmcgbGlzdCBpbmZvOiBodHRwczovL2xpc3Rz LmxpbnV4Lml0L2xpc3RpbmZvL2x0cAo=