Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp10980096rwb; Fri, 25 Nov 2022 09:42:46 -0800 (PST) X-Google-Smtp-Source: AA0mqf4esaQ2mxlA5joINFx4AfR+R3X1rNduSi7tK+6fR7yWuhZ+J7PFMySEigYXowWYPsbuQU0+ X-Received: by 2002:a05:6a00:17a3:b0:56b:b37d:9857 with SMTP id s35-20020a056a0017a300b0056bb37d9857mr21151563pfg.12.1669398166312; Fri, 25 Nov 2022 09:42:46 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669398166; cv=none; d=google.com; s=arc-20160816; b=Wp167gAXScv5T3IzlbRtL6MlkUEl2uRMfD42wHvPuN8hNi7OrPAOEpeS+XJgHFoe+s cec3UtXO8sPJ3WIRSBT9SAHq4nQCcNyz3feeHA14Z34Kv2czCT67osvvao+v/llzPGWW Y+0nN08h11ZPVINqkzxLssgurU3atuyE/WSQ+SYe3yWT16FRXICdwmKXvlMOustalsMA MgxuuWRD3ZFsP5RIxvCmyLscgLyGx5Shhy9ldsu9+APBtRmGP4SGKVLTFa7GE9AK2rjn PyRt+KNFiyGYsnwV+HaYSmxBbF4IcSNIgjUjKqe1MlLTqmNu9pr4QpBT1WKRlnzlmZwg cLOQ== 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=TbfqY0U08CBmZ07Mj9iWXW5NhW/QFZHOkT6OdCmAJ2s=; b=P48se2n2jDJlW3ytBp/dqyhuzifBUco13oAJqUqcqAqBgrS6N9NjbvUIpTAVR5jXgp UfOL+5lq3EQJILm4Xw0wUzJ1PQMrbfBXAa8JWEsHrMwFWEjUfB2TqsnkovZzHHPiGXL8 Pj9b8+o9KOIQCLowM3iGYkgzGIDQ/IbmdMp+YO9t6CiiTOfuPdscejHnqsG3WAyPIgp3 SSAkvOMEwXNJlL7Uky5MEDB/EP15+mI+wm9b+JdTY/9/gXbxDLtAn3akJ8fCUY0R2+Qf jhacSagWgApHoHO5W9NePtNwDaSr2EDh2C+haowdCQJ0lXKWWmDs8T6vaMZjzzQmTd8/ dhXw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@sberdevices.ru header.s=mail header.b=HYfVgMfN; 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 u141-20020a627993000000b00571d3860297si3930606pfc.80.2022.11.25.09.42.35; Fri, 25 Nov 2022 09:42:46 -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=HYfVgMfN; 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 S229894AbiKYRKn (ORCPT + 86 others); Fri, 25 Nov 2022 12:10:43 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48416 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229572AbiKYRKk (ORCPT ); Fri, 25 Nov 2022 12:10:40 -0500 Received: from mx.sberdevices.ru (mx.sberdevices.ru [45.89.227.171]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 757A41D335; Fri, 25 Nov 2022 09:10:38 -0800 (PST) Received: from s-lin-edge02.sberdevices.ru (localhost [127.0.0.1]) by mx.sberdevices.ru (Postfix) with ESMTP id CE3705FD0B; Fri, 25 Nov 2022 20:10:36 +0300 (MSK) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sberdevices.ru; s=mail; t=1669396236; bh=TbfqY0U08CBmZ07Mj9iWXW5NhW/QFZHOkT6OdCmAJ2s=; h=From:To:Subject:Date:Message-ID:Content-Type:MIME-Version; b=HYfVgMfNEwn9QmE88aX5wZyP4W8zIRyxTlCAKtmpsTxfH8yEPDCM6GPPA+o7zibjA YtQ5fjQ2gQlSVMSqZAeyyFPnGrwhcCSgnLcNTin0Fr2EMTLgCi+b+yfDT/9D5xQmWt +NdBkw94pSpzGjPQ8PFaKLLS8R8E8/f8kPH/suMMheJ36BmwuqNufKLTvtZQkwQvCf ZWnbGI9HIw0EcJ7fVQNdsMZQ5j1elr8KZ+b+jsu5gKW4eusXmIAqyhz2R3LClnPCQm fkDKdKrv1FfXURUcw6G+5QysKXOE0oFlL+kyLaQkMfLutDhwHA2pfn6XBP2BUI8C6N 8CvmaBiR+qebw== Received: from S-MS-EXCH01.sberdevices.ru (S-MS-EXCH01.sberdevices.ru [172.16.1.4]) by mx.sberdevices.ru (Postfix) with ESMTP; Fri, 25 Nov 2022 20:10:35 +0300 (MSK) From: Arseniy Krasnov To: Stefano Garzarella , "David S. Miller" , "edumazet@google.com" , "Jakub Kicinski" , Paolo Abeni , "kys@microsoft.com" , "haiyangz@microsoft.com" , "wei.liu@kernel.org" , "Dexuan Cui" , Bryan Tan , Vishnu Dasa , Arseniy Krasnov , "Krasnov Arseniy" , Bobby Eshleman , Bobby Eshleman CC: "linux-kernel@vger.kernel.org" , "netdev@vger.kernel.org" , "virtualization@lists.linux-foundation.org" , "linux-hyperv@vger.kernel.org" , kernel Subject: [RFC PATCH v2 4/6] test/vsock: rework message bounds test Thread-Topic: [RFC PATCH v2 4/6] test/vsock: rework message bounds test Thread-Index: AQHZAPDVjHyum7GlNEe8zXRCLJKxfg== Date: Fri, 25 Nov 2022 17:10:35 +0000 Message-ID: In-Reply-To: <9d96f6c6-1d4f-8197-b3bc-8957124c8933@sberdevices.ru> 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/25 14:59:00 #20610704 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 dnNvY2svY29udHJvbC5jICAgIHwgIDI4ICsrKysrKysNCiB0b29scy90ZXN0aW5nL3Zzb2NrL2Nv bnRyb2wuaCAgICB8ICAgMiArDQogdG9vbHMvdGVzdGluZy92c29jay91dGlsLmMgICAgICAgfCAg MTMgKysrKw0KIHRvb2xzL3Rlc3RpbmcvdnNvY2svdXRpbC5oICAgICAgIHwgICAxICsNCiB0b29s cy90ZXN0aW5nL3Zzb2NrL3Zzb2NrX3Rlc3QuYyB8IDEyNCArKysrKysrKysrKysrKysrKysrKysr KysrKystLS0tDQogNSBmaWxlcyBjaGFuZ2VkLCAxNTUgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRp b25zKC0pDQoNCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Zzb2NrL2NvbnRyb2wuYyBiL3Rv b2xzL3Rlc3RpbmcvdnNvY2svY29udHJvbC5jDQppbmRleCA0ODc0ODcyZmM1YTMuLmQyZGViNGIx NWI5NCAxMDA2NDQNCi0tLSBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svY29udHJvbC5jDQorKysgYi90 b29scy90ZXN0aW5nL3Zzb2NrL2NvbnRyb2wuYw0KQEAgLTE0MSw2ICsxNDEsMzQgQEAgdm9pZCBj b250cm9sX3dyaXRlbG4oY29uc3QgY2hhciAqc3RyKQ0KIAl0aW1lb3V0X2VuZCgpOw0KIH0NCiAN Cit2b2lkIGNvbnRyb2xfd3JpdGV1bG9uZyh1bnNpZ25lZCBsb25nIHZhbHVlKQ0KK3sNCisJY2hh ciBzdHJbMzJdOw0KKw0KKwlpZiAoc25wcmludGYoc3RyLCBzaXplb2Yoc3RyKSwgIiVsdSIsIHZh bHVlKSA+PSBzaXplb2Yoc3RyKSkgew0KKwkJcGVycm9yKCJzbnByaW50ZiIpOw0KKwkJZXhpdChF WElUX0ZBSUxVUkUpOw0KKwl9DQorDQorCWNvbnRyb2xfd3JpdGVsbihzdHIpOw0KK30NCisNCit1 bnNpZ25lZCBsb25nIGNvbnRyb2xfcmVhZHVsb25nKHZvaWQpDQorew0KKwl1bnNpZ25lZCBsb25n IHZhbHVlOw0KKwljaGFyICpzdHI7DQorDQorCXN0ciA9IGNvbnRyb2xfcmVhZGxuKCk7DQorDQor CWlmICghc3RyKQ0KKwkJZXhpdChFWElUX0ZBSUxVUkUpOw0KKw0KKwl2YWx1ZSA9IHN0cnRvdWwo c3RyLCBOVUxMLCAxMCk7DQorCWZyZWUoc3RyKTsNCisNCisJcmV0dXJuIHZhbHVlOw0KK30NCisN CiAvKiBSZXR1cm4gdGhlIG5leHQgbGluZSBmcm9tIHRoZSBjb250cm9sIHNvY2tldCAod2l0aG91 dCB0aGUgdHJhaWxpbmcgbmV3bGluZSkuDQogICoNCiAgKiBUaGUgcHJvZ3JhbSB0ZXJtaW5hdGVz IGlmIGEgdGltZW91dCBvY2N1cnMuDQpkaWZmIC0tZ2l0IGEvdG9vbHMvdGVzdGluZy92c29jay9j b250cm9sLmggYi90b29scy90ZXN0aW5nL3Zzb2NrL2NvbnRyb2wuaA0KaW5kZXggNTE4MTRiNGY5 YWMxLi5jMWY3N2ZkYjJjN2EgMTAwNjQ0DQotLS0gYS90b29scy90ZXN0aW5nL3Zzb2NrL2NvbnRy b2wuaA0KKysrIGIvdG9vbHMvdGVzdGluZy92c29jay9jb250cm9sLmgNCkBAIC05LDcgKzksOSBA QCB2b2lkIGNvbnRyb2xfaW5pdChjb25zdCBjaGFyICpjb250cm9sX2hvc3QsIGNvbnN0IGNoYXIg KmNvbnRyb2xfcG9ydCwNCiB2b2lkIGNvbnRyb2xfY2xlYW51cCh2b2lkKTsNCiB2b2lkIGNvbnRy b2xfd3JpdGVsbihjb25zdCBjaGFyICpzdHIpOw0KIGNoYXIgKmNvbnRyb2xfcmVhZGxuKHZvaWQp Ow0KK3Vuc2lnbmVkIGxvbmcgY29udHJvbF9yZWFkdWxvbmcodm9pZCk7DQogdm9pZCBjb250cm9s X2V4cGVjdGxuKGNvbnN0IGNoYXIgKnN0cik7DQogYm9vbCBjb250cm9sX2NtcGxuKGNoYXIgKmxp bmUsIGNvbnN0IGNoYXIgKnN0ciwgYm9vbCBmYWlsKTsNCit2b2lkIGNvbnRyb2xfd3JpdGV1bG9u Zyh1bnNpZ25lZCBsb25nIHZhbHVlKTsNCiANCiAjZW5kaWYgLyogQ09OVFJPTF9IICovDQpkaWZm IC0tZ2l0IGEvdG9vbHMvdGVzdGluZy92c29jay91dGlsLmMgYi90b29scy90ZXN0aW5nL3Zzb2Nr L3V0aWwuYw0KaW5kZXggMmFjYmI3NzAzYzZhLi4wMWI2MzZkMzAzOWEgMTAwNjQ0DQotLS0gYS90 b29scy90ZXN0aW5nL3Zzb2NrL3V0aWwuYw0KKysrIGIvdG9vbHMvdGVzdGluZy92c29jay91dGls LmMNCkBAIC0zOTUsMyArMzk1LDE2IEBAIHZvaWQgc2tpcF90ZXN0KHN0cnVjdCB0ZXN0X2Nhc2Ug KnRlc3RfY2FzZXMsIHNpemVfdCB0ZXN0X2Nhc2VzX2xlbiwNCiANCiAJdGVzdF9jYXNlc1t0ZXN0 X2lkXS5za2lwID0gdHJ1ZTsNCiB9DQorDQordW5zaWduZWQgbG9uZyBoYXNoX2RqYjIoY29uc3Qg dm9pZCAqZGF0YSwgc2l6ZV90IGxlbikNCit7DQorCXVuc2lnbmVkIGxvbmcgaGFzaCA9IDUzODE7 DQorCWludCBpID0gMDsNCisNCisJd2hpbGUgKGkgPCBsZW4pIHsNCisJCWhhc2ggPSAoKGhhc2gg PDwgNSkgKyBoYXNoKSArICgodW5zaWduZWQgY2hhciAqKWRhdGEpW2ldOw0KKwkJaSsrOw0KKwl9 DQorDQorCXJldHVybiBoYXNoOw0KK30NCmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Zzb2Nr L3V0aWwuaCBiL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdXRpbC5oDQppbmRleCBhMzM3NWFkMmZiN2Yu LmZiOTkyMDhhOTVlYSAxMDA2NDQNCi0tLSBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdXRpbC5oDQor KysgYi90b29scy90ZXN0aW5nL3Zzb2NrL3V0aWwuaA0KQEAgLTQ5LDQgKzQ5LDUgQEAgdm9pZCBy dW5fdGVzdHMoY29uc3Qgc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcywNCiB2b2lkIGxpc3Rf dGVzdHMoY29uc3Qgc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcyk7DQogdm9pZCBza2lwX3Rl c3Qoc3RydWN0IHRlc3RfY2FzZSAqdGVzdF9jYXNlcywgc2l6ZV90IHRlc3RfY2FzZXNfbGVuLA0K IAkgICAgICAgY29uc3QgY2hhciAqdGVzdF9pZF9zdHIpOw0KK3Vuc2lnbmVkIGxvbmcgaGFzaF9k amIyKGNvbnN0IHZvaWQgKmRhdGEsIHNpemVfdCBsZW4pOw0KICNlbmRpZiAvKiBVVElMX0ggKi8N CmRpZmYgLS1naXQgYS90b29scy90ZXN0aW5nL3Zzb2NrL3Zzb2NrX3Rlc3QuYyBiL3Rvb2xzL3Rl c3RpbmcvdnNvY2svdnNvY2tfdGVzdC5jDQppbmRleCBiYjZkNjkxY2IzMGQuLjEyZWYwY2NhNmY5 MyAxMDA2NDQNCi0tLSBhL3Rvb2xzL3Rlc3RpbmcvdnNvY2svdnNvY2tfdGVzdC5jDQorKysgYi90 b29scy90ZXN0aW5nL3Zzb2NrL3Zzb2NrX3Rlc3QuYw0KQEAgLTI4NCwxMCArMjg0LDE0IEBAIHN0 YXRpYyB2b2lkIHRlc3Rfc3RyZWFtX21zZ19wZWVrX3NlcnZlcihjb25zdCBzdHJ1Y3QgdGVzdF9v cHRzICpvcHRzKQ0KIAljbG9zZShmZCk7DQogfQ0KIA0KLSNkZWZpbmUgTUVTU0FHRVNfQ05UIDcN Ci0jZGVmaW5lIE1TR19FT1JfSURYIChNRVNTQUdFU19DTlQgLyAyKQ0KKyNkZWZpbmUgU09DS19C VUZfU0laRSAoMiAqIDEwMjQgKiAxMDI0KQ0KKyNkZWZpbmUgTUFYX01TR19TSVpFICgzMiAqIDEw MjQpDQorDQogc3RhdGljIHZvaWQgdGVzdF9zZXFwYWNrZXRfbXNnX2JvdW5kc19jbGllbnQoY29u c3Qgc3RydWN0IHRlc3Rfb3B0cyAqb3B0cykNCiB7DQorCXVuc2lnbmVkIGxvbmcgY3Vycl9oYXNo Ow0KKwlpbnQgcGFnZV9zaXplOw0KKwlpbnQgbXNnX2NvdW50Ow0KIAlpbnQgZmQ7DQogDQogCWZk ID0gdnNvY2tfc2VxcGFja2V0X2Nvbm5lY3Qob3B0cy0+cGVlcl9jaWQsIDEyMzQpOw0KQEAgLTI5 NiwxOCArMzAwLDc4IEBAIHN0YXRpYyB2b2lkIHRlc3Rfc2VxcGFja2V0X21zZ19ib3VuZHNfY2xp ZW50KGNvbnN0IHN0cnVjdCB0ZXN0X29wdHMgKm9wdHMpDQogCQlleGl0KEVYSVRfRkFJTFVSRSk7 DQogCX0NCiANCi0JLyogU2VuZCBzZXZlcmFsIG1lc3NhZ2VzLCBvbmUgd2l0aCBNU0dfRU9SIGZs YWcgKi8NCi0JZm9yIChpbnQgaSA9IDA7IGkgPCBNRVNTQUdFU19DTlQ7IGkrKykNCi0JCXNlbmRf Ynl0ZShmZCwgMSwgKGkgPT0gTVNHX0VPUl9JRFgpID8gTVNHX0VPUiA6IDApOw0KKwkvKiBXYWl0 LCB1bnRpbCByZWNlaXZlciBzZXRzIGJ1ZmZlciBzaXplLiAqLw0KKwljb250cm9sX2V4cGVjdGxu KCJTUlZSRUFEWSIpOw0KKw0KKwljdXJyX2hhc2ggPSAwOw0KKwlwYWdlX3NpemUgPSBnZXRwYWdl c2l6ZSgpOw0KKwltc2dfY291bnQgPSBTT0NLX0JVRl9TSVpFIC8gTUFYX01TR19TSVpFOw0KKw0K Kwlmb3IgKGludCBpID0gMDsgaSA8IG1zZ19jb3VudDsgaSsrKSB7DQorCQlzc2l6ZV90IHNlbmRf c2l6ZTsNCisJCXNpemVfdCBidWZfc2l6ZTsNCisJCWludCBmbGFnczsNCisJCXZvaWQgKmJ1ZjsN CisNCisJCS8qIFVzZSAic21hbGwiIGJ1ZmZlcnMgYW5kICJiaWciIGJ1ZmZlcnMuICovDQorCQlp ZiAoaSAmIDEpDQorCQkJYnVmX3NpemUgPSBwYWdlX3NpemUgKw0KKwkJCQkJKHJhbmQoKSAlIChN QVhfTVNHX1NJWkUgLSBwYWdlX3NpemUpKTsNCisJCWVsc2UNCisJCQlidWZfc2l6ZSA9IDEgKyAo cmFuZCgpICUgcGFnZV9zaXplKTsNCisNCisJCWJ1ZiA9IG1hbGxvYyhidWZfc2l6ZSk7DQorDQor CQlpZiAoIWJ1Zikgew0KKwkJCXBlcnJvcigibWFsbG9jIik7DQorCQkJZXhpdChFWElUX0ZBSUxV UkUpOw0KKwkJfQ0KKw0KKwkJLyogU2V0IGF0IGxlYXN0IG9uZSBNU0dfRU9SICsgc29tZSByYW5k b20uICovDQorCQlpZiAoaSA9PSAobXNnX2NvdW50IC8gMikgfHwgKHJhbmQoKSAmIDEpKSB7DQor CQkJZmxhZ3MgPSBNU0dfRU9SOw0KKwkJCWN1cnJfaGFzaCsrOw0KKwkJfSBlbHNlIHsNCisJCQlm bGFncyA9IDA7DQorCQl9DQorDQorCQlzZW5kX3NpemUgPSBzZW5kKGZkLCBidWYsIGJ1Zl9zaXpl LCBmbGFncyk7DQorDQorCQlpZiAoc2VuZF9zaXplIDwgMCkgew0KKwkJCXBlcnJvcigic2VuZCIp Ow0KKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsNCisJCX0NCisNCisJCWlmIChzZW5kX3NpemUgIT0g YnVmX3NpemUpIHsNCisJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgc2VuZCBzaXplXG4iKTsN CisJCQlleGl0KEVYSVRfRkFJTFVSRSk7DQorCQl9DQorDQorCQkvKg0KKwkJICogSGFzaCBzdW0g aXMgY29tcHV0ZWQgYXQgYm90aCBjbGllbnQgYW5kIHNlcnZlciBpbg0KKwkJICogdGhlIHNhbWUg d2F5OiBIID0gaGFzaChIICsgJ21lc3NhZ2UgbGVuZ3RoJykuIElkZWENCisJCSAqIGlzIHNpbXBs ZTogc3VjaCBoYXNoICJhY2N1bXVsYXRlcyIgbGVuZ3RoIGFuZCBvcmRlcg0KKwkJICogb2YgZXZl cnkgc2VudC9yZWNlaXZlZCBtZXNzYWdlLiBBZnRlciBkYXRhIGV4Y2hhbmdlLA0KKwkJICogYm90 aCBzdW1zIGFyZSBjb21wYXJlZCB1c2luZyBjb250cm9sIHNvY2tldCwgYW5kIGlmDQorCQkgKiBt ZXNzYWdlIGJvdW5kcyB3YXNuJ3QgYnJva2VuIC0gdHdvIHZhbHVlcyBtdXN0IGJlDQorCQkgKiBl cXVhbC4NCisJCSAqLw0KKwkJY3Vycl9oYXNoICs9IHNlbmRfc2l6ZTsNCisJCWN1cnJfaGFzaCA9 IGhhc2hfZGpiMigmY3Vycl9oYXNoLCBzaXplb2YoY3Vycl9oYXNoKSk7DQorCX0NCiANCiAJY29u dHJvbF93cml0ZWxuKCJTRU5ERE9ORSIpOw0KKwljb250cm9sX3dyaXRldWxvbmcoY3Vycl9oYXNo KTsNCiAJY2xvc2UoZmQpOw0KIH0NCiANCiBzdGF0aWMgdm9pZCB0ZXN0X3NlcXBhY2tldF9tc2df Ym91bmRzX3NlcnZlcihjb25zdCBzdHJ1Y3QgdGVzdF9vcHRzICpvcHRzKQ0KIHsNCisJdW5zaWdu ZWQgbG9uZyBzb2NrX2J1Zl9zaXplOw0KKwl1bnNpZ25lZCBsb25nIHJlbW90ZV9oYXNoOw0KKwl1 bnNpZ25lZCBsb25nIGN1cnJfaGFzaDsNCiAJaW50IGZkOw0KLQljaGFyIGJ1ZlsxNl07DQorCWNo YXIgYnVmW01BWF9NU0dfU0laRV07DQogCXN0cnVjdCBtc2doZHIgbXNnID0gezB9Ow0KIAlzdHJ1 Y3QgaW92ZWMgaW92ID0gezB9Ow0KIA0KQEAgLTMxNywyNSArMzgxLDU4IEBAIHN0YXRpYyB2b2lk IHRlc3Rfc2VxcGFja2V0X21zZ19ib3VuZHNfc2VydmVyKGNvbnN0IHN0cnVjdCB0ZXN0X29wdHMg Km9wdHMpDQogCQlleGl0KEVYSVRfRkFJTFVSRSk7DQogCX0NCiANCisJc29ja19idWZfc2l6ZSA9 IFNPQ0tfQlVGX1NJWkU7DQorDQorCWlmIChzZXRzb2Nrb3B0KGZkLCBBRl9WU09DSywgU09fVk1f U09DS0VUU19CVUZGRVJfTUFYX1NJWkUsDQorCQkgICAgICAgJnNvY2tfYnVmX3NpemUsIHNpemVv Zihzb2NrX2J1Zl9zaXplKSkpIHsNCisJCXBlcnJvcigiZ2V0c29ja29wdCIpOw0KKwkJZXhpdChF WElUX0ZBSUxVUkUpOw0KKwl9DQorDQorCWlmIChzZXRzb2Nrb3B0KGZkLCBBRl9WU09DSywgU09f Vk1fU09DS0VUU19CVUZGRVJfU0laRSwNCisJCSAgICAgICAmc29ja19idWZfc2l6ZSwgc2l6ZW9m KHNvY2tfYnVmX3NpemUpKSkgew0KKwkJcGVycm9yKCJnZXRzb2Nrb3B0Iik7DQorCQlleGl0KEVY SVRfRkFJTFVSRSk7DQorCX0NCisNCisJLyogUmVhZHkgdG8gcmVjZWl2ZSBkYXRhLiAqLw0KKwlj b250cm9sX3dyaXRlbG4oIlNSVlJFQURZIik7DQorCS8qIFdhaXQsIHVudGlsIHBlZXIgc2VuZHMg d2hvbGUgZGF0YS4gKi8NCiAJY29udHJvbF9leHBlY3RsbigiU0VORERPTkUiKTsNCiAJaW92Lmlv dl9iYXNlID0gYnVmOw0KIAlpb3YuaW92X2xlbiA9IHNpemVvZihidWYpOw0KIAltc2cubXNnX2lv diA9ICZpb3Y7DQogCW1zZy5tc2dfaW92bGVuID0gMTsNCiANCi0JZm9yIChpbnQgaSA9IDA7IGkg PCBNRVNTQUdFU19DTlQ7IGkrKykgew0KLQkJaWYgKHJlY3Ztc2coZmQsICZtc2csIDApICE9IDEp IHsNCi0JCQlwZXJyb3IoIm1lc3NhZ2UgYm91bmQgdmlvbGF0ZWQiKTsNCi0JCQlleGl0KEVYSVRf RkFJTFVSRSk7DQotCQl9DQorCWN1cnJfaGFzaCA9IDA7DQogDQotCQlpZiAoKGkgPT0gTVNHX0VP Ul9JRFgpIF4gISEobXNnLm1zZ19mbGFncyAmIE1TR19FT1IpKSB7DQotCQkJcGVycm9yKCJNU0df RU9SIik7DQorCXdoaWxlICgxKSB7DQorCQlzc2l6ZV90IHJlY3Zfc2l6ZTsNCisNCisJCXJlY3Zf c2l6ZSA9IHJlY3Ztc2coZmQsICZtc2csIDApOw0KKw0KKwkJaWYgKCFyZWN2X3NpemUpDQorCQkJ YnJlYWs7DQorDQorCQlpZiAocmVjdl9zaXplIDwgMCkgew0KKwkJCXBlcnJvcigicmVjdm1zZyIp Ow0KIAkJCWV4aXQoRVhJVF9GQUlMVVJFKTsNCiAJCX0NCisNCisJCWlmIChtc2cubXNnX2ZsYWdz ICYgTVNHX0VPUikNCisJCQljdXJyX2hhc2grKzsNCisNCisJCWN1cnJfaGFzaCArPSByZWN2X3Np emU7DQorCQljdXJyX2hhc2ggPSBoYXNoX2RqYjIoJmN1cnJfaGFzaCwgc2l6ZW9mKGN1cnJfaGFz aCkpOw0KIAl9DQogDQogCWNsb3NlKGZkKTsNCisJcmVtb3RlX2hhc2ggPSBjb250cm9sX3JlYWR1 bG9uZygpOw0KKw0KKwlpZiAoY3Vycl9oYXNoICE9IHJlbW90ZV9oYXNoKSB7DQorCQlmcHJpbnRm KHN0ZGVyciwgIk1lc3NhZ2UgYm91bmRzIGJyb2tlblxuIik7DQorCQlleGl0KEVYSVRfRkFJTFVS RSk7DQorCX0NCiB9DQogDQogI2RlZmluZSBNRVNTQUdFX1RSVU5DX1NaIDMyDQpAQCAtODM3LDYg KzkzNCw3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikNCiAJCS5wZWVyX2NpZCA9 IFZNQUREUl9DSURfQU5ZLA0KIAl9Ow0KIA0KKwlzcmFuZCh0aW1lKE5VTEwpKTsNCiAJaW5pdF9z aWduYWxzKCk7DQogDQogCWZvciAoOzspIHsNCi0tIA0KMi4yNS4xDQo=