Date: Fri, 7 Jun 2019 12:15:59 +0000 From: "aleksandr.fedorov_itglobal.com (Aleksandr Fedorov)" <phabric-noreply@FreeBSD.org> To: Phabricator <phabric-noreply@FreeBSD.org> Cc: freebsd-virtualization@freebsd.org Subject: [Differential] D20276: [bhyve][virtio-net] Allow guest VM's to set JUMBO MTU in case of using the VALE switch. Message-ID: <566772461613bcba5301f3eceff592e0@localhost.localdomain> In-Reply-To: <differential-rev-PHID-DREV-pueoqfdkfh54jyuh6emz-req@reviews.freebsd.org> References: <differential-rev-PHID-DREV-pueoqfdkfh54jyuh6emz-req@reviews.freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
--b1_566772461613bcba5301f3eceff592e0 Content-Type: text/plain; charset = "utf-8" Content-Transfer-Encoding: base64 YWxla3NhbmRyLmZlZG9yb3ZfaXRnbG9iYWwuY29tIHVwZGF0ZWQgdGhpcyByZXZpc2lvbiB0byBE aWZmIDU4MzU3LgphbGVrc2FuZHIuZmVkb3Jvdl9pdGdsb2JhbC5jb20gYWRkZWQgYSBjb21tZW50 LgoKCiAgUmVuYW1lIHZxX2dldF9tcmdyeF9idWZzKCkgdG8gdnFfZ2V0YnVmc19tcmdyeCgpIGFu ZCB2cV9yZWxjaGFpbl9tcmdyeCgpIHRvIHZxX3JlbGJ1ZnNfbXJncngoKSB0byB0byBjb3JyZXNw b25kaW5nIG92ZXJhbGwgc3R5bGUuCgpDSEFOR0VTIFNJTkNFIExBU1QgVVBEQVRFCiAgaHR0cHM6 Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMDI3Nj92cz01ODM1MyZpZD01ODM1NwoKQ0hBTkdFUyBT SU5DRSBMQVNUIEFDVElPTgogIGh0dHBzOi8vcmV2aWV3cy5mcmVlYnNkLm9yZy9EMjAyNzYvbmV3 LwoKUkVWSVNJT04gREVUQUlMCiAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QyMDI3NgoK QUZGRUNURUQgRklMRVMKICB1c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jCiAgdXNyLnNi aW4vYmh5dmUvdmlydGlvLmMKICB1c3Iuc2Jpbi9iaHl2ZS92aXJ0aW8uaAoKRU1BSUwgUFJFRkVS RU5DRVMKICBodHRwczovL3Jldmlld3MuZnJlZWJzZC5vcmcvc2V0dGluZ3MvcGFuZWwvZW1haWxw cmVmZXJlbmNlcy8KClRvOiBhbGVrc2FuZHIuZmVkb3Jvdl9pdGdsb2JhbC5jb20sICNiaHl2ZSwg amhiLCByZ3JpbWVzLCBrcmlvbiwgdi5tYWZmaW9uZV9nbWFpbC5jb20KQ2M6IG1ncm9vbXNfc2hy ZXcubmV0LCBtaXpoa2FfZ21haWwuY29tLCBub3ZlbCwgb2xldm9sZV9vbGV2b2xlLnJ1LCBmcmVl YnNkLXZpcnR1YWxpemF0aW9uLWxpc3QsIGV2Z3VlbmkuZ2F2cmlsb3ZfaXRnbG9iYWwuY29tLCBi Y3Jhbgo= --b1_566772461613bcba5301f3eceff592e0 Content-Type: text/x-patch; charset=utf-8; name="D20276.58357.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="D20276.58357.patch" ZGlmZiAtLWdpdCBhL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5oIGIvdXNyLnNiaW4vYmh5dmUvdmly dGlvLmgKLS0tIGEvdXNyLnNiaW4vYmh5dmUvdmlydGlvLmgKKysrIGIvdXNyLnNiaW4vYmh5dmUv dmlydGlvLmgKQEAgLTQ1Nyw4ICs0NTcsMTIgQEAKIAogaW50CXZxX2dldGNoYWluKHN0cnVjdCB2 cXVldWVfaW5mbyAqdnEsIHVpbnQxNl90ICpwaWR4LAogCQkgICAgc3RydWN0IGlvdmVjICppb3Ys IGludCBuX2lvdiwgdWludDE2X3QgKmZsYWdzKTsKK2ludAl2cV9nZXRidWZzX21yZ3J4KHN0cnVj dCB2cXVldWVfaW5mbyAqdnEsIHN0cnVjdCBpb3ZlYyAqaW92LAorCQkJaW50IG5faW92LCBpbnQg bGVuLCBzdHJ1Y3QgdmlydGlvX3VzZWQgKnVzZWQsIGludCAqdV9jbnQpOwogdm9pZAl2cV9yZXRj aGFpbihzdHJ1Y3QgdnF1ZXVlX2luZm8gKnZxKTsKIHZvaWQJdnFfcmVsY2hhaW4oc3RydWN0IHZx dWV1ZV9pbmZvICp2cSwgdWludDE2X3QgaWR4LCB1aW50MzJfdCBpb2xlbik7Cit2b2lkCXZxX3Jl bGJ1ZnNfbXJncngoc3RydWN0IHZxdWV1ZV9pbmZvICp2cSwgaW50IG5idWZzLCAKKwkJCXN0cnVj dCB2aXJ0aW9fdXNlZCAqdXNlZCk7CiB2b2lkCXZxX2VuZGNoYWlucyhzdHJ1Y3QgdnF1ZXVlX2lu Zm8gKnZxLCBpbnQgdXNlZF9hbGxfYXZhaWwpOwogCiB1aW50NjRfdCB2aV9wY2lfcmVhZChzdHJ1 Y3Qgdm1jdHggKmN0eCwgaW50IHZjcHUsIHN0cnVjdCBwY2lfZGV2aW5zdCAqcGksCmRpZmYgLS1n aXQgYS91c3Iuc2Jpbi9iaHl2ZS92aXJ0aW8uYyBiL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5jCi0t LSBhL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5jCisrKyBiL3Vzci5zYmluL2JoeXZlL3ZpcnRpby5j CkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSA8cHRocmVhZF9ucC5oPgogCiAjaW5jbHVkZSAi Ymh5dmVydW4uaCIKKyNpbmNsdWRlICJpb3YuaCIKICNpbmNsdWRlICJwY2lfZW11bC5oIgogI2lu Y2x1ZGUgInZpcnRpby5oIgogCkBAIC0zODEsNiArMzgyLDU2IEBACiAJcmV0dXJuICgtMSk7CiB9 CiAKK2ludAl2cV9nZXRidWZzX21yZ3J4KHN0cnVjdCB2cXVldWVfaW5mbyAqdnEsIHN0cnVjdCBp b3ZlYyAqaW92LAorCQlpbnQgbl9pb3YsIGludCBsZW4sIHN0cnVjdCB2aXJ0aW9fdXNlZCAqdXNl ZCwgaW50ICp1X2NudCkKK3sKKwl1aW50MTZfdCBpZHg7CisJaW50IGksIGlvdl9sZW47CisJaW50 IGJ1ZnMsIGxhc3RfYXZhaWxfc2F2ZWQsIG47CisJaW50IHRvdGFsX2xlbjsKKworCWkgPSAwOwor CWJ1ZnMgPSAwOworCXRvdGFsX2xlbiA9IDA7CisKKwkvKgorCSAqIHZxX2dldGNoYWluKCkgaW5j cmVtZW50IHRoZSBsYXN0IGF2YWlsIGluZGV4LgorCSAqIFNhdmUgaXQgdG8gcmVzdG9yZSBpZiB0 aGVyZSBhcmUgbm8gZW5vdWdoIGJ1ZmZlcnMgdG8gc3RvcmUgcGFja2V0LgorCSAqLworCWxhc3Rf YXZhaWxfc2F2ZWQgPSB2cS0+dnFfbGFzdF9hdmFpbDsKKwl3aGlsZSAoMSkgeworCQluID0gdnFf Z2V0Y2hhaW4odnEsICZpZHgsICZpb3ZbaV0sIG5faW92IC0gaSwgTlVMTCk7CisKKwkJaWYgKG4g PD0gMCkgeworCQkJLyogUmVzdG9yZSB0aGUgbGFzdCBhdmFpbCBpbmRleC4gKi8KKwkJCXZxLT52 cV9sYXN0X2F2YWlsID0gbGFzdF9hdmFpbF9zYXZlZDsKKwkJCSp1X2NudCA9IDA7CisJCQlyZXR1 cm4gKG4pOworCQl9CisKKwkJaW92X2xlbiA9IGNvdW50X2lvdigmaW92W2ldLCBuKTsKKwkJaSAr PSBuOworCQl0b3RhbF9sZW4gKz0gaW92X2xlbjsKKworCQl1c2VkW2J1ZnNdLnZ1X2lkeCA9IGlk eDsKKworCQlpZiAodG90YWxfbGVuIDwgbGVuKSB7CisJCQl1c2VkW2J1ZnNdLnZ1X3RsZW4gPSBp b3ZfbGVuOworCQkJYnVmcysrOworCQl9IGVsc2UgeworCQkJdXNlZFtidWZzXS52dV90bGVuID0g aW92X2xlbiAtICh0b3RhbF9sZW4gLSBsZW4pOworCQkJYnVmcysrOworCQkJYnJlYWs7CisJCX0K KworCX07CisKKwkqdV9jbnQgPSBidWZzOworCisJcmV0dXJuIGk7CisKK30KKwogLyoKICAqIFJl dHVybiB0aGUgY3VycmVudGx5LWZpcnN0IHJlcXVlc3QgY2hhaW4gYmFjayB0byB0aGUgYXZhaWxh YmxlIHF1ZXVlLgogICoKQEAgLTQzMCw2ICs0ODEsMzkgQEAKIAkgKiBFbnN1cmUgdGhlIHVzZWQg ZGVzY3JpcHRvciBpcyB2aXNpYmxlIGJlZm9yZSB1cGRhdGluZyB0aGUgaW5kZXguCiAJICogVGhp cyBpcyBuZWNlc3Nhcnkgb24gSVNBcyB3aXRoIG1lbW9yeSBvcmRlcmluZyBsZXNzIHN0cmljdCB0 aGFuIHg4Ni4KIAkgKi8KKwlhdG9taWNfdGhyZWFkX2ZlbmNlX3JlbCgpOworCXZ1aC0+dnVfaWR4 ID0gdWlkeDsKK30KKworLyoKKyAqIFJldHVybiBzcGVjaWZpZWQgbWVyZ2VkIHJ4IGJ1ZmZlcnMg dG8gdGhlIGd1ZXN0LCBzZXR0aW5nIGl0cyBJL08gbGVuZ3RoLgorICovCit2b2lkCit2cV9yZWxi dWZzX21yZ3J4KHN0cnVjdCB2cXVldWVfaW5mbyAqdnEsIGludCBuYnVmcywgc3RydWN0IHZpcnRp b191c2VkICp1c2VkKQoreworCWludCBpOworCXVpbnQxNl90IHVpZHgsIG1hc2s7CisJdm9sYXRp bGUgc3RydWN0IHZyaW5nX3VzZWQgKnZ1aDsKKwl2b2xhdGlsZSBzdHJ1Y3QgdmlydGlvX3VzZWQg KnZ1ZTsKKworCW1hc2sgPSB2cS0+dnFfcXNpemUgLSAxOworCXZ1aCA9IHZxLT52cV91c2VkOwor CisJdWlkeCA9IHZ1aC0+dnVfaWR4OworCisJaWYgKG5idWZzID09IDEpIHsKKwkJdnVlID0gJnZ1 aC0+dnVfcmluZ1t1aWR4KysgJiBtYXNrXTsKKwkJdnVlLT52dV9pZHggPSB1c2VkWzBdLnZ1X2lk eDsKKwkJdnVlLT52dV90bGVuID0gdXNlZFswXS52dV90bGVuOworCX0gZWxzZSB7CisJCWZvciAo aSA9IDA7IGkgPCBuYnVmczsgaSsrKSB7CisJCQl2dWUgPSAmdnVoLT52dV9yaW5nWyh1aWR4ICsg aSkgJiBtYXNrXTsKKwkJCXZ1ZS0+dnVfaWR4ID0gdXNlZFtpXS52dV9pZHg7CisJCQl2dWUtPnZ1 X3RsZW4gPSB1c2VkW2ldLnZ1X3RsZW47CisJCX0KKwkJdWlkeCArPSBuYnVmczsKKwl9CisJCiAJ YXRvbWljX3RocmVhZF9mZW5jZV9yZWwoKTsKIAl2dWgtPnZ1X2lkeCA9IHVpZHg7CiB9CmRpZmYg LS1naXQgYS91c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jIGIvdXNyLnNiaW4vYmh5dmUv cGNpX3ZpcnRpb19uZXQuYwotLS0gYS91c3Iuc2Jpbi9iaHl2ZS9wY2lfdmlydGlvX25ldC5jCisr KyBiL3Vzci5zYmluL2JoeXZlL3BjaV92aXJ0aW9fbmV0LmMKQEAgLTM5Miw4NSArMzkyLDEwNiBA QAogfQogCiBzdGF0aWMgX19pbmxpbmUgaW50Ci1wY2lfdnRuZXRfbmV0bWFwX3dyaXRldihzdHJ1 Y3Qgbm1fZGVzYyAqbm1kLCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5l dF9uZXRtYXBfd3JpdGV2KHN0cnVjdCBubV9kZXNjICpubWQsIHN0cnVjdCBpb3ZlYyAqaW92LCBp bnQgaW92Y250LCBpbnQgaW92c2l6ZSkKIHsKLQlpbnQgciwgaTsKLQlpbnQgbGVuID0gMDsKKwlj aGFyICpidWY7CisJaW50IGk7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgaW92X29mZjsKKwlpbnQg bGVuOworCWludCBubV9vZmY7CisJaW50IG5tX2J1Zl9zaXplOwogCi0JZm9yIChyID0gbm1kLT5j dXJfdHhfcmluZzsgOyApIHsKLQkJc3RydWN0IG5ldG1hcF9yaW5nICpyaW5nID0gTkVUTUFQX1RY UklORyhubWQtPm5pZnAsIHIpOwotCQl1aW50MzJfdCBjdXIsIGlkeDsKLQkJY2hhciAqYnVmOwor CXN0cnVjdCBuZXRtYXBfcmluZyAqcmluZyA9IE5FVE1BUF9UWFJJTkcobm1kLT5uaWZwLCBubWQt PmN1cl90eF9yaW5nKTsKIAotCQlpZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwot CQkJaWYgKHIgPiBubWQtPmxhc3RfdHhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF90eF9yaW5n OwotCQkJaWYgKHIgPT0gbm1kLT5jdXJfdHhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVl OworCWlmICgobm1fcmluZ19zcGFjZShyaW5nKSAqIHJpbmctPm5yX2J1Zl9zaXplKSA8IGlvdnNp emUpIHsKKwkJLyoKKwkJICogTm8gbW9yZSBhdmFpbCBzcGFjZSBpbiBUWCByaW5nLCB0cnkgdG8g Zmx1c2ggaXQuCisJCSAqLworCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKKwkJ cmV0dXJuICgwKTsKKwl9CisKKwlpID0gcmluZy0+Y3VyOworCWJ1ZiA9IE5FVE1BUF9CVUYocmlu ZywgcmluZy0+c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2ZmID0gMDsKKwlsZW4gPSBpb3ZzaXpl OworCW5tX2J1Zl9zaXplID0gcmluZy0+bnJfYnVmX3NpemU7CisJbm1fb2ZmID0gMDsKKworCXdo aWxlIChpb3ZzaXplKSB7CisKKwkJaWYgKHVubGlrZWx5KGlvdl9vZmYgPT0gaW92LT5pb3ZfbGVu KSkgeworCQkJaW92Kys7CisJCQlpb3Zfb2ZmID0gMDsKIAkJfQotCQljdXIgPSByaW5nLT5jdXI7 Ci0JCWlkeCA9IHJpbmctPnNsb3RbY3VyXS5idWZfaWR4OwotCQlidWYgPSBORVRNQVBfQlVGKHJp bmcsIGlkeCk7CiAKLQkJZm9yIChpID0gMDsgaSA8IGlvdmNudDsgaSsrKSB7Ci0JCQlpZiAobGVu ICsgaW92W2ldLmlvdl9sZW4gPiAyMDQ4KQotCQkJCWJyZWFrOwotCQkJbWVtY3B5KCZidWZbbGVu XSwgaW92W2ldLmlvdl9iYXNlLCBpb3ZbaV0uaW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlv dl9sZW47CisJCWlmICh1bmxpa2VseShubV9vZmYgPT0gbm1fYnVmX3NpemUpKSB7CisJCQlyaW5n LT5zbG90W2ldLmZsYWdzID0gTlNfTU9SRUZSQUc7CisJCQlpID0gbm1fcmluZ19uZXh0KHJpbmcs IGkpOworCQkJYnVmID0gTkVUTUFQX0JVRihyaW5nLCByaW5nLT5zbG90W2ldLmJ1Zl9pZHgpOwor CQkJbm1fb2ZmID0gMDsKIAkJfQotCQlyaW5nLT5zbG90W2N1cl0ubGVuID0gbGVuOwotCQlyaW5n LT5oZWFkID0gcmluZy0+Y3VyID0gbm1fcmluZ19uZXh0KHJpbmcsIGN1cik7Ci0JCW5tZC0+Y3Vy X3R4X3JpbmcgPSByOwotCQlpb2N0bChubWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKLQkJYnJl YWs7CisKKwkJZnJhZ19zaXplID0gTUlOKG5tX2J1Zl9zaXplIC0gbm1fb2ZmLCBpb3YtPmlvdl9s ZW4gLSBpb3Zfb2ZmKTsKKwkJbWVtY3B5KGJ1ZiArIG5tX29mZiwgaW92LT5pb3ZfYmFzZSArIGlv dl9vZmYsIGZyYWdfc2l6ZSk7CisKKwkJaW92c2l6ZSAtPSBmcmFnX3NpemU7CisJCWlvdl9vZmYg Kz0gZnJhZ19zaXplOworCQlubV9vZmYgKz0gZnJhZ19zaXplOworCisJCXJpbmctPnNsb3RbaV0u bGVuID0gbm1fb2ZmOwogCX0KIAorCS8qIFRoZSBsYXN0IHNsb3QgbXVzdCBub3QgaGF2ZSBOU19N T1JFRlJBRyBzZXQuICovCisJcmluZy0+c2xvdFtpXS5mbGFncyAmPSB+TlNfTU9SRUZSQUc7CisJ cmluZy0+aGVhZCA9IHJpbmctPmN1ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBpKTsKKwlpb2N0bChu bWQtPmZkLCBOSU9DVFhTWU5DLCBOVUxMKTsKKwogCXJldHVybiAobGVuKTsKIH0KIAogc3RhdGlj IF9faW5saW5lIGludAotcGNpX3Z0bmV0X25ldG1hcF9yZWFkdihzdHJ1Y3Qgbm1fZGVzYyAqbm1k LCBzdHJ1Y3QgaW92ZWMgKmlvdiwgaW50IGlvdmNudCkKK3BjaV92dG5ldF9uZXRtYXBfcmVhZHYo c3RydWN0IG5tX2Rlc2MgKm5tZCwgc3RydWN0IGlvdmVjICppb3YsIGludCBpb3ZjbnQsIGludCBp b3ZzaXplKQogewotCWludCBsZW4gPSAwOwotCWludCBpID0gMDsKLQlpbnQgcjsKKwljaGFyICpi dWY7CisJaW50IGk7CisJaW50IGlvdl9vZmY7CisJaW50IGZyYWdfc2l6ZTsKKwlpbnQgbGVuOwor CWludCBubV9vZmY7CiAKLQlmb3IgKHIgPSBubWQtPmN1cl9yeF9yaW5nOyA7ICkgewotCQlzdHJ1 Y3QgbmV0bWFwX3JpbmcgKnJpbmcgPSBORVRNQVBfUlhSSU5HKG5tZC0+bmlmcCwgcik7Ci0JCXVp bnQzMl90IGN1ciwgaWR4OwotCQljaGFyICpidWY7Ci0JCXNpemVfdCBsZWZ0OworCXN0cnVjdCBu ZXRtYXBfcmluZyAqciA9IE5FVE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5n KTsKIAotCQlpZiAobm1fcmluZ19lbXB0eShyaW5nKSkgewotCQkJcisrOwotCQkJaWYgKHIgPiBu bWQtPmxhc3RfcnhfcmluZykKLQkJCQlyID0gbm1kLT5maXJzdF9yeF9yaW5nOwotCQkJaWYgKHIg PT0gbm1kLT5jdXJfcnhfcmluZykKLQkJCQlicmVhazsKLQkJCWNvbnRpbnVlOworCWkgPSByLT5o ZWFkOworCWJ1ZiA9IE5FVE1BUF9CVUYociwgci0+c2xvdFtpXS5idWZfaWR4KTsKKwlpb3Zfb2Zm ID0gMDsKKwlubV9vZmYgPSAwOworCWxlbiA9IGlvdnNpemU7CisKKwl3aGlsZSAoaW92c2l6ZSkg eworCisJCWlmICh1bmxpa2VseShpb3Zfb2ZmID09IGlvdi0+aW92X2xlbikpIHsKKwkJCWlvdisr OworCQkJaW92X29mZiA9IDA7CiAJCX0KLQkJY3VyID0gcmluZy0+Y3VyOwotCQlpZHggPSByaW5n LT5zbG90W2N1cl0uYnVmX2lkeDsKLQkJYnVmID0gTkVUTUFQX0JVRihyaW5nLCBpZHgpOwotCQls ZWZ0ID0gcmluZy0+c2xvdFtjdXJdLmxlbjsKIAotCQlmb3IgKGkgPSAwOyBpIDwgaW92Y250ICYm IGxlZnQgPiAwOyBpKyspIHsKLQkJCWlmIChpb3ZbaV0uaW92X2xlbiA+IGxlZnQpCi0JCQkJaW92 W2ldLmlvdl9sZW4gPSBsZWZ0OwotCQkJbWVtY3B5KGlvdltpXS5pb3ZfYmFzZSwgJmJ1ZltsZW5d LCBpb3ZbaV0uaW92X2xlbik7Ci0JCQlsZW4gKz0gaW92W2ldLmlvdl9sZW47Ci0JCQlsZWZ0IC09 IGlvdltpXS5pb3ZfbGVuOworCQlpZiAodW5saWtlbHkobm1fb2ZmID09IHItPnNsb3RbaV0ubGVu KSkgeworCQkJaSA9IG5tX3JpbmdfbmV4dChyLCBpKTsKKwkJCWJ1ZiA9IE5FVE1BUF9CVUYociwg ci0+c2xvdFtpXS5idWZfaWR4KTsKKwkJCW5tX29mZiA9IDA7CiAJCX0KLQkJcmluZy0+aGVhZCA9 IHJpbmctPmN1ciA9IG5tX3JpbmdfbmV4dChyaW5nLCBjdXIpOwotCQlubWQtPmN1cl9yeF9yaW5n ID0gcjsKLQkJaW9jdGwobm1kLT5mZCwgTklPQ1JYU1lOQywgTlVMTCk7Ci0JCWJyZWFrOworCisJ CWZyYWdfc2l6ZSA9IE1JTihyLT5zbG90W2ldLmxlbiAtIG5tX29mZiwgaW92LT5pb3ZfbGVuIC0g aW92X29mZik7CisJCW1lbWNweShpb3YtPmlvdl9iYXNlICsgaW92X29mZiwgYnVmICsgbm1fb2Zm LCBmcmFnX3NpemUpOworCisJCWlvdnNpemUgLT0gZnJhZ19zaXplOworCQlpb3Zfb2ZmICs9IGZy YWdfc2l6ZTsKKwkJbm1fb2ZmICs9IGZyYWdfc2l6ZTsKIAl9Ci0JZm9yICg7IGkgPCBpb3ZjbnQ7 IGkrKykKLQkJaW92W2ldLmlvdl9sZW4gPSAwOwogCisJci0+aGVhZCA9IHItPmN1ciA9IG5tX3Jp bmdfbmV4dChyLCBpKTsKKwogCXJldHVybiAobGVuKTsKIH0KIApAQCAtNDgxLDMyICs1MDIsNTMg QEAKIHBjaV92dG5ldF9uZXRtYXBfdHgoc3RydWN0IHBjaV92dG5ldF9zb2Z0YyAqc2MsIHN0cnVj dCBpb3ZlYyAqaW92LCBpbnQgaW92Y250LAogCQkgICAgaW50IGxlbikKIHsKLQlzdGF0aWMgY2hh ciBwYWRbNjBdOyAvKiBhbGwgemVybyBieXRlcyAqLwotCiAJaWYgKHNjLT52c2Nfbm1kID09IE5V TEwpCiAJCXJldHVybjsKIAotCS8qCi0JICogSWYgdGhlIGxlbmd0aCBpcyA8IDYwLCBwYWQgb3V0 IHRvIHRoYXQgYW5kIGFkZCB0aGUKLQkgKiBleHRyYSB6ZXJvJ2Qgc2VnbWVudCB0byB0aGUgaW92 LiBJdCBpcyBndWFyYW50ZWVkIHRoYXQKLQkgKiB0aGVyZSBpcyBhbHdheXMgYW4gZXh0cmEgaW92 IGF2YWlsYWJsZSBieSB0aGUgY2FsbGVyLgotCSAqLwotCWlmIChsZW4gPCA2MCkgewotCQlpb3Zb aW92Y250XS5pb3ZfYmFzZSA9IHBhZDsKLQkJaW92W2lvdmNudF0uaW92X2xlbiA9IDYwIC0gbGVu OwotCQlpb3ZjbnQrKzsKKwkodm9pZCkgcGNpX3Z0bmV0X25ldG1hcF93cml0ZXYoc2MtPnZzY19u bWQsIGlvdiwgaW92Y250LCBsZW4pOworfQorCitzdGF0aWMgX19pbmxpbmUgaW50CituZXRtYXBf bmV4dF9wa3RfbGVuKHN0cnVjdCBubV9kZXNjICpubWQpCit7CisJaW50IGk7CisJaW50IGxlbjsK KwlzdHJ1Y3QgbmV0bWFwX3JpbmcgKnIgPSBORVRNQVBfUlhSSU5HKG5tZC0+bmlmcCwgbm1kLT5j dXJfcnhfcmluZyk7CisKKwlsZW4gPSAwOworCisJZm9yIChpID0gci0+aGVhZDsgaSAhPSByLT50 YWlsOyBpID0gbm1fcmluZ19uZXh0KHIsIGkpKSB7CisJCWxlbiArPSByLT5zbG90W2ldLmxlbjsK KwkJaWYgKCEoci0+c2xvdFtpXS5mbGFncyAmIE5TX01PUkVGUkFHKSkKKwkJCWJyZWFrOwogCX0K LQkodm9pZCkgcGNpX3Z0bmV0X25ldG1hcF93cml0ZXYoc2MtPnZzY19ubWQsIGlvdiwgaW92Y250 KTsKKworCXJldHVybiAobGVuKTsKIH0KIAorc3RhdGljIF9faW5saW5lIHZvaWQKK25ldG1hcF9k cm9wX3BrdChzdHJ1Y3Qgbm1fZGVzYyAqbm1kKQoreworCWludCBpOworCXN0cnVjdCBuZXRtYXBf cmluZyAqciA9IE5FVE1BUF9SWFJJTkcobm1kLT5uaWZwLCBubWQtPmN1cl9yeF9yaW5nKTsKKwor CWZvciAoaSA9IHItPmhlYWQ7IGkgIT0gci0+dGFpbDsgaSA9IG5tX3JpbmdfbmV4dChyLCBpKSkg eworCQlpZiAoIShyLT5zbG90W2ldLmZsYWdzICYgTlNfTU9SRUZSQUcpKSB7CisJCQlyLT5oZWFk ID0gci0+Y3VyID0gbm1fcmluZ19uZXh0KHIsIGkpOworCQkJcmV0dXJuOworCQl9CisJfQorfQor CiBzdGF0aWMgdm9pZAogcGNpX3Z0bmV0X25ldG1hcF9yeChzdHJ1Y3QgcGNpX3Z0bmV0X3NvZnRj ICpzYykKIHsKIAlzdHJ1Y3QgaW92ZWMgaW92W1ZUTkVUX01BWFNFR1NdLCAqcmlvdjsKKwlzdHJ1 Y3QgdmlydGlvX3VzZWQgdXNlZFtWVE5FVF9NQVhTRUdTXTsKKwlzdHJ1Y3QgdmlydGlvX25ldF9y eGhkciAqdnJ4aDsKIAlzdHJ1Y3QgdnF1ZXVlX2luZm8gKnZxOwotCXZvaWQgKnZyeDsKLQlpbnQg bGVuLCBuOwogCXVpbnQxNl90IGlkeDsKKwlpbnQgYnVmcywgbGVuLCBuOwogCiAJLyoKIAkgKiBT aG91bGQgbmV2ZXIgYmUgY2FsbGVkIHdpdGhvdXQgYSB2YWxpZCBuZXRtYXAgZGVzY3JpcHRvcgpA QCAtNTIxLDcgKzU2Myw3IEBACiAJCS8qCiAJCSAqIERyb3AgdGhlIHBhY2tldCBhbmQgdHJ5IGxh dGVyLgogCQkgKi8KLQkJKHZvaWQpIG5tX25leHRwa3Qoc2MtPnZzY19ubWQsICh2b2lkICopZHVt bXlidWYpOworCQluZXRtYXBfZHJvcF9wa3Qoc2MtPnZzY19ubWQpOwogCQlyZXR1cm47CiAJfQog CkBAIC01MzQsNTggKzU3Niw2NyBAQAogCQkgKiBEcm9wIHRoZSBwYWNrZXQgYW5kIHRyeSBsYXRl ci4gIEludGVycnVwdCBvbgogCQkgKiBlbXB0eSwgaWYgdGhhdCdzIG5lZ290aWF0ZWQuCiAJCSAq LwotCQkodm9pZCkgbm1fbmV4dHBrdChzYy0+dnNjX25tZCwgKHZvaWQgKilkdW1teWJ1Zik7CisJ CW5ldG1hcF9kcm9wX3BrdChzYy0+dnNjX25tZCk7CiAJCXZxX2VuZGNoYWlucyh2cSwgMSk7CiAJ CXJldHVybjsKIAl9CiAKIAlkbyB7Ci0JCS8qCi0JCSAqIEdldCBkZXNjcmlwdG9yIGNoYWluLgot CQkgKi8KLQkJbiA9IHZxX2dldGNoYWluKHZxLCAmaWR4LCBpb3YsIFZUTkVUX01BWFNFR1MsIE5V TEwpOwotCQlhc3NlcnQobiA+PSAxICYmIG4gPD0gVlRORVRfTUFYU0VHUyk7CisJCWxlbiA9IG5l dG1hcF9uZXh0X3BrdF9sZW4oc2MtPnZzY19ubWQpOwogCi0JCS8qCi0JCSAqIEdldCBhIHBvaW50 ZXIgdG8gdGhlIHJ4IGhlYWRlciwgYW5kIHVzZSB0aGUKLQkJICogZGF0YSBpbW1lZGlhdGVseSBm b2xsb3dpbmcgaXQgZm9yIHRoZSBwYWNrZXQgYnVmZmVyLgotCQkgKi8KLQkJdnJ4ID0gaW92WzBd Lmlvdl9iYXNlOwotCQlyaW92ID0gcnhfaW92X3RyaW0oaW92LCAmbiwgc2MtPnJ4X3ZoZHJsZW4p OwotCi0JCWxlbiA9IHBjaV92dG5ldF9uZXRtYXBfcmVhZHYoc2MtPnZzY19ubWQsIHJpb3YsIG4p OwotCi0JCWlmIChsZW4gPT0gMCkgeworCQlpZiAodW5saWtlbHkobGVuID09IDApKSB7CiAJCQkv KgogCQkJICogTm8gbW9yZSBwYWNrZXRzLCBidXQgc3RpbGwgc29tZSBhdmFpbCByaW5nCiAJCQkg KiBlbnRyaWVzLiAgSW50ZXJydXB0IGlmIG5lZWRlZC9hcHByb3ByaWF0ZS4KIAkJCSAqLwotCQkJ dnFfcmV0Y2hhaW4odnEpOwogCQkJdnFfZW5kY2hhaW5zKHZxLCAwKTsKIAkJCXJldHVybjsKIAkJ fQogCisJCWlmIChzYy0+cnhfbWVyZ2UpIHsKKwkJCS8qCisJCQkgKiBHZXQgbWVyZ2FibGUgYnVm ZmVycy4KKwkJCSAqLyAKKwkJCW4gPSB2cV9nZXRidWZzX21yZ3J4KHZxLCBpb3YsIFZUTkVUX01B WFNFR1MsIGxlbiArIHNjLT5yeF92aGRybGVuLAorCQkJCQl1c2VkLCAmYnVmcyk7CisJCX0gZWxz ZSB7CisJCQkvKgorCQkJICogR2V0IGRlc2NyaXB0b3IgY2hhaW4uCisJCQkgKi8KKwkJCW4gPSB2 cV9nZXRjaGFpbih2cSwgJmlkeCwgaW92LCBWVE5FVF9NQVhTRUdTLCBOVUxMKTsKKwkJfQorCisJ CWlmIChuIDw9IDApIHsKKwkJCXZxX2VuZGNoYWlucyh2cSwgMCk7CisJCQlyZXR1cm47CisJCX0K KwogCQkvKgotCQkgKiBUaGUgb25seSB2YWxpZCBmaWVsZCBpbiB0aGUgcnggcGFja2V0IGhlYWRl ciBpcyB0aGUKLQkJICogbnVtYmVyIG9mIGJ1ZmZlcnMgaWYgbWVyZ2VkIHJ4IGJ1ZnMgd2VyZSBu ZWdvdGlhdGVkLgorCQkgKiBHZXQgYSBwb2ludGVyIHRvIHRoZSByeCBoZWFkZXIsIGFuZCB1c2Ug dGhlCisJCSAqIGRhdGEgaW1tZWRpYXRlbHkgZm9sbG93aW5nIGl0IGZvciB0aGUgcGFja2V0IGJ1 ZmZlci4KIAkJICovCi0JCW1lbXNldCh2cngsIDAsIHNjLT5yeF92aGRybGVuKTsKKwkJdnJ4aCA9 IGlvdlswXS5pb3ZfYmFzZTsKKwkJbWVtc2V0KHZyeGgsIDAsIHNjLT5yeF92aGRybGVuKTsKIAot CQlpZiAoc2MtPnJ4X21lcmdlKSB7Ci0JCQlzdHJ1Y3QgdmlydGlvX25ldF9yeGhkciAqdnJ4aDsK KwkJcmlvdiA9IHJ4X2lvdl90cmltKGlvdiwgJm4sIHNjLT5yeF92aGRybGVuKTsKIAotCQkJdnJ4 aCA9IHZyeDsKLQkJCXZyeGgtPnZyaF9idWZzID0gMTsKLQkJfQorCQkodm9pZClwY2lfdnRuZXRf bmV0bWFwX3JlYWR2KHNjLT52c2Nfbm1kLCByaW92LCBuLCBsZW4pOwogCiAJCS8qCi0JCSAqIFJl bGVhc2UgdGhpcyBjaGFpbiBhbmQgaGFuZGxlIG1vcmUgY2hhaW5zLgorCQkgKiBSZWxlYXNlIHVz ZWQgZGVzY3JpcHRvcnMuCiAJCSAqLwotCQl2cV9yZWxjaGFpbih2cSwgaWR4LCBsZW4gKyBzYy0+ cnhfdmhkcmxlbik7CisJCWlmIChzYy0+cnhfbWVyZ2UpIHsKKwkJCXZyeGgtPnZyaF9idWZzID0g YnVmczsKKwkJCXZxX3JlbGJ1ZnNfbXJncngodnEsIGJ1ZnMsIHVzZWQpOworCQl9IGVsc2Ugewor CQkJdnFfcmVsY2hhaW4odnEsIGlkeCwgbGVuICsgc2MtPnJ4X3ZoZHJsZW4pOworCQl9CisKIAl9 IHdoaWxlICh2cV9oYXNfZGVzY3ModnEpKTsKIAogCS8qIEludGVycnVwdCBpZiBuZWVkZWQsIGlu Y2x1ZGluZyBmb3IgTk9USUZZX09OX0VNUFRZLiAqLwogCXZxX2VuZGNoYWlucyh2cSwgMSk7CisK IH0KIAogc3RhdGljIHZvaWQKCg== --b1_566772461613bcba5301f3eceff592e0--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?566772461613bcba5301f3eceff592e0>