Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp679838rwb; Sun, 6 Nov 2022 12:00:39 -0800 (PST) X-Google-Smtp-Source: AMsMyM68DTzWQlJYcnYq9FVGnb1u0A/wiZc93cj2BuUSpcsP8moLRSpQ9cpvT4/7Irx8IRbihyDq X-Received: by 2002:a17:902:ec92:b0:186:de89:7f67 with SMTP id x18-20020a170902ec9200b00186de897f67mr48190515plg.166.1667764839522; Sun, 06 Nov 2022 12:00:39 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1667764839; cv=none; d=google.com; s=arc-20160816; b=P49Q78TcATiBxWQEI34bar/I9hyyPpQq1ID8llRqZHeKeTqs1HlQjaBnvITmvmP5XR Qq60GKGaPrZCxfXR5vf0qWobD8Nrre9mn28M6hGFYcVXmivQ8gl+G2/RFdJ/s4VAdSmY +qxvxah44bewlp3nrBHMXVGuZjPffDq0L0W6tzEFg9P5KJF5LDGK1QnZSEKL6eo5+KoL ERR3EHMz1y3kVlQPfPUPhsttcOD5iWsR0kwFyvEQHz7FWhwxasnDo+1/TfYc7L2jOYe1 xNkCMWmH34Hrcux6kWDZ2wDQFeRM/zAsBepJYgDK/FAblNFDiQLSy+GPRBtaI3Tl6v3K cx3A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:content-transfer-encoding :content-id:content-language:accept-language:in-reply-to:message-id :date:thread-index:thread-topic:subject:cc:to:from:dkim-signature; bh=aLAoY68EOFtako+FG+2TWg1WJ4inLy9K4esIGX6FXTc=; b=mqLfpEi4pzoqYJJ3lZGU1CmHfH3T7Sgk/e9rcOIq40p95gzd3wGP4rzGr94+y1Vk1w NVDten3fzK/a2pxdMeuzxn9VIcdG0d0kZGN8lSLatcKtoqOYzR82Z0VnU2ZjHfvL4ZfK g4jIhqCHbC/lxW5vXz1Xxqw09+44NGfQRZubLALSo3TNgtzEU8BvyCEvy1sj9aacwrtI 77DH5Z07uIBu1vd3ttY9l/X7kUrmSjxogJMBlO6FLE9T1PuVCU6d76umMcPECIy77IPG SdeEbWUr+/LEfQ5AsJzNKE9/JSFfkjPSpZG9R+QdJpALVlSBms6dg4HNAZoXvH7miFmk KO5Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=Dn5QtWXs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id w15-20020a170902a70f00b00179f3da346bsi7186655plq.39.2022.11.06.12.00.23; Sun, 06 Nov 2022 12:00:39 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=Dn5QtWXs; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=sberdevices.ru Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230242AbiKFTtd (ORCPT + 97 others); Sun, 6 Nov 2022 14:49:33 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47106 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229991AbiKFTtb (ORCPT ); Sun, 6 Nov 2022 14:49:31 -0500 Received: from mx.sberdevices.ru (mx.sberdevices.ru [45.89.227.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A76C6227; Sun, 6 Nov 2022 11:49:29 -0800 (PST) Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id 0C2975FD03; Sun, 6 Nov 2022 22:49:28 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1667764168; bh=aLAoY68EOFtako+FG+2TWg1WJ4inLy9K4esIGX6FXTc=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=Dn5QtWXsZUw2NtP1g3EiPm8MgQJyzlYK3duDvEmEh4bdOdAFcO/kBnyC5ax+QlPuM AGEr9joSHccLjhRp+Gg4XK0IYuEoEY9AzlrdoYNgoi81YnO0EFh3u8DQFAbYJOFG8k 8c3HjcU+ngApjZStrVurHL3leqPCiYVqe3XzNrHyAI77DHVIFK1i0gTu5M9y3g9BLS EIQtmiOeZlnAY18M8iLpWCgn6ZTpiLfrEd/1uNLP4foHNt7MH/2/TRicWkQ6GdwOHu q66ZHBZk3b+Cu3a5ho1sVpsToTEMcL0l0/YRWYTg5Bh2hw61TqmLLqtIDALJna+GcH 3Log381XxV5/w== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mx.sberdevices.ru (Postfix) with ESMTP; Sun, 6 Nov 2022 22:49:27 +0300 (MSK) From: Arseniy Krasnov To: Stefano Garzarella , Stefan Hajnoczi , "Michael S. Tsirkin" , Jason Wang , "David S. Miller" , "edumazet@google.com" , Jakub Kicinski , Paolo Abeni , Krasnov Arseniy CC: "linux-kernel@vger.kernel.org" , "kvm@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "netdev@vger.kernel.org" , kernel Subject: [RFC PATCH v3 08/11] test/vsock: rework message bound test Thread-Topic: [RFC PATCH v3 08/11] test/vsock: rework message bound test Thread-Index: AQHY8hjODfI0ULYbgUSWOiAerLW3Cw== Date: Sun, 6 Nov 2022 19:48:56 +0000 Message-ID: In-Reply-To: Accept-Language: en-US, ru-RU Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.16.1.12] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-KSMG-Rule-ID: 4 X-KSMG-Message-Action: clean X-KSMG-AntiSpam-Status: not scanned, disabled by settings X-KSMG-AntiSpam-Interceptor-Info: not scanned X-KSMG-AntiPhishing: not scanned, disabled by settings X-KSMG-AntiVirus: Kaspersky Secure Mail Gateway, version 1.1.2.30, bases: 2022/11/06 18:31:00 #20575158 X-KSMG-AntiVirus-Status: Clean, skipped X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org VGhpcyB1cGRhdGVzIG1lc3NhZ2UgYm91bmQgdGVzdCBtYWtpbmcgaXQgbW9yZSBjb21wbGV4LiBJ bnN0ZWFkIG9mDQpzZW5kaW5nIDEgYnl0ZXMgbWVzc2FnZXMgd2l0aCBvbmUgTVNHX0VPUiBiaXQs IGl0IHNlbmRzIG1lc3NhZ2VzIG9mDQpyYW5kb20gbGVuZ3RoKG9uZSBoYWxmIG9mIG1lc3NhZ2Vz IGFyZSBzbWFsbGVyIHRoYW4gcGFnZSBzaXplLCBzZWNvbmQNCmhhbGYgYXJlIGJpZ2dlcikgd2l0 aCByYW5kb20gbnVtYmVyIG9mIE1TR19FT1IgYml0cyBzZXQuIFJlY2VpdmVyDQphbHNvIGRvbid0 IGtub3cgdG90YWwgbnVtYmVyIG9mIG1lc3NhZ2VzLg0KDQpTaWduZWQtb2ZmLWJ5OiBBcnNlbml5 IEtyYXNub3YgPEFWS3Jhc25vdkBzYmVyZGV2aWNlcy5ydT4NCi0tLQ0KIHRvb2xzL3Rlc3Rpbmcv dnNvY2svY29udHJvbC5jICAgIHwgIDM0ICsrKysrKysrKw0KIHRvb2xzL3Rlc3RpbmcvdnNvY2sv Y29udHJvbC5oICAgIHwgICAyICsNCiB0b29scy90ZXN0aW5nL3Zzb2NrL3V0aWwuYyAgICAgICB8 ICAxMyArKysrDQogdG9vbHMvdGVzdGluZy92c29jay91dGlsLmggICAgICAgfCAgIDEgKw0KIHRv b2xzL3Rlc3RpbmcvdnNvY2svdnNvY2tfdGVzdC5jIHwgMTE1ICsrKysrKysrKysrKysrKysrKysr KysrKysrKy0tLS0NCiA1IGZpbGVzIGNoYW5nZWQsIDE1MiBpbnNlcnRpb25zKCspLCAxMyBkZWxl dGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svY29udHJvbC5jIGIv dG9vbHMvdGVzdGluZy92c29jay9jb250cm9sLmMNCmluZGV4IDQ4NzQ4NzJmYzVhMy4uYmVkMTY0 OWJkZjNkIDEwMDY0NA0KLS0tIGEvdG9vbHMvdGVzdGluZy92c29jay9jb250cm9sLmMNCisrKyBi L3Rvb2xzL3Rlc3RpbmcvdnNvY2svY29udHJvbC5jDQpAQCAtMTQxLDYgKzE0MSw0MCBAQCB2b2lk IGNvbnRyb2xfd3JpdGVsbihjb25zdCBjaGFyICpzdHIpDQogCXRpbWVvdXRfZW5kKCk7DQogfQ0K IA0KK3ZvaWQgY29udHJvbF93cml0ZXVsb25nKHVuc2lnbmVkIGxvbmcgdmFsdWUpDQorew0KKwlj aGFyIHN0clszMl07DQorDQorCWlmIChzbnByaW50ZihzdHIsIHNpemVvZihzdHIpLCAiJWx1Iiwg dmFsdWUpID49IHNpemVvZihzdHIpKSB7DQorCQlwZXJyb3IoInNucHJpbnRmIik7DQorCQlleGl0 KEVYSVRfRkFJTFVSRSk7DQorCX0NCisNCisJY29udHJvbF93cml0ZWxuKHN0cik7DQorfQ0KKw0K K3Vuc2lnbmVkIGxvbmcgY29udHJvbF9yZWFkdWxvbmcoYm9vbCAqb2spDQorew0KKwl1bnNpZ25l ZCBsb25nIHZhbHVlOw0KKwljaGFyICpzdHI7DQorDQorCWlmIChvaykNCisJCSpvayA9IGZhbHNl Ow0KKw0KKwlzdHIgPSBjb250cm9sX3JlYWRsbigpOw0KKw0KKwlpZiAoc3RyID09IE5VTEwpDQor CQlyZXR1cm4gMDsNCisNCisJdmFsdWUgPSBzdHJ0b3VsKHN0ciwgTlVMTCwgMTApOw0KKwlmcmVl KHN0cik7DQorDQorCWlmIChvaykNCisJCSpvayA9IHRydWU7DQorDQorCXJldHVybiB2YWx1ZTsN Cit9DQorDQogLyogUmV0dXJuIHRoZSBuZXh0IGxpbmUgZnJvbSB0aGUgY29udHJvbCBzb2NrZXQg KHdpdGhvdXQgdGhlIHRyYWlsaW5nIG5ld2xpbmUpLg0KICAqDQogICogVGhlIHByb2dyYW0gdGVy bWluYXRlcyBpZiBhIHRpbWVvdXQgb2NjdXJzLg0KZGlmZiAtLWdpdCBhL3Rvb2xzL3Rlc3Rpbmcv dnNvY2svY29udHJvbC5oIGIvdG9vbHMvdGVzdGluZy92c29jay9jb250cm9sLmgNCmluZGV4IDUx ODE0YjRmOWFjMS4uY2RkOTIyZGZlYTY4IDEwMDY0NA0KLS0tIGEvdG9vbHMvdGVzdGluZy92c29j ay9jb250cm9sLmgNCisrKyBiL3Rvb2xzL3Rlc3RpbmcvdnNvY2svY29udHJvbC5oDQpAQCAtOSw3 ICs5LDkgQEAgdm9pZCBjb250cm9sX2luaXQoY29uc3QgY2hhciAqY29udHJvbF9ob3N0LCBjb25z dCBjaGFyICpjb250cm9sX3BvcnQsDQogdm9pZCBjb250cm9sX2NsZWFudXAodm9pZCk7DQogdm9p ZCBjb250cm9sX3dyaXRlbG4oY29uc3QgY2hhciAqc3RyKTsNCiBjaGFyICpjb250cm9sX3JlYWRs bih2b2lkKTsNCit1bnNpZ25lZCBsb25nIGNvbnRyb2xfcmVhZHVsb25nKGJvb2wgKm9rKTsNCiB2 b2lkIGNvbnRyb2xfZXhwZWN0bG4oY29uc3QgY2hhciAqc3RyKTsNCiBib29sIGNvbnRyb2xfY21w bG4oY2hhciAqbGluZSwgY29uc3QgY2hhciAqc3RyLCBib29sIGZhaWwpOw0KK3ZvaWQgY29udHJv bF93cml0ZXVsb25nKHVuc2lnbmVkIGxvbmcgdmFsdWUpOw0KIA0KICNlbmRpZiAvKiBDT05UUk9M X0ggKi8NCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Zzb2NrL3V0aWwuYyBiL3Rvb2xzL3Rl c3RpbmcvdnNvY2svdXRpbC5jDQppbmRleCAyYWNiYjc3MDNjNmEuLjM1MTkwMzgzNjc3NCAxMDA2 NDQNCi0tLSBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdXRpbC5jDQorKysgYi90b29scy90ZXN0aW5n L3Zzb2NrL3V0aWwuYw0KQEAgLTM5NSwzICszOTUsMTYgQEAgdm9pZCBza2lwX3Rlc3Qoc3RydWN0 IHRlc3RfY2FzZSAqdGVzdF9jYXNlcywgc2l6ZV90IHRlc3RfY2FzZXNfbGVuLA0KIA0KIAl0ZXN0 X2Nhc2VzW3Rlc3RfaWRdLnNraXAgPSB0cnVlOw0KIH0NCisNCit1bnNpZ25lZCBsb25nIGRqYjIo Y29uc3Qgdm9pZCAqZGF0YSwgc2l6ZV90IGxlbikNCit7DQorCXVuc2lnbmVkIGxvbmcgaGFzaCA9 IDUzODE7DQorCWludCBpID0gMDsNCisNCisJd2hpbGUgKGkgPCBsZW4pIHsNCisJCWhhc2ggPSAo KGhhc2ggPDwgNSkgKyBoYXNoKSArICgodW5zaWduZWQgY2hhciAqKWRhdGEpW2ldOw0KKwkJaSsr Ow0KKwl9DQorDQorCXJldHVybiBoYXNoOw0KK30NCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5n L3Zzb2NrL3V0aWwuaCBiL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdXRpbC5oDQppbmRleCBhMzM3NWFk MmZiN2YuLjk4OGNjNjlhNDY0MiAxMDA2NDQNCi0tLSBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdXRp bC5oDQorKysgYi90b29scy90ZXN0aW5nL3Zzb2NrL3V0aWwuaA0KQEAgLTQ5LDQgKzQ5LDUgQEAg dm9pZCBydW5fdGVzdHMoY29uc3Qgc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcywNCiB2b2lk IGxpc3RfdGVzdHMoY29uc3Qgc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcyk7DQogdm9pZCBz a2lwX3Rlc3Qoc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcywgc2l6ZV90IHRlc3RfY2FzZXNf bGVuLA0KIAkgICAgICAgY29uc3QgY2hhciAqdGVzdF9pZF9zdHIpOw0KK3Vuc2lnbmVkIGxvbmcg ZGpiMihjb25zdCB2b2lkICpkYXRhLCBzaXplX3QgbGVuKTsNCiAjZW5kaWYgLyogVVRJTF9IICov DQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy92c29jay92c29ja190ZXN0LmMgYi90b29scy90 ZXN0aW5nL3Zzb2NrL3Zzb2NrX3Rlc3QuYw0KaW5kZXggYmI2ZDY5MWNiMzBkLi4xMDdjMTExNjU4 ODcgMTAwNjQ0DQotLS0gYS90b29scy90ZXN0aW5nL3Zzb2NrL3Zzb2NrX3Rlc3QuYw0KKysrIGIv dG9vbHMvdGVzdGluZy92c29jay92c29ja190ZXN0LmMNCkBAIC0yODQsMTAgKzI4NCwxNCBAQCBz dGF0aWMgdm9pZCB0ZXN0X3N0cmVhbV9tc2dfcGVla19zZXJ2ZXIoY29uc3Qgc3RydWN0IHRlc3Rf b3B0cyAqb3B0cykNCiAJY2xvc2UoZmQpOw0KIH0NCiANCi0jZGVmaW5lIE1FU1NBR0VTX0NOVCA3 DQotI2RlZmluZSBNU0dfRU9SX0lEWCAoTUVTU0FHRVNfQ05UIC8gMikNCisjZGVmaW5lIFNPQ0tf QlVGX1NJWkUgKDIgKiAxMDI0ICogMTAyNCkNCisjZGVmaW5lIE1BWF9NU0dfU0laRSAoMzIgKiAx MDI0KQ0KKw0KIHN0YXRpYyB2b2lkIHRlc3Rfc2VxcGFja2V0X21zZ19ib3VuZHNfY2xpZW50KGNv bnN0IHN0cnVjdCB0ZXN0X29wdHMgKm9wdHMpDQogew0KKwl1bnNpZ25lZCBsb25nIGN1cnJfaGFz aDsNCisJaW50IHBhZ2Vfc2l6ZTsNCisJaW50IG1zZ19jb3VudDsNCiAJaW50IGZkOw0KIA0KIAlm ZCA9IHZzb2NrX3NlcXBhY2tldF9jb25uZWN0KG9wdHMtPnBlZXJfY2lkLCAxMjM0KTsNCkBAIC0y OTYsMTggKzMwMCw2OSBAQCBzdGF0aWMgdm9pZCB0ZXN0X3NlcXBhY2tldF9tc2dfYm91bmRzX2Ns aWVudChjb25zdCBzdHJ1Y3QgdGVzdF9vcHRzICpvcHRzKQ0KIAkJZXhpdChFWElUX0ZBSUxVUkUp Ow0KIAl9DQogDQotCS8qIFNlbmQgc2V2ZXJhbCBtZXNzYWdlcywgb25lIHdpdGggTVNHX0VPUiBm bGFnICovDQotCWZvciAoaW50IGkgPSAwOyBpIDwgTUVTU0FHRVNfQ05UOyBpKyspDQotCQlzZW5k X2J5dGUoZmQsIDEsIChpID09IE1TR19FT1JfSURYKSA/IE1TR19FT1IgOiAwKTsNCisJLyogV2Fp dCwgdW50aWwgcmVjZWl2ZXIgc2V0cyBidWZmZXIgc2l6ZS4gKi8NCisJY29udHJvbF9leHBlY3Rs bigiU1JWUkVBRFkiKTsNCisNCisJY3Vycl9oYXNoID0gMDsNCisJcGFnZV9zaXplID0gZ2V0cGFn ZXNpemUoKTsNCisJbXNnX2NvdW50ID0gU09DS19CVUZfU0laRSAvIE1BWF9NU0dfU0laRTsNCisN CisJZm9yIChpbnQgaSA9IDA7IGkgPCBtc2dfY291bnQ7IGkrKykgew0KKwkJc3NpemVfdCBzZW5k X3NpemU7DQorCQlzaXplX3QgYnVmX3NpemU7DQorCQlpbnQgZmxhZ3M7DQorCQl2b2lkICpidWY7 DQorDQorCQkvKiBVc2UgInNtYWxsIiBidWZmZXJzIGFuZCAiYmlnIiBidWZmZXJzLiAqLw0KKwkJ aWYgKGkgJiAxKQ0KKwkJCWJ1Zl9zaXplID0gcGFnZV9zaXplICsNCisJCQkJCShyYW5kKCkgJSAo TUFYX01TR19TSVpFIC0gcGFnZV9zaXplKSk7DQorCQllbHNlDQorCQkJYnVmX3NpemUgPSAxICsg KHJhbmQoKSAlIHBhZ2Vfc2l6ZSk7DQorDQorCQlidWYgPSBtYWxsb2MoYnVmX3NpemUpOw0KKw0K KwkJaWYgKCFidWYpIHsNCisJCQlwZXJyb3IoIm1hbGxvYyIpOw0KKwkJCWV4aXQoRVhJVF9GQUlM VVJFKTsNCisJCX0NCisNCisJCS8qIFNldCBhdCBsZWFzdCBvbmUgTVNHX0VPUiArIHNvbWUgcmFu ZG9tLiAqLw0KKwkJaWYgKGkgPT0gKG1zZ19jb3VudCAvIDIpIHx8IChyYW5kKCkgJiAxKSkgew0K KwkJCWZsYWdzID0gTVNHX0VPUjsNCisJCQljdXJyX2hhc2grKzsNCisJCX0gZWxzZSB7DQorCQkJ ZmxhZ3MgPSAwOw0KKwkJfQ0KKw0KKwkJc2VuZF9zaXplID0gc2VuZChmZCwgYnVmLCBidWZfc2l6 ZSwgZmxhZ3MpOw0KKw0KKwkJaWYgKHNlbmRfc2l6ZSA8IDApIHsNCisJCQlwZXJyb3IoInNlbmQi KTsNCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7DQorCQl9DQorDQorCQlpZiAoc2VuZF9zaXplICE9 IGJ1Zl9zaXplKSB7DQorCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIHNlbmQgc2l6ZVxuIik7 DQorCQkJZXhpdChFWElUX0ZBSUxVUkUpOw0KKwkJfQ0KKw0KKwkJY3Vycl9oYXNoICs9IHNlbmRf c2l6ZTsNCisJCWN1cnJfaGFzaCA9IGRqYjIoJmN1cnJfaGFzaCwgc2l6ZW9mKGN1cnJfaGFzaCkp Ow0KKwl9DQogDQogCWNvbnRyb2xfd3JpdGVsbigiU0VORERPTkUiKTsNCisJY29udHJvbF93cml0 ZXVsb25nKGN1cnJfaGFzaCk7DQogCWNsb3NlKGZkKTsNCiB9DQogDQogc3RhdGljIHZvaWQgdGVz dF9zZXFwYWNrZXRfbXNnX2JvdW5kc19zZXJ2ZXIoY29uc3Qgc3RydWN0IHRlc3Rfb3B0cyAqb3B0 cykNCiB7DQorCXVuc2lnbmVkIGxvbmcgc29ja19idWZfc2l6ZTsNCisJdW5zaWduZWQgbG9uZyBy ZW1vdGVfaGFzaDsNCisJdW5zaWduZWQgbG9uZyBjdXJyX2hhc2g7DQogCWludCBmZDsNCi0JY2hh ciBidWZbMTZdOw0KKwljaGFyIGJ1ZltNQVhfTVNHX1NJWkVdOw0KIAlzdHJ1Y3QgbXNnaGRyIG1z ZyA9IHswfTsNCiAJc3RydWN0IGlvdmVjIGlvdiA9IHswfTsNCiANCkBAIC0zMTcsMjUgKzM3Miw1 OCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3NlcXBhY2tldF9tc2dfYm91bmRzX3NlcnZlcihjb25zdCBz dHJ1Y3QgdGVzdF9vcHRzICpvcHRzKQ0KIAkJZXhpdChFWElUX0ZBSUxVUkUpOw0KIAl9DQogDQor CXNvY2tfYnVmX3NpemUgPSBTT0NLX0JVRl9TSVpFOw0KKw0KKwlpZiAoc2V0c29ja29wdChmZCwg QUZfVlNPQ0ssIFNPX1ZNX1NPQ0tFVFNfQlVGRkVSX01BWF9TSVpFLA0KKwkJICAgICAgICZzb2Nr X2J1Zl9zaXplLCBzaXplb2Yoc29ja19idWZfc2l6ZSkpKSB7DQorCQlwZXJyb3IoImdldHNvY2tv cHQiKTsNCisJCWV4aXQoRVhJVF9GQUlMVVJFKTsNCisJfQ0KKw0KKwlpZiAoc2V0c29ja29wdChm ZCwgQUZfVlNPQ0ssIFNPX1ZNX1NPQ0tFVFNfQlVGRkVSX1NJWkUsDQorCQkgICAgICAgJnNvY2tf YnVmX3NpemUsIHNpemVvZihzb2NrX2J1Zl9zaXplKSkpIHsNCisJCXBlcnJvcigiZ2V0c29ja29w dCIpOw0KKwkJZXhpdChFWElUX0ZBSUxVUkUpOw0KKwl9DQorDQorCS8qIFJlYWR5IHRvIHJlY2Vp dmUgZGF0YS4gKi8NCisJY29udHJvbF93cml0ZWxuKCJTUlZSRUFEWSIpOw0KKwkvKiBXYWl0LCB1 bnRpbCBwZWVyIHNlbmRzIHdob2xlIGRhdGEuICovDQogCWNvbnRyb2xfZXhwZWN0bG4oIlNFTkRE T05FIik7DQogCWlvdi5pb3ZfYmFzZSA9IGJ1ZjsNCiAJaW92Lmlvdl9sZW4gPSBzaXplb2YoYnVm KTsNCiAJbXNnLm1zZ19pb3YgPSAmaW92Ow0KIAltc2cubXNnX2lvdmxlbiA9IDE7DQogDQotCWZv ciAoaW50IGkgPSAwOyBpIDwgTUVTU0FHRVNfQ05UOyBpKyspIHsNCi0JCWlmIChyZWN2bXNnKGZk LCAmbXNnLCAwKSAhPSAxKSB7DQotCQkJcGVycm9yKCJtZXNzYWdlIGJvdW5kIHZpb2xhdGVkIik7 DQotCQkJZXhpdChFWElUX0ZBSUxVUkUpOw0KLQkJfQ0KKwljdXJyX2hhc2ggPSAwOw0KIA0KLQkJ aWYgKChpID09IE1TR19FT1JfSURYKSBeICEhKG1zZy5tc2dfZmxhZ3MgJiBNU0dfRU9SKSkgew0K LQkJCXBlcnJvcigiTVNHX0VPUiIpOw0KKwl3aGlsZSAoMSkgew0KKwkJc3NpemVfdCByZWN2X3Np emU7DQorDQorCQlyZWN2X3NpemUgPSByZWN2bXNnKGZkLCAmbXNnLCAwKTsNCisNCisJCWlmICgh cmVjdl9zaXplKQ0KKwkJCWJyZWFrOw0KKw0KKwkJaWYgKHJlY3Zfc2l6ZSA8IDApIHsNCisJCQlw ZXJyb3IoInJlY3Ztc2ciKTsNCiAJCQlleGl0KEVYSVRfRkFJTFVSRSk7DQogCQl9DQorDQorCQlp ZiAobXNnLm1zZ19mbGFncyAmIE1TR19FT1IpDQorCQkJY3Vycl9oYXNoKys7DQorDQorCQljdXJy X2hhc2ggKz0gcmVjdl9zaXplOw0KKwkJY3Vycl9oYXNoID0gZGpiMigmY3Vycl9oYXNoLCBzaXpl b2YoY3Vycl9oYXNoKSk7DQogCX0NCiANCiAJY2xvc2UoZmQpOw0KKwlyZW1vdGVfaGFzaCA9IGNv bnRyb2xfcmVhZHVsb25nKE5VTEwpOw0KKw0KKwlpZiAoY3Vycl9oYXNoICE9IHJlbW90ZV9oYXNo KSB7DQorCQlmcHJpbnRmKHN0ZGVyciwgIk1lc3NhZ2UgYm91bmRzIGJyb2tlblxuIik7DQorCQll eGl0KEVYSVRfRkFJTFVSRSk7DQorCX0NCiB9DQogDQogI2RlZmluZSBNRVNTQUdFX1RSVU5DX1Na IDMyDQpAQCAtODM3LDYgKzkyNSw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikN CiAJCS5wZWVyX2NpZCA9IFZNQUREUl9DSURfQU5ZLA0KIAl9Ow0KIA0KKwlzcmFuZCh0aW1lKE5V TEwpKTsNCiAJaW5pdF9zaWduYWxzKCk7DQogDQogCWZvciAoOzspIHsNCi0tIA0KMi4zNS4wDQo=