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 151CFA00C4 for ; Fri, 13 May 2022 04:20:14 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 0922540E64; Fri, 13 May 2022 04:20:14 +0200 (CEST) Received: from mail-io1-f100.google.com (mail-io1-f100.google.com [209.85.166.100]) by mails.dpdk.org (Postfix) with ESMTP id 9927F40DDE for ; Fri, 13 May 2022 04:20:12 +0200 (CEST) Received: by mail-io1-f100.google.com with SMTP id h85so7319847iof.12 for ; Thu, 12 May 2022 19:20:12 -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=fTXLcs7ncWxFDBiPJGg2n/wjNGr0ZrMxd9Nh+rhVWdI=; b=eRoSF04Y8d726v75BDU47B/a4Eja4sba5JJyH0BpL9UZW48BEjFJ34Vc9VljCiqy6Z JiKsVdZtdnxBDtpBfGodtU2upfkHZnyZsTqb0fhVTRLPP9/3Ol4qsiXPFj8V5iZuuEPC 5JKq8henl3hc0HTQb/eqYEqhL4oHk2mZtM7pc= 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=fTXLcs7ncWxFDBiPJGg2n/wjNGr0ZrMxd9Nh+rhVWdI=; b=Uv5pUXD7NtWD03uR7UYlGXig5I3bIUiBK48fz0RG+8s8QCNSh6JbRO2QL9D3tDIumn CYWRGlHrjaAFaL7toc9PYcUy27N9FbfSZ7Gys2lrXDhis1TnifGEOMIbRL3ODQmZaa0d xW1Gk70SCCqHB2A8kAHFOarbr4R/xxGV2pvkTBZhFjVvFCKQpvHJlqj7owq8jyI36Awp 6k5lQylf6RI4m8+4cKQtQuuypo8yUljEsaV1JvtouWfgVMAvsjpppjOxOmMX+F0Kh5ZI cdxK3LU/ciJLOEM7oETfg1yZUm8M7whLqFroWCUO7vkRNNdk1n6xUOSmicziHn74BQo8 u/Ag== X-Gm-Message-State: AOAM5316J4375ZQ0+jP9/AXiE3BTyj26H9F2g86L1LV2Zz0i0UDGf+Ea R3BhVxGQyNt64Un5MAKKFXFQQLbMi86v+RffPNFPW9GsJnxBSC5F0nGffsmyBhSY5g== X-Google-Smtp-Source: ABdhPJwoqmxrZ3DlyLJqxLrp+uMZAlajvG//Ob379sn+WBwkGfFV2U/GEdilEturv+QM9TwP7l9z8mCXAAn8 X-Received: by 2002:a02:a507:0:b0:32b:543:d66 with SMTP id e7-20020a02a507000000b0032b05430d66mr1424843jam.146.1652408411891; Thu, 12 May 2022 19:20:11 -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 h17-20020a022b11000000b0032b3a736431sm85490jaa.79.2022.05.12.19.20.11 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 12 May 2022 19:20:11 -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 24DEE605247D; Thu, 12 May 2022 22:20:11 -0400 (EDT) Received: from noxus.dpdklab.iol.unh.edu (localhost [IPv6:::1]) by noxus.dpdklab.iol.unh.edu (Postfix) with ESMTP id 0B2FA6D34A; Thu, 12 May 2022 22:20:11 -0400 (EDT) Content-Type: multipart/mixed; boundary="===============5445468149258783422==" MIME-Version: 1.0 Subject: |WARNING| pw111083-111087 [PATCH] [v5, 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: <20220513022011.0B2FA6D34A@noxus.dpdklab.iol.unh.edu> Date: Thu, 12 May 2022 22:20:11 -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 --===============5445468149258783422== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGVzdC1MYWJlbDogaW9sLXRlc3RpbmcKVGVzdC1TdGF0dXM6IFdBUk5JTkcKaHR0cDovL2RwZGsu b3JnL3BhdGNoLzExMTA4MwoKX2FwcGx5IHBhdGNoIGZhaWx1cmVfCgpTdWJtaXR0ZXI6IERpbmcs IFh1YW4gPHh1YW4uZGluZ0BpbnRlbC5jb20+CkRhdGU6IEZyaWRheSwgTWF5IDEzIDIwMjIgMDI6 MDA6MjIgCkFwcGxpZWQgb246IENvbW1pdElEOmMwYzMwNWVlOWUwZTdjOWZlY2E2NDEyMjY2YTc3 OGYzMzBkMjBjMTkKQXBwbHkgcGF0Y2ggc2V0IDExMTA4My0xMTEwODcgZmFpbGVkOgoKQ2hlY2tp 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 aGJvYXJkL3BhdGNoc2V0cy8yMjEwMC8KClVOSC1JT0wgRFBESyBDb21tdW5pdHkgTGFiCg== --===============5445468149258783422==--