From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jamal Hadi Salim Subject: Re: [PATCH net-next v12 0/4] net sched actions: improve dump performance Date: Mon, 31 Jul 2017 08:06:42 -0400 Message-ID: <466dd890-ffae-4cdb-dc97-d173bd390148@mojatatu.com> References: <1501435492-28301-1-git-send-email-jhs@emojatatu.com> <20170730.192836.370680005861016480.davem@davemloft.net> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------8CD2768C80ACD8B0C03CAC6D" Cc: netdev@vger.kernel.org, jiri@resnulli.us, xiyou.wangcong@gmail.com, eric.dumazet@gmail.com, horms@verge.net.au, dsahern@gmail.com, Stephen Hemminger To: David Miller Return-path: Received: from mail-io0-f171.google.com ([209.85.223.171]:33419 "EHLO mail-io0-f171.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751784AbdGaMGp (ORCPT ); Mon, 31 Jul 2017 08:06:45 -0400 Received: by mail-io0-f171.google.com with SMTP id j32so89476340iod.0 for ; Mon, 31 Jul 2017 05:06:45 -0700 (PDT) In-Reply-To: <20170730.192836.370680005861016480.davem@davemloft.net> Content-Language: en-GB Sender: netdev-owner@vger.kernel.org List-ID: This is a multi-part message in MIME format. --------------8CD2768C80ACD8B0C03CAC6D Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 17-07-30 10:28 PM, David Miller wrote: > > Series applied, thanks. > Thanks David. Attaching the iproute2 patch. I will submit an official one with man page changes later. Stephen - you take net-next changes? cheers, jamal --------------8CD2768C80ACD8B0C03CAC6D Content-Type: text/plain; charset=UTF-8; name="large-dump-patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="large-dump-patch" ZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvbmV0bGluay5oIGIvaW5jbHVkZS9saW51eC9u ZXRsaW5rLmgKaW5kZXggM2E1M2I5YS4uZjRmYzljOSAxMDA2NDQKLS0tIGEvaW5jbHVkZS9s aW51eC9uZXRsaW5rLmgKKysrIGIvaW5jbHVkZS9saW51eC9uZXRsaW5rLmgKQEAgLTEsNSAr MSw1IEBACi0jaWZuZGVmIF9fTElOVVhfTkVUTElOS19ICi0jZGVmaW5lIF9fTElOVVhfTkVU TElOS19ICisjaWZuZGVmIF9VQVBJX19MSU5VWF9ORVRMSU5LX0gKKyNkZWZpbmUgX1VBUElf X0xJTlVYX05FVExJTktfSAogCiAjaW5jbHVkZSA8bGludXgva2VybmVsLmg+CiAjaW5jbHVk ZSA8bGludXgvc29ja2V0Lmg+IC8qIGZvciBfX2tlcm5lbF9zYV9mYW1pbHlfdCAqLwpAQCAt MTQzLDggKzE0MywxMCBAQCBlbnVtIG5sbXNnZXJyX2F0dHJzIHsKICNkZWZpbmUgTkVUTElO S19QS1RJTkZPCQkJMwogI2RlZmluZSBORVRMSU5LX0JST0FEQ0FTVF9FUlJPUgkJNAogI2Rl ZmluZSBORVRMSU5LX05PX0VOT0JVRlMJCTUKKyNpZm5kZWYgX19LRVJORUxfXwogI2RlZmlu ZSBORVRMSU5LX1JYX1JJTkcJCQk2CiAjZGVmaW5lIE5FVExJTktfVFhfUklORwkJCTcKKyNl bmRpZgogI2RlZmluZSBORVRMSU5LX0xJU1RFTl9BTExfTlNJRAkJOAogI2RlZmluZSBORVRM SU5LX0xJU1RfTUVNQkVSU0hJUFMJOQogI2RlZmluZSBORVRMSU5LX0NBUF9BQ0sJCQkxMApA QCAtMTcxLDYgKzE3Myw3IEBAIHN0cnVjdCBubF9tbWFwX2hkciB7CiAJX191MzIJCW5tX2dp ZDsKIH07CiAKKyNpZm5kZWYgX19LRVJORUxfXwogZW51bSBubF9tbWFwX3N0YXR1cyB7CiAJ TkxfTU1BUF9TVEFUVVNfVU5VU0VELAogCU5MX01NQVBfU1RBVFVTX1JFU0VSVkVELApAQCAt MTgyLDYgKzE4NSw3IEBAIGVudW0gbmxfbW1hcF9zdGF0dXMgewogI2RlZmluZSBOTF9NTUFQ X01TR19BTElHTk1FTlQJCU5MTVNHX0FMSUdOVE8KICNkZWZpbmUgTkxfTU1BUF9NU0dfQUxJ R04oc3opCQlfX0FMSUdOX0tFUk5FTChzeiwgTkxfTU1BUF9NU0dfQUxJR05NRU5UKQogI2Rl ZmluZSBOTF9NTUFQX0hEUkxFTgkJCU5MX01NQVBfTVNHX0FMSUdOKHNpemVvZihzdHJ1Y3Qg bmxfbW1hcF9oZHIpKQorI2VuZGlmCiAKICNkZWZpbmUgTkVUX01BSk9SIDM2CQkvKiBNYWpv ciAzNiBpcyByZXNlcnZlZCBmb3IgbmV0d29ya2luZyAJCQkJCQkqLwogCkBAIC0yMjIsNSAr MjI2LDIyIEBAIHN0cnVjdCBubGF0dHIgewogI2RlZmluZSBOTEFfQUxJR04obGVuKQkJKCgo bGVuKSArIE5MQV9BTElHTlRPIC0gMSkgJiB+KE5MQV9BTElHTlRPIC0gMSkpCiAjZGVmaW5l IE5MQV9IRFJMRU4JCSgoaW50KSBOTEFfQUxJR04oc2l6ZW9mKHN0cnVjdCBubGF0dHIpKSkK IAorLyogR2VuZXJpYyAzMiBiaXRmbGFncyBhdHRyaWJ1dGUgY29udGVudCBzZW50IHRvIHRo ZSBrZXJuZWwuCisgKgorICogVGhlIHZhbHVlIGlzIGEgYml0bWFwIHRoYXQgZGVmaW5lcyB0 aGUgdmFsdWVzIGJlaW5nIHNldAorICogVGhlIHNlbGVjdG9yIGlzIGEgYml0bWFzayB0aGF0 IGRlZmluZXMgd2hpY2ggdmFsdWUgaXMgbGVnaXQKKyAqCisgKiBFeGFtcGxlczoKKyAqICB2 YWx1ZSA9IDB4MCwgYW5kIHNlbGVjdG9yID0gMHgxCisgKiAgaW1wbGllcyB3ZSBhcmUgc2Vs ZWN0aW5nIGJpdCAxIGFuZCB3ZSB3YW50IHRvIHNldCBpdHMgdmFsdWUgdG8gMC4KKyAqCisg KiAgdmFsdWUgPSAweDIsIGFuZCBzZWxlY3RvciA9IDB4MgorICogIGltcGxpZXMgd2UgYXJl IHNlbGVjdGluZyBiaXQgMiBhbmQgd2Ugd2FudCB0byBzZXQgaXRzIHZhbHVlIHRvIDEuCisg KgorICovCitzdHJ1Y3QgbmxhX2JpdGZpZWxkMzIgeworCV9fdTMyIHZhbHVlOworCV9fdTMy IHNlbGVjdG9yOworfTsKIAotI2VuZGlmIC8qIF9fTElOVVhfTkVUTElOS19IICovCisjZW5k aWYgLyogX1VBUElfX0xJTlVYX05FVExJTktfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9s aW51eC9ydG5ldGxpbmsuaCBiL2luY2x1ZGUvbGludXgvcnRuZXRsaW5rLmgKaW5kZXggMWQ2 MmRhZC4uZGFiN2RhZCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9saW51eC9ydG5ldGxpbmsuaAor KysgYi9pbmNsdWRlL2xpbnV4L3J0bmV0bGluay5oCkBAIC0xLDUgKzEsNSBAQAotI2lmbmRl ZiBfX0xJTlVYX1JUTkVUTElOS19ICi0jZGVmaW5lIF9fTElOVVhfUlRORVRMSU5LX0gKKyNp Zm5kZWYgX1VBUElfX0xJTlVYX1JUTkVUTElOS19ICisjZGVmaW5lIF9VQVBJX19MSU5VWF9S VE5FVExJTktfSAogCiAjaW5jbHVkZSA8bGludXgvdHlwZXMuaD4KICNpbmNsdWRlIDxsaW51 eC9uZXRsaW5rLmg+CkBAIC01ODYsNiArNTg2LDcgQEAgZW51bSB7CiAKICNkZWZpbmUgTkRV U0VST1BUX01BWAkoX19ORFVTRVJPUFRfTUFYIC0gMSkKIAorI2lmbmRlZiBfX0tFUk5FTF9f CiAvKiBSVG5ldGxpbmsgbXVsdGljYXN0IGdyb3VwcyAtIGJhY2t3YXJkcyBjb21wYXRpYmls aXR5IGZvciB1c2Vyc3BhY2UgKi8KICNkZWZpbmUgUlRNR1JQX0xJTksJCTEKICNkZWZpbmUg UlRNR1JQX05PVElGWQkJMgpAQCAtNjA2LDYgKzYwNyw3IEBAIGVudW0gewogI2RlZmluZSBS VE1HUlBfREVDbmV0X1JPVVRFICAgICAweDQwMDAKIAogI2RlZmluZSBSVE1HUlBfSVBWNl9Q UkVGSVgJMHgyMDAwMAorI2VuZGlmCiAKIC8qIFJUbmV0bGluayBtdWx0aWNhc3QgZ3JvdXBz ICovCiBlbnVtIHJ0bmV0bGlua19ncm91cHMgewpAQCAtNjgxLDEwICs2ODMsMjkgQEAgc3Ry dWN0IHRjYW1zZyB7CiAJdW5zaWduZWQgY2hhcgl0Y2FfX3BhZDE7CiAJdW5zaWduZWQgc2hv cnQJdGNhX19wYWQyOwogfTsKKworZW51bSB7CisJVENBX1JPT1RfVU5TUEVDLAorCVRDQV9S T09UX1RBQiwKKyNkZWZpbmUgVENBX0FDVF9UQUIgVENBX1JPT1RfVEFCCisjZGVmaW5lIFRD QUFfTUFYIFRDQV9ST09UX1RBQgorCVRDQV9ST09UX0ZMQUdTLAorCVRDQV9ST09UX0NPVU5U LAorCVRDQV9ST09UX1RJTUVfREVMVEEsIC8qIGluIG1zZWNzICovCisJX19UQ0FfUk9PVF9N QVgsCisjZGVmaW5lCVRDQV9ST09UX01BWCAoX19UQ0FfUk9PVF9NQVggLSAxKQorfTsKKwog I2RlZmluZSBUQV9SVEEocikgICgoc3RydWN0IHJ0YXR0ciopKCgoY2hhciopKHIpKSArIE5M TVNHX0FMSUdOKHNpemVvZihzdHJ1Y3QgdGNhbXNnKSkpKQogI2RlZmluZSBUQV9QQVlMT0FE KG4pIE5MTVNHX1BBWUxPQUQobixzaXplb2Yoc3RydWN0IHRjYW1zZykpCi0jZGVmaW5lIFRD QV9BQ1RfVEFCIDEgLyogYXR0ciB0eXBlIG11c3QgYmUgPj0xICovCQotI2RlZmluZSBUQ0FB X01BWCAxCisvKiB0Y2Ftc2cgZmxhZ3Mgc3RvcmVkIGluIGF0dHJpYnV0ZSBUQ0FfUk9PVF9G TEFHUworICoKKyAqIFRDQV9GTEFHX0xBUkdFX0RVTVBfT04gdXNlci0+a2VybmVsIHRvIHJl cXVlc3QgZm9yIGxhcmdlciB0aGFuIFRDQV9BQ1RfTUFYX1BSSU8KKyAqIGFjdGlvbnMgaW4g YSBkdW1wLiBBbGwgZHVtcCByZXNwb25zZXMgd2lsbCBjb250YWluIHRoZSBudW1iZXIgb2Yg YWN0aW9ucworICogYmVpbmcgZHVtcGVkIHN0b3JlZCBpbiBmb3IgdXNlciBhcHAncyBjb25z dW1wdGlvbiBpbiBUQ0FfUk9PVF9DT1VOVAorICoKKyAqLworI2RlZmluZSBUQ0FfRkxBR19M QVJHRV9EVU1QX09OCQkoMSA8PCAwKQogCiAvKiBOZXcgZXh0ZW5kZWQgaW5mbyBmaWx0ZXJz IGZvciBJRkxBX0VYVF9NQVNLICovCiAjZGVmaW5lIFJURVhUX0ZJTFRFUl9WRgkJKDEgPDwg MCkKQEAgLTY5Niw0ICs3MTcsNCBAQCBzdHJ1Y3QgdGNhbXNnIHsKIAogCiAKLSNlbmRpZiAv KiBfX0xJTlVYX1JUTkVUTElOS19IICovCisjZW5kaWYgLyogX1VBUElfX0xJTlVYX1JUTkVU TElOS19IICovCmRpZmYgLS1naXQgYS90Yy9mX2Jhc2ljLmMgYi90Yy9mX2Jhc2ljLmMKaW5k ZXggZDY2MzY2OC4uODM3MGVhNiAxMDA2NDQKLS0tIGEvdGMvZl9iYXNpYy5jCisrKyBiL3Rj L2ZfYmFzaWMuYwpAQCAtMTM1LDcgKzEzNSw3IEBAIHN0YXRpYyBpbnQgYmFzaWNfcHJpbnRf b3B0KHN0cnVjdCBmaWx0ZXJfdXRpbCAqcXUsIEZJTEUgKmYsCiAJfQogCiAJaWYgKHRiW1RD QV9CQVNJQ19BQ1RdKSB7Ci0JCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfQkFTSUNfQUNU XSk7CisJCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfQkFTSUNfQUNUXSwgMCk7CiAJfQog CiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS90Yy9mX2JwZi5jIGIvdGMvZl9icGYuYwppbmRl eCAyZjhkMTJhLi5jMTE1NDA5IDEwMDY0NAotLS0gYS90Yy9mX2JwZi5jCisrKyBiL3RjL2Zf YnBmLmMKQEAgLTIzOSw3ICsyMzksNyBAQCBzdGF0aWMgaW50IGJwZl9wcmludF9vcHQoc3Ry dWN0IGZpbHRlcl91dGlsICpxdSwgRklMRSAqZiwKIAl9CiAKIAlpZiAodGJbVENBX0JQRl9B Q1RdKQotCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX0JQRl9BQ1RdKTsKKwkJdGNfcHJp bnRfYWN0aW9uKGYsIHRiW1RDQV9CUEZfQUNUXSwgMCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlm ZiAtLWdpdCBhL3RjL2ZfY2dyb3VwLmMgYi90Yy9mX2Nncm91cC5jCmluZGV4IGVjZjk5MDku LjYzMzcwMGUgMTAwNjQ0Ci0tLSBhL3RjL2ZfY2dyb3VwLmMKKysrIGIvdGMvZl9jZ3JvdXAu YwpAQCAtMTAyLDcgKzEwMiw3IEBAIHN0YXRpYyBpbnQgY2dyb3VwX3ByaW50X29wdChzdHJ1 Y3QgZmlsdGVyX3V0aWwgKnF1LCBGSUxFICpmLAogCX0KIAogCWlmICh0YltUQ0FfQ0dST1VQ X0FDVF0pCi0JCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfQ0dST1VQX0FDVF0pOworCQl0 Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX0NHUk9VUF9BQ1RdLCAwKTsKIAogCXJldHVybiAw OwogfQpkaWZmIC0tZ2l0IGEvdGMvZl9mbG93LmMgYi90Yy9mX2Zsb3cuYwppbmRleCAwOWRk Y2FhLi5iMTU3MTA0IDEwMDY0NAotLS0gYS90Yy9mX2Zsb3cuYworKysgYi90Yy9mX2Zsb3cu YwpAQCAtMzQ3LDcgKzM0Nyw3IEBAIHN0YXRpYyBpbnQgZmxvd19wcmludF9vcHQoc3RydWN0 IGZpbHRlcl91dGlsICpmdSwgRklMRSAqZiwgc3RydWN0IHJ0YXR0ciAqb3B0LAogCQl0Y19w cmludF9wb2xpY2UoZiwgdGJbVENBX0ZMT1dfUE9MSUNFXSk7CiAJaWYgKHRiW1RDQV9GTE9X X0FDVF0pIHsKIAkJZnByaW50ZihmLCAiXG4iKTsKLQkJdGNfcHJpbnRfYWN0aW9uKGYsIHRi W1RDQV9GTE9XX0FDVF0pOworCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX0ZMT1dfQUNU XSwgMCk7CiAJfQogCXJldHVybiAwOwogfQpkaWZmIC0tZ2l0IGEvdGMvZl9mbG93ZXIuYyBi L3RjL2ZfZmxvd2VyLmMKaW5kZXggNWJlNjkzYS4uOTM0ODMyZSAxMDA2NDQKLS0tIGEvdGMv Zl9mbG93ZXIuYworKysgYi90Yy9mX2Zsb3dlci5jCkBAIC0xMzE2LDcgKzEzMTYsNyBAQCBz dGF0aWMgaW50IGZsb3dlcl9wcmludF9vcHQoc3RydWN0IGZpbHRlcl91dGlsICpxdSwgRklM RSAqZiwKIAl9CiAKIAlpZiAodGJbVENBX0ZMT1dFUl9BQ1RdKQotCQl0Y19wcmludF9hY3Rp b24oZiwgdGJbVENBX0ZMT1dFUl9BQ1RdKTsKKwkJdGNfcHJpbnRfYWN0aW9uKGYsIHRiW1RD QV9GTE9XRVJfQUNUXSwgMCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3RjL2Zf ZncuYyBiL3RjL2ZfZncuYwppbmRleCA3OTBiZWY5Li5jMzk3ODliIDEwMDY0NAotLS0gYS90 Yy9mX2Z3LmMKKysrIGIvdGMvZl9mdy5jCkBAIC0xNjAsNyArMTYwLDcgQEAgc3RhdGljIGlu dCBmd19wcmludF9vcHQoc3RydWN0IGZpbHRlcl91dGlsICpxdSwgRklMRSAqZiwgc3RydWN0 IHJ0YXR0ciAqb3B0LCBfX3UKIAogCWlmICh0YltUQ0FfRldfQUNUXSkgewogCQlmcHJpbnRm KGYsICJcbiIpOwotCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX0ZXX0FDVF0pOworCQl0 Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX0ZXX0FDVF0sIDApOwogCX0KIAlyZXR1cm4gMDsK IH0KZGlmZiAtLWdpdCBhL3RjL2ZfbWF0Y2hhbGwuYyBiL3RjL2ZfbWF0Y2hhbGwuYwppbmRl eCA1YTUxZTc1Li5kNzg2NjBlIDEwMDY0NAotLS0gYS90Yy9mX21hdGNoYWxsLmMKKysrIGIv dGMvZl9tYXRjaGFsbC5jCkBAIC0xNDUsNyArMTQ1LDcgQEAgc3RhdGljIGludCBtYXRjaGFs bF9wcmludF9vcHQoc3RydWN0IGZpbHRlcl91dGlsICpxdSwgRklMRSAqZiwKIAl9CiAKIAlp ZiAodGJbVENBX01BVENIQUxMX0FDVF0pCi0JCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0Ff TUFUQ0hBTExfQUNUXSk7CisJCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfTUFUQ0hBTExf QUNUXSwgMCk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL3RjL2Zfcm91dGUuYyBi L3RjL2Zfcm91dGUuYwppbmRleCAzMDUxNGM0Li5lODgzMTNmIDEwMDY0NAotLS0gYS90Yy9m X3JvdXRlLmMKKysrIGIvdGMvZl9yb3V0ZS5jCkBAIC0xNjgsNyArMTY4LDcgQEAgc3RhdGlj IGludCByb3V0ZV9wcmludF9vcHQoc3RydWN0IGZpbHRlcl91dGlsICpxdSwgRklMRSAqZiwg c3RydWN0IHJ0YXR0ciAqb3B0LAogCWlmICh0YltUQ0FfUk9VVEU0X1BPTElDRV0pCiAJCXRj X3ByaW50X3BvbGljZShmLCB0YltUQ0FfUk9VVEU0X1BPTElDRV0pOwogCWlmICh0YltUQ0Ff Uk9VVEU0X0FDVF0pCi0JCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfUk9VVEU0X0FDVF0p OworCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX1JPVVRFNF9BQ1RdLCAwKTsKIAlyZXR1 cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvdGMvZl9yc3ZwLmMgYi90Yy9mX3JzdnAuYwppbmRl eCA5NGJmYmVmLi42NWNhZWI0IDEwMDY0NAotLS0gYS90Yy9mX3JzdnAuYworKysgYi90Yy9m X3JzdnAuYwpAQCAtNDAyLDcgKzQwMiw3IEBAIHN0YXRpYyBpbnQgcnN2cF9wcmludF9vcHQo c3RydWN0IGZpbHRlcl91dGlsICpxdSwgRklMRSAqZiwgc3RydWN0IHJ0YXR0ciAqb3B0LCBf CiAJfQogCiAJaWYgKHRiW1RDQV9SU1ZQX0FDVF0pIHsKLQkJdGNfcHJpbnRfYWN0aW9uKGYs IHRiW1RDQV9SU1ZQX0FDVF0pOworCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX1JTVlBf QUNUXSwgMCk7CiAJfQogCWlmICh0YltUQ0FfUlNWUF9QT0xJQ0VdKQogCQl0Y19wcmludF9w b2xpY2UoZiwgdGJbVENBX1JTVlBfUE9MSUNFXSk7CmRpZmYgLS1naXQgYS90Yy9mX3RjaW5k ZXguYyBiL3RjL2ZfdGNpbmRleC5jCmluZGV4IDc4NGM4OTAuLmRkMWNiNDcgMTAwNjQ0Ci0t LSBhL3RjL2ZfdGNpbmRleC5jCisrKyBiL3RjL2ZfdGNpbmRleC5jCkBAIC0xNzMsNyArMTcz LDcgQEAgc3RhdGljIGludCB0Y2luZGV4X3ByaW50X29wdChzdHJ1Y3QgZmlsdGVyX3V0aWwg KnF1LCBGSUxFICpmLAogCX0KIAlpZiAodGJbVENBX1RDSU5ERVhfQUNUXSkgewogCQlmcHJp bnRmKGYsICJcbiIpOwotCQl0Y19wcmludF9hY3Rpb24oZiwgdGJbVENBX1RDSU5ERVhfQUNU XSk7CisJCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfVENJTkRFWF9BQ1RdLCAwKTsKIAl9 CiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS90Yy9mX3UzMi5jIGIvdGMvZl91MzIuYwpp bmRleCBiMjcyYzJjLi41ODE1YmU5IDEwMDY0NAotLS0gYS90Yy9mX3UzMi5jCisrKyBiL3Rj L2ZfdTMyLmMKQEAgLTEzMzcsNyArMTMzNyw3IEBAIHN0YXRpYyBpbnQgdTMyX3ByaW50X29w dChzdHJ1Y3QgZmlsdGVyX3V0aWwgKnF1LCBGSUxFICpmLCBzdHJ1Y3QgcnRhdHRyICpvcHQs CiAJfQogCiAJaWYgKHRiW1RDQV9VMzJfQUNUXSkKLQkJdGNfcHJpbnRfYWN0aW9uKGYsIHRi W1RDQV9VMzJfQUNUXSk7CisJCXRjX3ByaW50X2FjdGlvbihmLCB0YltUQ0FfVTMyX0FDVF0s IDApOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS90Yy9tX2FjdGlvbi5jIGIvdGMv bV9hY3Rpb24uYwppbmRleCA2ZWJlODVlLi4xMjMyOTVjIDEwMDY0NAotLS0gYS90Yy9tX2Fj dGlvbi5jCisrKyBiL3RjL21fYWN0aW9uLmMKQEAgLTM0NiwyMSArMzQ2LDI0IEBAIHRjX3By aW50X2FjdGlvbl9mbHVzaChGSUxFICpmLCBjb25zdCBzdHJ1Y3QgcnRhdHRyICphcmcpCiB9 CiAKIGludAotdGNfcHJpbnRfYWN0aW9uKEZJTEUgKmYsIGNvbnN0IHN0cnVjdCBydGF0dHIg KmFyZykKK3RjX3ByaW50X2FjdGlvbihGSUxFICpmLCBjb25zdCBzdHJ1Y3QgcnRhdHRyICph cmcsIHVuc2lnbmVkIHNob3J0IHRvdF9hY3RzKQogewogCiAJaW50IGk7Ci0Jc3RydWN0IHJ0 YXR0ciAqdGJbVENBX0FDVF9NQVhfUFJJTyArIDFdOwogCiAJaWYgKGFyZyA9PSBOVUxMKQog CQlyZXR1cm4gMDsKIAotCXBhcnNlX3J0YXR0cl9uZXN0ZWQodGIsIFRDQV9BQ1RfTUFYX1BS SU8sIGFyZyk7CisJaWYgKCF0b3RfYWN0cykKKwkJdG90X2FjdHMgPSBUQ0FfQUNUX01BWF9Q UklPOworCisJc3RydWN0IHJ0YXR0ciAqdGJbdG90X2FjdHMgKyAxXTsKKwlwYXJzZV9ydGF0 dHJfbmVzdGVkKHRiLCB0b3RfYWN0cywgYXJnKTsKIAogCWlmICh0YWJfZmx1c2ggJiYgTlVM TCAhPSB0YlswXSAgJiYgTlVMTCA9PSB0YlsxXSkKIAkJcmV0dXJuIHRjX3ByaW50X2FjdGlv bl9mbHVzaChmLCB0YlswXSk7CiAKLQlmb3IgKGkgPSAwOyBpIDwgVENBX0FDVF9NQVhfUFJJ TzsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IHRvdF9hY3RzOyBpKyspIHsKIAkJaWYgKHRi W2ldKSB7CiAJCQlmcHJpbnRmKGYsICJcblx0YWN0aW9uIG9yZGVyICVkOiAiLCBpKTsKIAkJ CWlmICh0Y19wcmludF9vbmVfYWN0aW9uKGYsIHRiW2ldKSA8IDApIHsKQEAgLTM4MCw3ICsz ODMsOCBAQCBpbnQgcHJpbnRfYWN0aW9uKGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9ubCAqd2hv LAogCUZJTEUgKmZwID0gKEZJTEUgKilhcmc7CiAJc3RydWN0IHRjYW1zZyAqdCA9IE5MTVNH X0RBVEEobik7CiAJaW50IGxlbiA9IG4tPm5sbXNnX2xlbjsKLQlzdHJ1Y3QgcnRhdHRyICp0 YltUQ0FBX01BWCsxXTsKKwlfX3UzMiAqdG90X2FjdHMgPSBOVUxMOworCXN0cnVjdCBydGF0 dHIgKnRiW1RDQV9ST09UX01BWCsxXTsKIAogCWxlbiAtPSBOTE1TR19MRU5HVEgoc2l6ZW9m KCp0KSk7CiAKQEAgLTM4OSw4ICszOTMsMTIgQEAgaW50IHByaW50X2FjdGlvbihjb25zdCBz dHJ1Y3Qgc29ja2FkZHJfbmwgKndobywKIAkJcmV0dXJuIC0xOwogCX0KIAotCXBhcnNlX3J0 YXR0cih0YiwgVENBQV9NQVgsIFRBX1JUQSh0KSwgbGVuKTsKKwlwYXJzZV9ydGF0dHIodGIs IFRDQV9ST09UX01BWCwgVEFfUlRBKHQpLCBsZW4pOworCisJaWYgKHRiW1RDQV9ST09UX0NP VU5UXSkKKwkJdG90X2FjdHMgPSBSVEFfREFUQSh0YltUQ0FfUk9PVF9DT1VOVF0pOwogCisJ ZnByaW50ZihmcCwgInRvdGFsIGFjdHMgJWQgXG4iLCB0b3RfYWN0cz8qdG90X2FjdHM6MCk7 CiAJaWYgKHRiW1RDQV9BQ1RfVEFCXSA9PSBOVUxMKSB7CiAJCWlmIChuLT5ubG1zZ190eXBl ICE9IFJUTV9HRVRBQ1RJT04pCiAJCQlmcHJpbnRmKHN0ZGVyciwgInByaW50X2FjdGlvbjog TlVMTCBraW5kXG4iKTsKQEAgLTQxNCw3ICs0MjIsOSBAQCBpbnQgcHJpbnRfYWN0aW9uKGNv bnN0IHN0cnVjdCBzb2NrYWRkcl9ubCAqd2hvLAogCQkJZnByaW50ZihmcCwgIlJlcGxhY2Vk IGFjdGlvbiAiKTsKIAkJfQogCX0KLQl0Y19wcmludF9hY3Rpb24oZnAsIHRiW1RDQV9BQ1Rf VEFCXSk7CisKKworCXRjX3ByaW50X2FjdGlvbihmcCwgdGJbVENBX0FDVF9UQUJdLCB0b3Rf YWN0cz8qdG90X2FjdHM6MCk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTQyNyw3ICs0MzcsNyBA QCBzdGF0aWMgaW50IHRjX2FjdGlvbl9nZChpbnQgY21kLCB1bnNpZ25lZCBpbnQgZmxhZ3Ms IGludCAqYXJnY19wLCBjaGFyICoqKmFyZ3ZfcAogCWNoYXIgKiphcmd2ID0gKmFyZ3ZfcDsK IAlpbnQgcHJpbyA9IDA7CiAJaW50IHJldCA9IDA7Ci0JX191MzIgaTsKKwlfX3UzMiBpID0g MDsKIAlzdHJ1Y3QgcnRhdHRyICp0YWlsOwogCXN0cnVjdCBydGF0dHIgKnRhaWwyOwogCXN0 cnVjdCBubG1zZ2hkciAqYW5zID0gTlVMTDsKQEAgLTQ5OCw3ICs1MDgsOCBAQCBzdGF0aWMg aW50IHRjX2FjdGlvbl9nZChpbnQgY21kLCB1bnNpZ25lZCBpbnQgZmxhZ3MsIGludCAqYXJn Y19wLCBjaGFyICoqKmFyZ3ZfcAogCQl0YWlsMiA9IE5MTVNHX1RBSUwoJnJlcS5uKTsKIAkJ YWRkYXR0cl9sKCZyZXEubiwgTUFYX01TRywgKytwcmlvLCBOVUxMLCAwKTsKIAkJYWRkYXR0 cl9sKCZyZXEubiwgTUFYX01TRywgVENBX0FDVF9LSU5ELCBrLCBzdHJsZW4oaykgKyAxKTsK LQkJYWRkYXR0cjMyKCZyZXEubiwgTUFYX01TRywgVENBX0FDVF9JTkRFWCwgaSk7CisJCWlm IChpID4gMCkKKwkJCWFkZGF0dHIzMigmcmVxLm4sIE1BWF9NU0csIFRDQV9BQ1RfSU5ERVgs IGkpOwogCQl0YWlsMi0+cnRhX2xlbiA9ICh2b2lkICopIE5MTVNHX1RBSUwoJnJlcS5uKSAt ICh2b2lkICopIHRhaWwyOwogCiAJfQpAQCAtNTYxLDEyICs1NzIsMTYgQEAgc3RhdGljIGlu dCB0Y19hY3Rpb25fbW9kaWZ5KGludCBjbWQsIHVuc2lnbmVkIGludCBmbGFncywgaW50ICph cmdjX3AsIGNoYXIgKioqYXIKIAlyZXR1cm4gcmV0OwogfQogCi1zdGF0aWMgaW50IHRjX2Fj dF9saXN0X29yX2ZsdXNoKGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IGV2ZW50KQorc3Rh dGljIGludCB0Y19hY3RfbGlzdF9vcl9mbHVzaChpbnQgKmFyZ2NfcCwgY2hhciAqKiphcmd2 X3AsIGludCBldmVudCkKIHsKKwlzdHJ1Y3QgcnRhdHRyICp0YWlsLCAqdGFpbDIsICp0YWls MywgKnRhaWw0OwogCWludCByZXQgPSAwLCBwcmlvID0gMCwgbXNnX3NpemUgPSAwOwotCWNo YXIga1sxNl07Ci0Jc3RydWN0IHJ0YXR0ciAqdGFpbCwgKnRhaWwyOwogCXN0cnVjdCBhY3Rp b25fdXRpbCAqYSA9IE5VTEw7CisJc3RydWN0IG5sYV9iaXRmaWVsZDMyIGZsYWdfc2VsZWN0 ID0geyAwIH07CisJY2hhciAqKmFyZ3YgPSAqYXJndl9wOworCV9fdTMyIG1zZWNfc2luY2Ug PSAwOworCWludCBhcmdjID0gKmFyZ2NfcDsKKwljaGFyIGtbMTZdOwogCXN0cnVjdCB7CiAJ CXN0cnVjdCBubG1zZ2hkciAgICAgICAgIG47CiAJCXN0cnVjdCB0Y2Ftc2cgICAgICAgICAg IHQ7CkBAIC01OTcsMTEgKzYxMiw0MCBAQCBzdGF0aWMgaW50IHRjX2FjdF9saXN0X29yX2Zs dXNoKGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IGV2ZW50KQogCX0KIAlzdHJuY3B5KGss ICphcmd2LCBzaXplb2YoaykgLSAxKTsKIAorCWFyZ2MgLT0gMTsKKwlhcmd2ICs9IDE7CisK KwlpZiAoYXJnYyAmJiAoc3RyY21wKCphcmd2LCAic2luY2UiKSA9PSAwKSkgeworCSAgICBO RVhUX0FSRygpOworCSAgICBpZiAoZ2V0X3UzMigmbXNlY19zaW5jZSwgKmFyZ3YsIDApKQor CQkgICAgaW52YXJnKCJkdW1wIHRpbWUgXCJzaW5jZVwiIGlzIGludmFsaWQiLCAqYXJndik7 CisJfQorCiAJYWRkYXR0cl9sKCZyZXEubiwgTUFYX01TRywgKytwcmlvLCBOVUxMLCAwKTsK IAlhZGRhdHRyX2woJnJlcS5uLCBNQVhfTVNHLCBUQ0FfQUNUX0tJTkQsIGssIHN0cmxlbihr KSArIDEpOwogCXRhaWwyLT5ydGFfbGVuID0gKHZvaWQgKikgTkxNU0dfVEFJTCgmcmVxLm4p IC0gKHZvaWQgKikgdGFpbDI7CiAJdGFpbC0+cnRhX2xlbiA9ICh2b2lkICopIE5MTVNHX1RB SUwoJnJlcS5uKSAtICh2b2lkICopIHRhaWw7CiAKKwl0YWlsMyA9IE5MTVNHX1RBSUwoJnJl cS5uKTsKKyNpZiAxCisJZmxhZ19zZWxlY3QudmFsdWUgfD0gVENBX0ZMQUdfTEFSR0VfRFVN UF9PTjsKKwlmbGFnX3NlbGVjdC5zZWxlY3RvciB8PSBUQ0FfRkxBR19MQVJHRV9EVU1QX09O OworI2VuZGlmCisjaWYgMAorCWZsYWdfc2VsZWN0LnZhbHVlIHw9IDg7IC8qIHRlc3QgcmVq ZWN0aW9uICovCisJZmxhZ19zZWxlY3Quc2VsZWN0b3IgfD0gODsgLyogdGVzdCByZWplY3Rp b24gKi8KKwlmbGFnX3NlbGVjdC52YWx1ZSA9IDA7IC8qIHRlc3QgcmVqZWN0aW9uICovCisJ ZmxhZ19zZWxlY3Quc2VsZWN0b3IgfD0gVENBX0ZMQUdfTEFSR0VfRFVNUF9PTjsgLyogdGVz dCByZWplY3Rpb24gKi8KKyNlbmRpZgorCWFkZGF0dHJfbCgmcmVxLm4sIE1BWF9NU0csIFRD QV9ST09UX0ZMQUdTLCAmZmxhZ19zZWxlY3QsCisJCSAgc2l6ZW9mKHN0cnVjdCBubGFfYml0 ZmllbGQzMikpOworCXRhaWwzLT5ydGFfbGVuID0gKHZvaWQgKikgTkxNU0dfVEFJTCgmcmVx Lm4pIC0gKHZvaWQgKikgdGFpbDM7CisJaWYgKG1zZWNfc2luY2UpIHsKKwkJZnByaW50Zihz dGRlcnIsICJYWFg6IHNpbmNlICVkXG4iLCBtc2VjX3NpbmNlKTsKKwkJdGFpbDQgPSBOTE1T R19UQUlMKCZyZXEubik7CisJCWFkZGF0dHIzMigmcmVxLm4sIE1BWF9NU0csIFRDQV9ST09U X1RJTUVfREVMVEEsIG1zZWNfc2luY2UpOworCQl0YWlsNC0+cnRhX2xlbiA9ICh2b2lkICop IE5MTVNHX1RBSUwoJnJlcS5uKSAtICh2b2lkICopIHRhaWw0OworCX0KIAltc2dfc2l6ZSA9 IE5MTVNHX0FMSUdOKHJlcS5uLm5sbXNnX2xlbikgLSBOTE1TR19BTElHTihzaXplb2Yoc3Ry dWN0IG5sbXNnaGRyKSk7CiAKIAlpZiAoZXZlbnQgPT0gUlRNX0dFVEFDVElPTikgewpAQCAt NjI2LDYgKzY3MCw4IEBAIHN0YXRpYyBpbnQgdGNfYWN0X2xpc3Rfb3JfZmx1c2goaW50IGFy Z2MsIGNoYXIgKiphcmd2LCBpbnQgZXZlbnQpCiAKIGJhZF92YWw6CiAKKwkqYXJnY19wID0g YXJnYzsKKwkqYXJndl9wID0gYXJndjsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC02NTUsMTMg KzcwMSwyMSBAQCBpbnQgZG9fYWN0aW9uKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJCQlh Y3RfdXNhZ2UoKTsKIAkJCQlyZXR1cm4gLTE7CiAJCQl9Ci0JCQlyZXR1cm4gdGNfYWN0X2xp c3Rfb3JfZmx1c2goYXJnYy0yLCBhcmd2KzIsIFJUTV9HRVRBQ1RJT04pOworCisJCQlhcmdj IC09IDI7CisJCQlhcmd2ICs9IDI7CisJCQlyZXR1cm4gdGNfYWN0X2xpc3Rfb3JfZmx1c2go JmFyZ2MsICZhcmd2LAorCQkJCQkJICAgIFJUTV9HRVRBQ1RJT04pOwogCQl9IGVsc2UgaWYg KG1hdGNoZXMoKmFyZ3YsICJmbHVzaCIpID09IDApIHsKIAkJCWlmIChhcmdjIDw9IDIpIHsK IAkJCQlhY3RfdXNhZ2UoKTsKIAkJCQlyZXR1cm4gLTE7CiAJCQl9Ci0JCQlyZXR1cm4gdGNf YWN0X2xpc3Rfb3JfZmx1c2goYXJnYy0yLCBhcmd2KzIsIFJUTV9ERUxBQ1RJT04pOworCisJ CQlhcmdjIC09IDI7CisJCQlhcmd2ICs9IDI7CisJCQlyZXR1cm4gdGNfYWN0X2xpc3Rfb3Jf Zmx1c2goJmFyZ2MsICZhcmd2LAorCQkJCQkJICAgIFJUTV9ERUxBQ1RJT04pOwogCQl9IGVs c2UgaWYgKG1hdGNoZXMoKmFyZ3YsICJoZWxwIikgPT0gMCkgewogCQkJYWN0X3VzYWdlKCk7 CiAJCQlyZXR1cm4gLTE7CmRpZmYgLS1naXQgYS90Yy90Y191dGlsLmggYi90Yy90Y191dGls LmgKaW5kZXggNWM1NGFkMy4uNTgzYTIxYSAxMDA2NDQKLS0tIGEvdGMvdGNfdXRpbC5oCisr KyBiL3RjL3RjX3V0aWwuaApAQCAtMTEzLDcgKzExMyw3IEBAIGludCBhY3RfcGFyc2VfcG9s aWNlKHN0cnVjdCBhY3Rpb25fdXRpbCAqYSwgaW50ICphcmdjX3AsCiAJCSAgICAgY2hhciAq Kiphcmd2X3AsIGludCB0Y2FfaWQsIHN0cnVjdCBubG1zZ2hkciAqbik7CiBpbnQgcHJpbnRf cG9saWNlKHN0cnVjdCBhY3Rpb25fdXRpbCAqYSwgRklMRSAqZiwgc3RydWN0IHJ0YXR0ciAq dGIpOwogaW50IHBvbGljZV9wcmludF94c3RhdHMoc3RydWN0IGFjdGlvbl91dGlsICphLCBG SUxFICpmLCBzdHJ1Y3QgcnRhdHRyICp0Yik7Ci1pbnQgdGNfcHJpbnRfYWN0aW9uKEZJTEUg KmYsIGNvbnN0IHN0cnVjdCBydGF0dHIgKnRiKTsKK2ludCB0Y19wcmludF9hY3Rpb24oRklM RSAqZiwgY29uc3Qgc3RydWN0IHJ0YXR0ciAqdGIsIHVuc2lnbmVkIHNob3J0IHRvdF9hY3Rz KTsKIGludCB0Y19wcmludF9pcHQoRklMRSAqZiwgY29uc3Qgc3RydWN0IHJ0YXR0ciAqdGIp OwogaW50IHBhcnNlX2FjdGlvbihpbnQgKmFyZ2NfcCwgY2hhciAqKiphcmd2X3AsIGludCB0 Y2FfaWQsIHN0cnVjdCBubG1zZ2hkciAqbik7CiB2b2lkIHByaW50X3RtKEZJTEUgKmYsIGNv bnN0IHN0cnVjdCB0Y2ZfdCAqdG0pOwo= --------------8CD2768C80ACD8B0C03CAC6D--