From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B783A00C3 for ; Fri, 13 May 2022 05:09:13 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 5DA1B40DDE; Fri, 13 May 2022 05:09:13 +0200 (CEST) Received: from mail-pl1-f225.google.com (mail-pl1-f225.google.com [209.85.214.225]) by mails.dpdk.org (Postfix) with ESMTP id 78BFA40698 for ; Fri, 13 May 2022 05:09:11 +0200 (CEST) Received: by mail-pl1-f225.google.com with SMTP id q18so6691453pln.12 for ; Thu, 12 May 2022 20:09:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=iol.unh.edu; s=unh-iol; h=mime-version:subject:from:to:cc:message-id:date; bh=ULM/RO6SIdqmsGay1IgqpxvGYVb+ZBvOrri0SL4qLD4=; b=do7CqBi4/0DjcZuvX6V6U6IZePyq7lP3nQiKGYjbGmsJiQb8OygcOhbeR/xCookwtA g7hAKwuakWMAxEmo8aE5qgBQ1dfg3bTbY2qqqNTgw0B5/d9e0oi+hy4lvOwnKpL/pypk YSe7IogKUr9OhcCmTflEsu8VJTEjPPUSDUZRY= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:subject:from:to:cc:message-id:date; bh=ULM/RO6SIdqmsGay1IgqpxvGYVb+ZBvOrri0SL4qLD4=; b=JpThq2G6WO1BKC5AJaxT5J2QsfVZuy5ly2tLyAeRXA36O/IkmCA6e14+7KwGXq6dWL nOUsdmmBfb3ap6cnXK/mZpQcZ/hzS++9guxIIuagYOwSwpvuGcBxtIbg0WEk79Ew+BtA mZqpiFSFDvNhV2DchJ7JvtMXHW7OTycrbHrgAc6WfARJwdL3rPXmReLmnNaiiqHo1B1T rAZRAlYJ581/ZzkXZJ5S/FbHVt6zcKfNDPPHp81ItWrtZAL6l3JkAB5RFyjjMc+ifcBb cw5J3baR1UsWXxYuh/exj1aBxmyHuJBwYkVvngipnZ+YnYb8F2Bvn9duvFpNzet6ojF6 m+8Q== X-Gm-Message-State: AOAM530GdbX+I3JsrAEgAMd+hv2H+nJusxyFCTyTkYPWBKQKu/BlLCs9 Gi1Kk7pAHfqNfOWa8SkN0xDkj9snenmX3HXCDpUy0pZhMJHC3ECEmazZmqgeRtVa4w== X-Google-Smtp-Source: ABdhPJxhtTqwqC4Db+tlZMfGkwbPHuOxoXFcotKSWuphHbTzCkC8tyhFv76ZtM51CcmfAOCDj0O2cMsyK1Pw X-Received: by 2002:a17:903:230a:b0:15e:b7be:daf5 with SMTP id d10-20020a170903230a00b0015eb7bedaf5mr2840228plh.165.1652411350673; Thu, 12 May 2022 20:09:10 -0700 (PDT) Received: from postal.iol.unh.edu (postal.iol.unh.edu. [2606:4100:3880:1234::84]) by smtp-relay.gmail.com with ESMTPS id 1-20020a17090a0d4100b001dc5c02d725sm432879pju.0.2022.05.12.20.09.10 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 May 2022 20:09:10 -0700 (PDT) X-Relaying-Domain: iol.unh.edu Received: from noxus.dpdklab.iol.unh.edu (unknown [IPv6:2606:4100:3880:1722::4]) by postal.iol.unh.edu (Postfix) with ESMTP id D41A0605247D; Thu, 12 May 2022 23:09:09 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id BB13E6D34A; Thu, 12 May 2022 23:09:09 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============5557580972405124680==" MIME-Version: 1.0 Subject: |WARNING| pw111089-111093 [PATCH] [v6, 5/5] examples/vhost: support async dequeue data path From: dpdklab@iol.unh.edu To: test-report@dpdk.org Cc: dpdk-test-reports@iol.unh.edu Message-Id: <20220513030909.BB13E6D34A@noxus.dpdklab.iol.unh.edu> Date: Thu, 12 May 2022 23:09:09 -0400 (EDT) X-BeenThere: test-report@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: automatic DPDK test reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: test-report-bounces@dpdk.org --===============5557580972405124680== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzExMTA4OQoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IERpbmcs IFh1YW4gPHh1YW4uZGluZ0BpbnRlbC5jb20+CkRhdGU6IEZyaWRheSwgTWF5IDEzIDIwMjIgMDI6 NTA6NTggCkFwcGxpZWQgb246IENvbW1pdElEOmMwYzMwNWVlOWUwZTdjOWZlY2E2NDEyMjY2YTc3 OGYzMzBkMjBjMTkKQXBwbHkgcGF0Y2ggc2V0IDExMTA4OS0xMTEwOTMgZmFpbGVkOgoKQ2hlY2tp bmcgcGF0Y2ggZG9jL2d1aWRlcy9wcm9nX2d1aWRlL3Zob3N0X2xpYi5yc3QuLi4KSHVuayAjMSBz dWNjZWVkZWQgYXQgMjc2IChvZmZzZXQgLTYgbGluZXMpLgpDaGVja2luZyBwYXRjaCBkb2MvZ3Vp ZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdC4uLgplcnJvcjogd2hpbGUgc2VhcmNoaW5n IGZvcjoKICBBZGRlZCBhbiBBUEkgd2hpY2ggY2FuIGdldCB0aGUgbnVtYmVyIG9mIGluZmxpZ2h0 IHBhY2tldHMgaW4KICB2aG9zdCBhc3luYyBkYXRhIHBhdGggd2l0aG91dCB1c2luZyBsb2NrLgoK UmVtb3ZlZCBJdGVtcwotLS0tLS0tLS0tLS0tCgoKZXJyb3I6IHBhdGNoIGZhaWxlZDogZG9jL2d1 aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3Q6NzAKQ2hlY2tpbmcgcGF0Y2ggbGliL3Zo b3N0L3J0ZV92aG9zdF9hc3luYy5oLi4uCkh1bmsgIzEgc3VjY2VlZGVkIGF0IDE4NyAob2Zmc2V0 IC0xNyBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGxpYi92aG9zdC92ZXJzaW9uLm1hcC4uLgplcnJv cjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCgkjIGFkZGVkIGluIDIyLjA3CglydGVfdmhvc3RfYXN5 bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmU7Cgp9OwoKSU5URVJOQUwgewoKZXJyb3I6IHBh dGNoIGZhaWxlZDogbGliL3Zob3N0L3ZlcnNpb24ubWFwOjkwCkNoZWNraW5nIHBhdGNoIGxpYi92 aG9zdC92aXJ0aW9fbmV0LmMuLi4KQXBwbGllZCBwYXRjaCBkb2MvZ3VpZGVzL3Byb2dfZ3VpZGUv dmhvc3RfbGliLnJzdCBjbGVhbmx5LgpBcHBseWluZyBwYXRjaCBkb2MvZ3VpZGVzL3JlbF9ub3Rl cy9yZWxlYXNlXzIyXzA3LnJzdCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1bmsgIzEuCkFw cGxpZWQgcGF0Y2ggbGliL3Zob3N0L3J0ZV92aG9zdF9hc3luYy5oIGNsZWFubHkuCkFwcGx5aW5n IHBhdGNoIGxpYi92aG9zdC92ZXJzaW9uLm1hcCB3aXRoIDEgcmVqZWN0Li4uClJlamVjdGVkIGh1 bmsgIzEuCkFwcGxpZWQgcGF0Y2ggbGliL3Zob3N0L3ZpcnRpb19uZXQuYyBjbGVhbmx5LgpkaWZm IGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yMl8wNy5yc3QgYi9kb2MvZ3VpZGVzL3Jl bF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdAkocmVqZWN0ZWQgaHVua3MpCkBAIC03MCw2ICs3MCwx MSBAQCBOZXcgRmVhdHVyZXMKICAgQWRkZWQgYW4gQVBJIHdoaWNoIGNhbiBnZXQgdGhlIG51bWJl ciBvZiBpbmZsaWdodCBwYWNrZXRzIGluCiAgIHZob3N0IGFzeW5jIGRhdGEgcGF0aCB3aXRob3V0 IHVzaW5nIGxvY2suCiAKKyogKipBZGRlZCB2aG9zdCBhc3luYyBkZXF1ZXVlIEFQSSB0byByZWNl aXZlIHBrdHMgZnJvbSBndWVzdC4qKgorCisgIEFkZGVkIHZob3N0IGFzeW5jIGRlcXVldWUgQVBJ IHdoaWNoIGNhbiBsZXZlcmFnZSBETUEgZGV2aWNlcyB0bworICBhY2NlbGVyYXRlIHJlY2Vpdmlu ZyBwa3RzIGZyb20gZ3Vlc3QuCisKIFJlbW92ZWQgSXRlbXMKIC0tLS0tLS0tLS0tLS0KIApkaWZm IGEvbGliL3Zob3N0L3ZlcnNpb24ubWFwIGIvbGliL3Zob3N0L3ZlcnNpb24ubWFwCShyZWplY3Rl ZCBodW5rcykKQEAgLTkwLDcgKzkwLDcgQEAgRVhQRVJJTUVOVEFMIHsKIAogCSMgYWRkZWQgaW4g MjIuMDcKIAlydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmU7Ci0KKwly dGVfdmhvc3RfYXN5bmNfdHJ5X2RlcXVldWVfYnVyc3Q7CiB9OwogCiBJTlRFUk5BTCB7CkNoZWNr aW5nIHBhdGNoIGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy92aG9zdC5yc3QuLi4KQ2hlY2tpbmcg cGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jLi4uCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9y OgoJdWludDE2X3QgbnJfeG1pdCA9IHZob3N0X3R4YnVmZltidWZmX2lkeF0tPmxlbjsKCXN0cnVj dCBydGVfbWJ1ZiAqKm0gPSB2aG9zdF90eGJ1ZmZbYnVmZl9pZHhdLT5tX3RhYmxlOwoKCWlmIChi dWlsdGluX25ldF9kcml2ZXIpIHsKCQlyZXQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwgVklSVElP X1JYUSwgbSwgbnJfeG1pdCk7Cgl9IGVsc2UgaWYgKGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tW SVJUSU9fUlhRXS5hc3luY19lbmFibGVkKSB7CgkJdWludDE2X3QgZW5xdWV1ZV9mYWlsID0gMDsK CQlpbnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tWSVJUSU9fUlhRXS5k ZXZfaWQ7CgoJCWNvbXBsZXRlX2FzeW5jX3BrdHModmRldik7CgkJcmV0ID0gcnRlX3Zob3N0X3N1 Ym1pdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwgbSwgbnJfeG1pdCwgZG1h X2lkLCAwKTsKCgkJZW5xdWV1ZV9mYWlsID0gbnJfeG1pdCAtIHJldDsKCQlpZiAoZW5xdWV1ZV9m YWlsKQoJCQlmcmVlX3BrdHMoJm1bcmV0XSwgbnJfeG1pdCAtIHJldCk7Cgl9IGVsc2UgewoJCXJl dCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwKCQkJCQkJ bSwgbnJfeG1pdCk7Cgl9CgoJaWYgKGVuYWJsZV9zdGF0cykgewoJCV9fYXRvbWljX2FkZF9mZXRj aCgmdmRldi0+c3RhdHMucnhfdG90YWxfYXRvbWljLCBucl94bWl0LAoKZXJyb3I6IHBhdGNoIGZh aWxlZDogZXhhbXBsZXMvdmhvc3QvbWFpbi5jOjEwMjkKSHVuayAjMTAgc3VjY2VlZGVkIGF0IDEw ODUgKG9mZnNldCAxOCBsaW5lcykuCkh1bmsgIzExIHN1Y2NlZWRlZCBhdCAxMzU3IChvZmZzZXQg MTggbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQl9Cgl9CgoJaWYgKGJ1aWx0 aW5fbmV0X2RyaXZlcikgewoJCWVucXVldWVfY291bnQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwg VklSVElPX1JYUSwKCQkJCQkJcGt0cywgcnhfY291bnQpOwoJfSBlbHNlIGlmIChkbWFfYmluZFt2 ZGV2LT52aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewoJCXVpbnQxNl90IGVu cXVldWVfZmFpbCA9IDA7CgkJaW50MTZfdCBkbWFfaWQgPSBkbWFfYmluZFt2ZGV2LT52aWRdLmRt YXNbVklSVElPX1JYUV0uZGV2X2lkOwoKCQljb21wbGV0ZV9hc3luY19wa3RzKHZkZXYpOwoJCWVu cXVldWVfY291bnQgPSBydGVfdmhvc3Rfc3VibWl0X2VucXVldWVfYnVyc3QodmRldi0+dmlkLAoJ CQkJCVZJUlRJT19SWFEsIHBrdHMsIHJ4X2NvdW50LCBkbWFfaWQsIDApOwoKCQllbnF1ZXVlX2Zh aWwgPSByeF9jb3VudCAtIGVucXVldWVfY291bnQ7CgkJaWYgKGVucXVldWVfZmFpbCkKCQkJZnJl ZV9wa3RzKCZwa3RzW2VucXVldWVfY291bnRdLCBlbnF1ZXVlX2ZhaWwpOwoKCX0gZWxzZSB7CgkJ ZW5xdWV1ZV9jb3VudCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElP X1JYUSwKCQkJCQkJcGt0cywgcnhfY291bnQpOwoJfQoKCWlmIChlbmFibGVfc3RhdHMpIHsKCQlf X2F0b21pY19hZGRfZmV0Y2goJnZkZXYtPnN0YXRzLnJ4X3RvdGFsX2F0b21pYywgcnhfY291bnQs CgplcnJvcjogcGF0Y2ggZmFpbGVkOiBleGFtcGxlcy92aG9zdC9tYWluLmM6MTM1NQpIdW5rICMx MyBzdWNjZWVkZWQgYXQgMTQ0MSAob2Zmc2V0IDM2IGxpbmVzKS4KSHVuayAjMTQgc3VjY2VlZGVk IGF0IDE0NzMgKG9mZnNldCAzNiBsaW5lcykuCkh1bmsgIzE1IHN1Y2NlZWRlZCBhdCAxNTUzIChv ZmZzZXQgMzYgbGluZXMpLgplcnJvcjogd2hpbGUgc2VhcmNoaW5nIGZvcjoKCQl2ZGV2LT52aWQp OwoKCWlmIChkbWFfYmluZFt2aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewoJ CXVpbnQxNl90IG5fcGt0ID0gMDsKCQlpbnQgcGt0c19pbmZsaWdodDsKCQlpbnQxNl90IGRtYV9p ZCA9IGRtYV9iaW5kW3ZpZF0uZG1hc1tWSVJUSU9fUlhRXS5kZXZfaWQ7CgkJcGt0c19pbmZsaWdo dCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZSh2aWQsIFZJUlRJ T19SWFEpOwoJCXN0cnVjdCBydGVfbWJ1ZiAqbV9jcGxbcGt0c19pbmZsaWdodF07CgoJCXdoaWxl IChwa3RzX2luZmxpZ2h0KSB7CgkJCW5fcGt0ID0gcnRlX3Zob3N0X2NsZWFyX3F1ZXVlX3RocmVh ZF91bnNhZmUodmlkLCBWSVJUSU9fUlhRLAoJCQkJCQltX2NwbCwgcGt0c19pbmZsaWdodCwgZG1h X2lkLCAwKTsKCQkJZnJlZV9wa3RzKG1fY3BsLCBuX3BrdCk7CgkJCXBrdHNfaW5mbGlnaHQgPSBy dGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLAoJCQkJCQkJCQkJ VklSVElPX1JYUSk7CgkJfQoKCQlydGVfdmhvc3RfYXN5bmNfY2hhbm5lbF91bnJlZ2lzdGVyKHZp ZCwgVklSVElPX1JYUSk7CgkJZG1hX2JpbmRbdmlkXS5kbWFzW1ZJUlRJT19SWFFdLmFzeW5jX2Vu YWJsZWQgPSBmYWxzZTsKCX0KCglydGVfZnJlZSh2ZGV2KTsKfQoKLyoKICogQSBuZXcgZGV2aWNl IGlzIGFkZGVkIHRvIGEgZGF0YSBjb3JlLiBGaXJzdCB0aGUgZGV2aWNlIGlzIGFkZGVkIHRvIHRo ZSBtYWluIGxpbmtlZCBsaXN0CiAqIGFuZCB0aGVuIGFsbG9jYXRlZCB0byBhIHNwZWNpZmljIGRh dGEgY29yZS4KCmVycm9yOiBwYXRjaCBmYWlsZWQ6IGV4YW1wbGVzL3Zob3N0L21haW4uYzoxNTM1 Ckh1bmsgIzE3IHN1Y2NlZWRlZCBhdCAxNjU5IChvZmZzZXQgLTE5IGxpbmVzKS4KSHVuayAjMTgg c3VjY2VlZGVkIGF0IDE2ODMgKG9mZnNldCAtMTkgbGluZXMpLgpIdW5rICMxOSBzdWNjZWVkZWQg YXQgMTcyNSAob2Zmc2V0IC0xOSBsaW5lcykuCmVycm9yOiB3aGlsZSBzZWFyY2hpbmcgZm9yOgoJ aWYgKHF1ZXVlX2lkICE9IFZJUlRJT19SWFEpCgkJcmV0dXJuIDA7CgoJaWYgKGRtYV9iaW5kW3Zp ZF0uZG1hc1txdWV1ZV9pZF0uYXN5bmNfZW5hYmxlZCkgewoJCWlmICghZW5hYmxlKSB7CgkJCXVp bnQxNl90IG5fcGt0ID0gMDsKCQkJaW50IHBrdHNfaW5mbGlnaHQ7CgkJCXBrdHNfaW5mbGlnaHQg PSBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNhZmUodmlkLCBxdWV1ZV9p ZCk7CgkJCWludDE2X3QgZG1hX2lkID0gZG1hX2JpbmRbdmlkXS5kbWFzW1ZJUlRJT19SWFFdLmRl dl9pZDsKCQkJc3RydWN0IHJ0ZV9tYnVmICptX2NwbFtwa3RzX2luZmxpZ2h0XTsKCgkJCXdoaWxl IChwa3RzX2luZmxpZ2h0KSB7CgkJCQluX3BrdCA9IHJ0ZV92aG9zdF9jbGVhcl9xdWV1ZV90aHJl YWRfdW5zYWZlKHZpZCwgcXVldWVfaWQsCgkJCQkJCQltX2NwbCwgcGt0c19pbmZsaWdodCwgZG1h X2lkLCAwKTsKCQkJCWZyZWVfcGt0cyhtX2NwbCwgbl9wa3QpOwoJCQkJcGt0c19pbmZsaWdodCA9 IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZSh2aWQsCgkJCQkJCQkJ CQkJcXVldWVfaWQpOwoJCQl9CgkJfQoJfQoKCXJldHVybiAwOwoKZXJyb3I6IHBhdGNoIGZhaWxl ZDogZXhhbXBsZXMvdmhvc3QvbWFpbi5jOjE2NDcKSHVuayAjMjEgc3VjY2VlZGVkIGF0IDE5ODAg KG9mZnNldCAtOSBsaW5lcykuCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL3Zob3N0L21haW4uaC4u LgpIdW5rICMxIHN1Y2NlZWRlZCBhdCA2MiAob2Zmc2V0IDEgbGluZSkuCkh1bmsgIzIgc3VjY2Vl ZGVkIGF0IDEwMSAob2Zmc2V0IDEgbGluZSkuCkh1bmsgIzMgc3VjY2VlZGVkIGF0IDExMiAob2Zm c2V0IDEgbGluZSkuCkNoZWNraW5nIHBhdGNoIGV4YW1wbGVzL3Zob3N0L3ZpcnRpb19uZXQuYy4u LgpBcHBsaWVkIHBhdGNoIGRvYy9ndWlkZXMvc2FtcGxlX2FwcF91Zy92aG9zdC5yc3QgY2xlYW5s eS4KQXBwbHlpbmcgcGF0Y2ggZXhhbXBsZXMvdmhvc3QvbWFpbi5jIHdpdGggNCByZWplY3RzLi4u Ckh1bmsgIzEgYXBwbGllZCBjbGVhbmx5LgpIdW5rICMyIGFwcGxpZWQgY2xlYW5seS4KSHVuayAj MyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzQgYXBwbGllZCBjbGVhbmx5LgpIdW5rICM1IGFwcGxp ZWQgY2xlYW5seS4KSHVuayAjNiBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzcgYXBwbGllZCBjbGVh bmx5LgpIdW5rICM4IGFwcGxpZWQgY2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjOS4KSHVuayAjMTAg YXBwbGllZCBjbGVhbmx5LgpIdW5rICMxMSBhcHBsaWVkIGNsZWFubHkuClJlamVjdGVkIGh1bmsg IzEyLgpIdW5rICMxMyBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzE0IGFwcGxpZWQgY2xlYW5seS4K SHVuayAjMTUgYXBwbGllZCBjbGVhbmx5LgpSZWplY3RlZCBodW5rICMxNi4KSHVuayAjMTcgYXBw bGllZCBjbGVhbmx5LgpIdW5rICMxOCBhcHBsaWVkIGNsZWFubHkuCkh1bmsgIzE5IGFwcGxpZWQg Y2xlYW5seS4KUmVqZWN0ZWQgaHVuayAjMjAuCkh1bmsgIzIxIGFwcGxpZWQgY2xlYW5seS4KQXBw bGllZCBwYXRjaCBleGFtcGxlcy92aG9zdC9tYWluLmggY2xlYW5seS4KQXBwbGllZCBwYXRjaCBl eGFtcGxlcy92aG9zdC92aXJ0aW9fbmV0LmMgY2xlYW5seS4KZGlmZiBhL2V4YW1wbGVzL3Zob3N0 L21haW4uYyBiL2V4YW1wbGVzL3Zob3N0L21haW4uYwkocmVqZWN0ZWQgaHVua3MpCkBAIC0xMDI5 LDIyICsxMDU4LDcgQEAgZHJhaW5fdmhvc3Qoc3RydWN0IHZob3N0X2RldiAqdmRldikKIAl1aW50 MTZfdCBucl94bWl0ID0gdmhvc3RfdHhidWZmW2J1ZmZfaWR4XS0+bGVuOwogCXN0cnVjdCBydGVf bWJ1ZiAqKm0gPSB2aG9zdF90eGJ1ZmZbYnVmZl9pZHhdLT5tX3RhYmxlOwogCi0JaWYgKGJ1aWx0 aW5fbmV0X2RyaXZlcikgewotCQlyZXQgPSB2c19lbnF1ZXVlX3BrdHModmRldiwgVklSVElPX1JY USwgbSwgbnJfeG1pdCk7Ci0JfSBlbHNlIGlmIChkbWFfYmluZFt2ZGV2LT52aWRdLmRtYXNbVklS VElPX1JYUV0uYXN5bmNfZW5hYmxlZCkgewotCQl1aW50MTZfdCBlbnF1ZXVlX2ZhaWwgPSAwOwot CQlpbnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZkZXYtPnZpZF0uZG1hc1tWSVJUSU9fUlhRXS5k ZXZfaWQ7Ci0KLQkJY29tcGxldGVfYXN5bmNfcGt0cyh2ZGV2KTsKLQkJcmV0ID0gcnRlX3Zob3N0 X3N1Ym1pdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JYUSwgbSwgbnJfeG1pdCwg ZG1hX2lkLCAwKTsKLQotCQllbnF1ZXVlX2ZhaWwgPSBucl94bWl0IC0gcmV0OwotCQlpZiAoZW5x dWV1ZV9mYWlsKQotCQkJZnJlZV9wa3RzKCZtW3JldF0sIG5yX3htaXQgLSByZXQpOwotCX0gZWxz ZSB7Ci0JCXJldCA9IHJ0ZV92aG9zdF9lbnF1ZXVlX2J1cnN0KHZkZXYtPnZpZCwgVklSVElPX1JY USwKLQkJCQkJCW0sIG5yX3htaXQpOwotCX0KKwlyZXQgPSB2ZGV2X3F1ZXVlX29wc1t2ZGV2LT52 aWRdLmVucXVldWVfcGt0X2J1cnN0KHZkZXYsIFZJUlRJT19SWFEsIG0sIG5yX3htaXQpOwogCiAJ aWYgKGVuYWJsZV9zdGF0cykgewogCQlfX2F0b21pY19hZGRfZmV0Y2goJnZkZXYtPnN0YXRzLnJ4 X3RvdGFsX2F0b21pYywgbnJfeG1pdCwKQEAgLTEzNTUsMjUgKzEzOTUsOCBAQCBkcmFpbl9ldGhf cngoc3RydWN0IHZob3N0X2RldiAqdmRldikKIAkJfQogCX0KIAotCWlmIChidWlsdGluX25ldF9k cml2ZXIpIHsKLQkJZW5xdWV1ZV9jb3VudCA9IHZzX2VucXVldWVfcGt0cyh2ZGV2LCBWSVJUSU9f UlhRLAotCQkJCQkJcGt0cywgcnhfY291bnQpOwotCX0gZWxzZSBpZiAoZG1hX2JpbmRbdmRldi0+ dmlkXS5kbWFzW1ZJUlRJT19SWFFdLmFzeW5jX2VuYWJsZWQpIHsKLQkJdWludDE2X3QgZW5xdWV1 ZV9mYWlsID0gMDsKLQkJaW50MTZfdCBkbWFfaWQgPSBkbWFfYmluZFt2ZGV2LT52aWRdLmRtYXNb VklSVElPX1JYUV0uZGV2X2lkOwotCi0JCWNvbXBsZXRlX2FzeW5jX3BrdHModmRldik7Ci0JCWVu cXVldWVfY291bnQgPSBydGVfdmhvc3Rfc3VibWl0X2VucXVldWVfYnVyc3QodmRldi0+dmlkLAot CQkJCQlWSVJUSU9fUlhRLCBwa3RzLCByeF9jb3VudCwgZG1hX2lkLCAwKTsKLQotCQllbnF1ZXVl X2ZhaWwgPSByeF9jb3VudCAtIGVucXVldWVfY291bnQ7Ci0JCWlmIChlbnF1ZXVlX2ZhaWwpCi0J CQlmcmVlX3BrdHMoJnBrdHNbZW5xdWV1ZV9jb3VudF0sIGVucXVldWVfZmFpbCk7Ci0KLQl9IGVs c2UgewotCQllbnF1ZXVlX2NvdW50ID0gcnRlX3Zob3N0X2VucXVldWVfYnVyc3QodmRldi0+dmlk LCBWSVJUSU9fUlhRLAotCQkJCQkJcGt0cywgcnhfY291bnQpOwotCX0KKwllbnF1ZXVlX2NvdW50 ID0gdmRldl9xdWV1ZV9vcHNbdmRldi0+dmlkXS5lbnF1ZXVlX3BrdF9idXJzdCh2ZGV2LAorCQkJ CQlWSVJUSU9fUlhRLCBwa3RzLCByeF9jb3VudCk7CiAKIAlpZiAoZW5hYmxlX3N0YXRzKSB7CiAJ CV9fYXRvbWljX2FkZF9mZXRjaCgmdmRldi0+c3RhdHMucnhfdG90YWxfYXRvbWljLCByeF9jb3Vu dCwKQEAgLTE1MzUsMjcgKzE1OTQsNzkgQEAgZGVzdHJveV9kZXZpY2UoaW50IHZpZCkKIAkJdmRl di0+dmlkKTsKIAogCWlmIChkbWFfYmluZFt2aWRdLmRtYXNbVklSVElPX1JYUV0uYXN5bmNfZW5h YmxlZCkgewotCQl1aW50MTZfdCBuX3BrdCA9IDA7Ci0JCWludCBwa3RzX2luZmxpZ2h0OwotCQlp bnQxNl90IGRtYV9pZCA9IGRtYV9iaW5kW3ZpZF0uZG1hc1tWSVJUSU9fUlhRXS5kZXZfaWQ7Ci0J CXBrdHNfaW5mbGlnaHQgPSBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNh ZmUodmlkLCBWSVJUSU9fUlhRKTsKLQkJc3RydWN0IHJ0ZV9tYnVmICptX2NwbFtwa3RzX2luZmxp Z2h0XTsKLQotCQl3aGlsZSAocGt0c19pbmZsaWdodCkgewotCQkJbl9wa3QgPSBydGVfdmhvc3Rf Y2xlYXJfcXVldWVfdGhyZWFkX3Vuc2FmZSh2aWQsIFZJUlRJT19SWFEsCi0JCQkJCQltX2NwbCwg cGt0c19pbmZsaWdodCwgZG1hX2lkLCAwKTsKLQkJCWZyZWVfcGt0cyhtX2NwbCwgbl9wa3QpOwot CQkJcGt0c19pbmZsaWdodCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vu c2FmZSh2aWQsCi0JCQkJCQkJCQkJVklSVElPX1JYUSk7Ci0JCX0KLQorCQl2aG9zdF9jbGVhcl9x dWV1ZV90aHJlYWRfdW5zYWZlKHZkZXYsIFZJUlRJT19SWFEpOwogCQlydGVfdmhvc3RfYXN5bmNf Y2hhbm5lbF91bnJlZ2lzdGVyKHZpZCwgVklSVElPX1JYUSk7CiAJCWRtYV9iaW5kW3ZpZF0uZG1h c1tWSVJUSU9fUlhRXS5hc3luY19lbmFibGVkID0gZmFsc2U7CiAJfQogCisJaWYgKGRtYV9iaW5k W3ZpZF0uZG1hc1tWSVJUSU9fVFhRXS5hc3luY19lbmFibGVkKSB7CisJCXZob3N0X2NsZWFyX3F1 ZXVlX3RocmVhZF91bnNhZmUodmRldiwgVklSVElPX1RYUSk7CisJCXJ0ZV92aG9zdF9hc3luY19j aGFubmVsX3VucmVnaXN0ZXIodmlkLCBWSVJUSU9fVFhRKTsKKwkJZG1hX2JpbmRbdmlkXS5kbWFz W1ZJUlRJT19UWFFdLmFzeW5jX2VuYWJsZWQgPSBmYWxzZTsKKwl9CisKIAlydGVfZnJlZSh2ZGV2 KTsKIH0KIAorc3RhdGljIGludAorZ2V0X3NvY2tldGlkX2J5X3ZpZChpbnQgdmlkKQoreworCWlu dCBpOworCWNoYXIgaWZuYW1lW1BBVEhfTUFYXTsKKwlydGVfdmhvc3RfZ2V0X2lmbmFtZSh2aWQs IGlmbmFtZSwgc2l6ZW9mKGlmbmFtZSkpOworCisJZm9yIChpID0gMDsgaSA8IG5iX3NvY2tldHM7 IGkrKykgeworCQljaGFyICpmaWxlID0gc29ja2V0X2ZpbGVzICsgaSAqIFBBVEhfTUFYOworCQlp ZiAoc3RyY21wKGZpbGUsIGlmbmFtZSkgPT0gMCkKKwkJCXJldHVybiBpOworCX0KKworCXJldHVy biAtMTsKK30KKworc3RhdGljIGludAoraW5pdF92aG9zdF9xdWV1ZV9vcHMoaW50IHZpZCkKK3sK KwlpZiAoYnVpbHRpbl9uZXRfZHJpdmVyKSB7CisJCXZkZXZfcXVldWVfb3BzW3ZpZF0uZW5xdWV1 ZV9wa3RfYnVyc3QgPSBidWlsdGluX2VucXVldWVfcGt0czsKKwkJdmRldl9xdWV1ZV9vcHNbdmlk XS5kZXF1ZXVlX3BrdF9idXJzdCA9IGJ1aWx0aW5fZGVxdWV1ZV9wa3RzOworCX0gZWxzZSB7CisJ CWlmIChkbWFfYmluZFt2aWQyc29ja2V0aWRbdmlkXV0uZG1hc1tWSVJUSU9fUlhRXS5hc3luY19l bmFibGVkKQorCQkJdmRldl9xdWV1ZV9vcHNbdmlkXS5lbnF1ZXVlX3BrdF9idXJzdCA9IGFzeW5j X2VucXVldWVfcGt0czsKKwkJZWxzZQorCQkJdmRldl9xdWV1ZV9vcHNbdmlkXS5lbnF1ZXVlX3Br dF9idXJzdCA9IHN5bmNfZW5xdWV1ZV9wa3RzOworCisJCWlmIChkbWFfYmluZFt2aWQyc29ja2V0 aWRbdmlkXV0uZG1hc1tWSVJUSU9fVFhRXS5hc3luY19lbmFibGVkKQorCQkJdmRldl9xdWV1ZV9v cHNbdmlkXS5kZXF1ZXVlX3BrdF9idXJzdCA9IGFzeW5jX2RlcXVldWVfcGt0czsKKwkJZWxzZQor CQkJdmRldl9xdWV1ZV9vcHNbdmlkXS5kZXF1ZXVlX3BrdF9idXJzdCA9IHN5bmNfZGVxdWV1ZV9w a3RzOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50Cit2aG9zdF9hc3luY19jaGFu bmVsX3JlZ2lzdGVyKGludCB2aWQpCit7CisJaW50IHJ4X3JldCA9IDAsIHR4X3JldCA9IDA7CisK KwlpZiAoZG1hX2JpbmRbdmlkMnNvY2tldGlkW3ZpZF1dLmRtYXNbVklSVElPX1JYUV0uZGV2X2lk ICE9IElOVkFMSURfRE1BX0lEKSB7CisJCXJ4X3JldCA9IHJ0ZV92aG9zdF9hc3luY19jaGFubmVs X3JlZ2lzdGVyKHZpZCwgVklSVElPX1JYUSk7CisJCWlmIChyeF9yZXQgPT0gMCkKKwkJCWRtYV9i aW5kW3ZpZDJzb2NrZXRpZFt2aWRdXS5kbWFzW1ZJUlRJT19SWFFdLmFzeW5jX2VuYWJsZWQgPSB0 cnVlOworCX0KKworCWlmIChkbWFfYmluZFt2aWQyc29ja2V0aWRbdmlkXV0uZG1hc1tWSVJUSU9f VFhRXS5kZXZfaWQgIT0gSU5WQUxJRF9ETUFfSUQpIHsKKwkJdHhfcmV0ID0gcnRlX3Zob3N0X2Fz eW5jX2NoYW5uZWxfcmVnaXN0ZXIodmlkLCBWSVJUSU9fVFhRKTsKKwkJaWYgKHR4X3JldCA9PSAw KQorCQkJZG1hX2JpbmRbdmlkMnNvY2tldGlkW3ZpZF1dLmRtYXNbVklSVElPX1RYUV0uYXN5bmNf ZW5hYmxlZCA9IHRydWU7CisJfQorCisJcmV0dXJuIHJ4X3JldCB8IHR4X3JldDsKK30KKworCisK IC8qCiAgKiBBIG5ldyBkZXZpY2UgaXMgYWRkZWQgdG8gYSBkYXRhIGNvcmUuIEZpcnN0IHRoZSBk ZXZpY2UgaXMgYWRkZWQgdG8gdGhlIG1haW4gbGlua2VkIGxpc3QKICAqIGFuZCB0aGVuIGFsbG9j YXRlZCB0byBhIHNwZWNpZmljIGRhdGEgY29yZS4KQEAgLTE2NDcsMjIgKzE3NjIsOSBAQCB2cmlu Z19zdGF0ZV9jaGFuZ2VkKGludCB2aWQsIHVpbnQxNl90IHF1ZXVlX2lkLCBpbnQgZW5hYmxlKQog CWlmIChxdWV1ZV9pZCAhPSBWSVJUSU9fUlhRKQogCQlyZXR1cm4gMDsKIAotCWlmIChkbWFfYmlu ZFt2aWRdLmRtYXNbcXVldWVfaWRdLmFzeW5jX2VuYWJsZWQpIHsKLQkJaWYgKCFlbmFibGUpIHsK LQkJCXVpbnQxNl90IG5fcGt0ID0gMDsKLQkJCWludCBwa3RzX2luZmxpZ2h0OwotCQkJcGt0c19p bmZsaWdodCA9IHJ0ZV92aG9zdF9hc3luY19nZXRfaW5mbGlnaHRfdGhyZWFkX3Vuc2FmZSh2aWQs IHF1ZXVlX2lkKTsKLQkJCWludDE2X3QgZG1hX2lkID0gZG1hX2JpbmRbdmlkXS5kbWFzW1ZJUlRJ T19SWFFdLmRldl9pZDsKLQkJCXN0cnVjdCBydGVfbWJ1ZiAqbV9jcGxbcGt0c19pbmZsaWdodF07 Ci0KLQkJCXdoaWxlIChwa3RzX2luZmxpZ2h0KSB7Ci0JCQkJbl9wa3QgPSBydGVfdmhvc3RfY2xl YXJfcXVldWVfdGhyZWFkX3Vuc2FmZSh2aWQsIHF1ZXVlX2lkLAotCQkJCQkJCW1fY3BsLCBwa3Rz X2luZmxpZ2h0LCBkbWFfaWQsIDApOwotCQkJCWZyZWVfcGt0cyhtX2NwbCwgbl9wa3QpOwotCQkJ CXBrdHNfaW5mbGlnaHQgPSBydGVfdmhvc3RfYXN5bmNfZ2V0X2luZmxpZ2h0X3RocmVhZF91bnNh ZmUodmlkLAotCQkJCQkJCQkJCQlxdWV1ZV9pZCk7Ci0JCQl9Ci0JCX0KKwlpZiAoZG1hX2JpbmRb dmlkMnNvY2tldGlkW3ZpZF1dLmRtYXNbcXVldWVfaWRdLmFzeW5jX2VuYWJsZWQpIHsKKwkJaWYg KCFlbmFibGUpCisJCQl2aG9zdF9jbGVhcl9xdWV1ZV90aHJlYWRfdW5zYWZlKHZkZXYsIHF1ZXVl X2lkKTsKIAl9CiAKIAlyZXR1cm4gMDsKCmh0dHBzOi8vbGFiLmRwZGsub3JnL3Jlc3VsdHMvZGFz aGJvYXJkL3BhdGNoc2V0cy8yMjEwMS8KClVOSC1JT0wgRFBESyBDb21tdW5pdHkgTGFiCg== --===============5557580972405124680==--