Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 7 Jan 2016 12:28:32 +0200
From:      Boris Astardzhiev <boris.astardzhiev@gmail.com>
To:        Konstantin Belousov <kostikbel@gmail.com>
Cc:        Mark Delany <c2h@romeo.emu.st>, freebsd-net@freebsd.org
Subject:   Re: Does FreeBSD have sendmmsg or recvmmsg system calls?
Message-ID:  <CAP=KkTyKXvy0tg0kBT8nGeLXVKE_iewXry95vhAA_B_BZ_tsTg@mail.gmail.com>
In-Reply-To: <20160107101351.GR3625@kib.kiev.ua>
References:  <alpine.BSF.2.20.1601031744040.20884@fledge.watson.org> <CAJ-Vmomxcn%2BiYJAzNViL8WnepsCihrkTuHd8=0O6vONKsTExCA@mail.gmail.com> <20160103214720.72014.qmail@f5-external.bushwire.net> <20160104085415.GS3625@kib.kiev.ua> <20160104091108.50654.qmail@f5-external.bushwire.net> <20160104093859.GV3625@kib.kiev.ua> <20160104101747.58347.qmail@f5-external.bushwire.net> <20160104194044.GD3625@kib.kiev.ua> <20160104210741.32812.qmail@f5-external.bushwire.net> <CAP=KkTwfpjec2Tgnm4PRR3u8t4GEqN9Febm5HRcqapifBG-B6g@mail.gmail.com> <20160107101351.GR3625@kib.kiev.ua>

next in thread | previous in thread | raw e-mail | index | archive | help
--089e01493c12bf93910528bbeec6
Content-Type: text/plain; charset=UTF-8

> Please remove the autogenerated parts of the patch and resend.


On Thu, Jan 7, 2016 at 12:13 PM, Konstantin Belousov <kostikbel@gmail.com>
wrote:

> On Thu, Jan 07, 2016 at 11:51:24AM +0200, Boris Astardzhiev wrote:
> > Hello,
> >
> > Here's my implementation of the two system calls. The patch is against
> HEAD
> > from a couple of days:
> Please remove the autogenerated parts of the patch and resend.
>

--089e01493c12bf93910528bbeec6
Content-Type: text/plain; charset=US-ASCII; name="sendrecvmmsg.diff"
Content-Disposition: attachment; filename="sendrecvmmsg.diff"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_ij441b7t0

ZGlmZiAtLWdpdCBhL2xpYi9saWJjL2luY2x1ZGUvbGliY19wcml2YXRlLmggYi9saWIvbGliYy9p
bmNsdWRlL2xpYmNfcHJpdmF0ZS5oCmluZGV4IDVjYWY5YTMuLjdlMmE5MDIgMTAwNjQ0Ci0tLSBh
L2xpYi9saWJjL2luY2x1ZGUvbGliY19wcml2YXRlLmgKKysrIGIvbGliL2xpYmMvaW5jbHVkZS9s
aWJjX3ByaXZhdGUuaApAQCAtMjAwLDggKzIwMCwxMCBAQCBlbnVtIHsKIAlJTlRFUlBPU19wc2Vs
ZWN0LAogCUlOVEVSUE9TX3JlY3Zmcm9tLAogCUlOVEVSUE9TX3JlY3Ztc2csCisJSU5URVJQT1Nf
cmVjdm1tc2csCiAJSU5URVJQT1Nfc2VsZWN0LAogCUlOVEVSUE9TX3NlbmRtc2csCisJSU5URVJQ
T1Nfc2VuZG1tc2csCiAJSU5URVJQT1Nfc2VuZHRvLAogCUlOVEVSUE9TX3NldGNvbnRleHQsCiAJ
SU5URVJQT1Nfc2lnYWN0aW9uLApAQCAtMjg5LDYgKzI5MSw3IEBAIHN0cnVjdCBmZF9zZXQ7CiBz
dHJ1Y3QgaW92ZWM7CiBzdHJ1Y3Qga2V2ZW50Owogc3RydWN0IG1zZ2hkcjsKK3N0cnVjdCBtbXNn
aGRyOwogc3RydWN0IHBvbGxmZDsKIHN0cnVjdCBydXNhZ2U7CiBzdHJ1Y3Qgc2lnYWN0aW9uOwpA
QCAtMzM0LDkgKzMzNywxMSBAQCBfX3NzaXplX3QJX19zeXNfcmVjdihpbnQsIHZvaWQgKiwgX19z
aXplX3QsIGludCk7CiBfX3NzaXplX3QJX19zeXNfcmVjdmZyb20oaW50LCB2b2lkICosIF9fc2l6
ZV90LCBpbnQsIHN0cnVjdCBzb2NrYWRkciAqLAogCQkgICAgX19zb2NrbGVuX3QgKik7CiBfX3Nz
aXplX3QJX19zeXNfcmVjdm1zZyhpbnQsIHN0cnVjdCBtc2doZHIgKiwgaW50KTsKK19fc3NpemVf
dAlfX3N5c19yZWN2bW1zZyhpbnQsIHN0cnVjdCBtbXNnaGRyICosIHVuc2lnbmVkIGludCwgaW50
KTsKIGludAkJX19zeXNfc2VsZWN0KGludCwgc3RydWN0IGZkX3NldCAqLCBzdHJ1Y3QgZmRfc2V0
ICosCiAJCSAgICBzdHJ1Y3QgZmRfc2V0ICosIHN0cnVjdCB0aW1ldmFsICopOwogX19zc2l6ZV90
CV9fc3lzX3NlbmRtc2coaW50LCBjb25zdCBzdHJ1Y3QgbXNnaGRyICosIGludCk7CitfX3NzaXpl
X3QJX19zeXNfc2VuZG1tc2coaW50LCBjb25zdCBzdHJ1Y3QgbW1zZ2hkciAqLCB1bnNpZ25lZCBp
bnQsIGludCk7CiBfX3NzaXplX3QJX19zeXNfc2VuZHRvKGludCwgY29uc3Qgdm9pZCAqLCBfX3Np
emVfdCwgaW50LAogCQkgICAgY29uc3Qgc3RydWN0IHNvY2thZGRyICosIF9fc29ja2xlbl90KTsK
IGludAkJX19zeXNfc2V0Y29udGV4dChjb25zdCBzdHJ1Y3QgX191Y29udGV4dCAqKTsKZGlmZiAt
LWdpdCBhL2xpYi9saWJjL2luY2x1ZGUvbmFtZXNwYWNlLmggYi9saWIvbGliYy9pbmNsdWRlL25h
bWVzcGFjZS5oCmluZGV4IDczOWQ3YjEuLmM5NTgyOWUgMTAwNjQ0Ci0tLSBhL2xpYi9saWJjL2lu
Y2x1ZGUvbmFtZXNwYWNlLmgKKysrIGIvbGliL2xpYmMvaW5jbHVkZS9uYW1lc3BhY2UuaApAQCAt
MjA4LDYgKzIwOCw3IEBACiAjZGVmaW5lCQlyZWFkdgkJCQlfcmVhZHYKICNkZWZpbmUJCXJlY3Zm
cm9tCQkJX3JlY3Zmcm9tCiAjZGVmaW5lCQlyZWN2bXNnCQkJCV9yZWN2bXNnCisjZGVmaW5lCQly
ZWN2bW1zZwkJCV9yZWN2bW1zZwogI2RlZmluZQkJc2VsZWN0CQkJCV9zZWxlY3QKICNkZWZpbmUJ
CXNlbV9jbG9zZQkJCV9zZW1fY2xvc2UKICNkZWZpbmUJCXNlbV9kZXN0cm95CQkJX3NlbV9kZXN0
cm95CkBAIC0yMjAsNiArMjIxLDcgQEAKICNkZWZpbmUJCXNlbV91bmxpbmsJCQlfc2VtX3VubGlu
awogI2RlZmluZQkJc2VtX3dhaXQJCQlfc2VtX3dhaXQKICNkZWZpbmUJCXNlbmRtc2cJCQkJX3Nl
bmRtc2cKKyNkZWZpbmUJCXNlbmRtbXNnCQkJX3NlbmRtbXNnCiAjZGVmaW5lCQlzZW5kdG8JCQkJ
X3NlbmR0bwogI2RlZmluZQkJc2V0c29ja29wdAkJCV9zZXRzb2Nrb3B0CiAvKiNkZWZpbmUJCXNp
Z2FjdGlvbgkJCV9zaWdhY3Rpb24qLwpkaWZmIC0tZ2l0IGEvbGliL2xpYmMvaW5jbHVkZS91bi1u
YW1lc3BhY2UuaCBiL2xpYi9saWJjL2luY2x1ZGUvdW4tbmFtZXNwYWNlLmgKaW5kZXggZjMxZmE3
YS4uMDIzMzM0OCAxMDA2NDQKLS0tIGEvbGliL2xpYmMvaW5jbHVkZS91bi1uYW1lc3BhY2UuaAor
KysgYi9saWIvbGliYy9pbmNsdWRlL3VuLW5hbWVzcGFjZS5oCkBAIC0xODksNiArMTg5LDcgQEAK
ICN1bmRlZgkJcmVhZHYKICN1bmRlZgkJcmVjdmZyb20KICN1bmRlZgkJcmVjdm1zZworI3VuZGVm
CQlyZWN2bW1zZwogI3VuZGVmCQlzZWxlY3QKICN1bmRlZgkJc2VtX2Nsb3NlCiAjdW5kZWYJCXNl
bV9kZXN0cm95CkBAIC0yMDEsNiArMjAyLDcgQEAKICN1bmRlZgkJc2VtX3VubGluawogI3VuZGVm
CQlzZW1fd2FpdAogI3VuZGVmCQlzZW5kbXNnCisjdW5kZWYJCXNlbmRtbXNnCiAjdW5kZWYJCXNl
bmR0bwogI3VuZGVmCQlzZXRzb2Nrb3B0CiAjdW5kZWYJCXNpZ2FjdGlvbgpkaWZmIC0tZ2l0IGEv
bGliL2xpYmMvc3lzL01ha2VmaWxlLmluYyBiL2xpYi9saWJjL3N5cy9NYWtlZmlsZS5pbmMKaW5k
ZXggZTRmZTFiMi4uMWMwOWZjZSAxMDA2NDQKLS0tIGEvbGliL2xpYmMvc3lzL01ha2VmaWxlLmlu
YworKysgYi9saWIvbGliYy9zeXMvTWFrZWZpbGUuaW5jCkBAIC00OSw4ICs0OSwxMCBAQCBJTlRF
UlBPU0VEID0gXAogCXJlYWR2IFwKIAlyZWN2ZnJvbSBcCiAJcmVjdm1zZyBcCisJcmVjdm1tc2cg
XAogCXNlbGVjdCBcCiAJc2VuZG1zZyBcCisJc2VuZG1tc2cgXAogCXNlbmR0byBcCiAJc2V0Y29u
dGV4dCBcCiAJc2lncHJvY21hc2sgXApkaWZmIC0tZ2l0IGEvbGliL2xpYmMvc3lzL1N5bWJvbC5t
YXAgYi9saWIvbGliYy9zeXMvU3ltYm9sLm1hcAppbmRleCA3YjMyNTdjLi42Y2MzYzZlIDEwMDY0
NAotLS0gYS9saWIvbGliYy9zeXMvU3ltYm9sLm1hcAorKysgYi9saWIvbGliYy9zeXMvU3ltYm9s
Lm1hcApAQCAtMjIwLDYgKzIyMCw3IEBAIEZCU0RfMS4wIHsKIAlyZWJvb3Q7CiAJcmVjdmZyb207
CiAJcmVjdm1zZzsKKwlyZWN2bW1zZzsKIAlyZW5hbWU7CiAJcmV2b2tlOwogCXJmb3JrOwpAQCAt
MjQwLDYgKzI0MSw3IEBAIEZCU0RfMS4wIHsKIAlzZW1zeXM7CiAJc2VuZGZpbGU7CiAJc2VuZG1z
ZzsKKwlzZW5kbW1zZzsKIAlzZW5kdG87CiAJc2V0YXVkaXQ7CiAJc2V0YXVkaXRfYWRkcjsKQEAg
LTg1MSw2ICs4NTMsOCBAQCBGQlNEcHJpdmF0ZV8xLjAgewogCV9fc3lzX3JlY3Zmcm9tOwogCV9y
ZWN2bXNnOwogCV9fc3lzX3JlY3Ztc2c7CisJX3JlY3ZtbXNnOworCV9fc3lzX3JlY3ZtbXNnOwog
CV9yZW5hbWU7CiAJX19zeXNfcmVuYW1lOwogCV9yZXZva2U7CkBAIC04OTEsNiArODk1LDggQEAg
RkJTRHByaXZhdGVfMS4wIHsKIAlfX3N5c19zZW5kZmlsZTsKIAlfc2VuZG1zZzsKIAlfX3N5c19z
ZW5kbXNnOworCV9zZW5kbW1zZzsKKwlfX3N5c19zZW5kbW1zZzsKIAlfc2VuZHRvOwogCV9fc3lz
X3NlbmR0bzsKIAlfc2V0YXVkaXQ7CmRpZmYgLS1naXQgYS9saWIvbGliYy9zeXMvaW50ZXJwb3Np
bmdfdGFibGUuYyBiL2xpYi9saWJjL3N5cy9pbnRlcnBvc2luZ190YWJsZS5jCmluZGV4IDA4ZGZi
YjEuLmM4NjZhNzUgMTAwNjQ0Ci0tLSBhL2xpYi9saWJjL3N5cy9pbnRlcnBvc2luZ190YWJsZS5j
CisrKyBiL2xpYi9saWJjL3N5cy9pbnRlcnBvc2luZ190YWJsZS5jCkBAIC01Niw4ICs1NiwxMCBA
QCBpbnRlcnBvc19mdW5jX3QgX19saWJjX2ludGVycG9zaW5nW0lOVEVSUE9TX01BWF0gPSB7CiAJ
U0xPVChyZWFkdiwgX19zeXNfcmVhZHYpLAogCVNMT1QocmVjdmZyb20sIF9fc3lzX3JlY3Zmcm9t
KSwKIAlTTE9UKHJlY3Ztc2csIF9fc3lzX3JlY3Ztc2cpLAorCVNMT1QocmVjdm1tc2csIF9fc3lz
X3JlY3ZtbXNnKSwKIAlTTE9UKHNlbGVjdCwgX19zeXNfc2VsZWN0KSwKIAlTTE9UKHNlbmRtc2cs
IF9fc3lzX3NlbmRtc2cpLAorCVNMT1Qoc2VuZG1tc2csIF9fc3lzX3NlbmRtbXNnKSwKIAlTTE9U
KHNlbmR0bywgX19zeXNfc2VuZHRvKSwKIAlTTE9UKHNldGNvbnRleHQsIF9fc3lzX3NldGNvbnRl
eHQpLAogCVNMT1Qoc2lnYWN0aW9uLCBfX3N5c19zaWdhY3Rpb24pLApkaWZmIC0tZ2l0IGEvbGli
L2xpYmMvc3lzL3JlY3ZtbXNnLmMgYi9saWIvbGliYy9zeXMvcmVjdm1tc2cuYwpuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmIwNTg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGli
L2xpYmMvc3lzL3JlY3ZtbXNnLmMKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
YykgMjAxNiBCb3JpcyBBc3RhcmR6aGlldiwgU21hcnRjb20tQnVsZ2FyaWEgQUQKKyAqIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlKHMpLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGFzCisgKiAgICB0aGUgZmlyc3QgbGluZXMg
b2YgdGhpcyBmaWxlIHVubW9kaWZpZWQgb3RoZXIgdGhhbiB0aGUgcG9zc2libGUKKyAqICAgIGFk
ZGl0aW9uIG9mIG9uZSBvciBtb3JlIGNvcHlyaWdodCBub3RpY2VzLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZShzKSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogICAgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgYGBBUyBJ
UycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUihTKSBCRQor
ICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
CisgKiBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRQorICogT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwKKyAqIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9jZGVmcy5o
PgorX19GQlNESUQoIiRGcmVlQlNEJCIpOworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5j
bHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSAi
bGliY19wcml2YXRlLmgiCisKK19fd2Vha19yZWZlcmVuY2UoX19zeXNfcmVjdm1tc2csIF9fcmVj
dm1tc2cpOworCisjcHJhZ21hIHdlYWsgcmVjdm1tc2cKK3NzaXplX3QKK3JlY3ZtbXNnKGludCBz
LCBzdHJ1Y3QgbW1zZ2hkciAqbXNndmVjLCB1bnNpZ25lZCBpbnQgdmxlbiwgaW50IGZsYWdzKQor
eworCisJcmV0dXJuICgoKGludCAoKikoaW50LCBzdHJ1Y3QgbW1zZ2hkciAqLCBpbnQsIGludCkp
CisJICAgIF9fbGliY19pbnRlcnBvc2luZ1tJTlRFUlBPU19yZWN2bW1zZ10pKHMsIG1zZ3ZlYywg
dmxlbiwgZmxhZ3MpKTsKK30KZGlmZiAtLWdpdCBhL2xpYi9saWJjL3N5cy9zZW5kbW1zZy5jIGIv
bGliL2xpYmMvc3lzL3NlbmRtbXNnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MC4uMzk4ZjljYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9saWJjL3N5cy9zZW5kbW1zZy5jCkBA
IC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgQm9yaXMgQXN0YXJkemhp
ZXYsIFNtYXJ0Y29tLUJ1bGdhcmlhIEFECisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZShzKSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBhcworICogICAgdGhlIGZpcnN0IGxpbmVzIG9mIHRoaXMgZmlsZSB1bm1vZGlmaWVk
IG90aGVyIHRoYW4gdGhlIHBvc3NpYmxlCisgKiAgICBhZGRpdGlvbiBvZiBvbmUgb3IgbW9yZSBj
b3B5cmlnaHQgbm90aWNlcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UocyksIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAg
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKKyAqICAgIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSKFMpIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIoUykgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLAorICogV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UKKyAqIE9S
IE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsCisgKiBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlIDxzeXMvY2RlZnMuaD4KK19fRkJTRElEKCIkRnJlZUJTRCQi
KTsKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+Cisj
aW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgImxpYmNfcHJpdmF0ZS5oIgorCitfX3dl
YWtfcmVmZXJlbmNlKF9fc3lzX3NlbmRtbXNnLCBfX3NlbmRtbXNnKTsKKworI3ByYWdtYSB3ZWFr
IHNlbmRtbXNnCitzc2l6ZV90CitzZW5kbW1zZyhpbnQgcywgY29uc3Qgc3RydWN0IG1tc2doZHIg
Km1zZ3ZlYywgdW5zaWduZWQgaW50IHZsZW4sIGludCBmbGFncykKK3sKKworCXJldHVybiAoKChp
bnQgKCopKGludCwgY29uc3Qgc3RydWN0IG1tc2doZHIgKiwgaW50LCBpbnQpKQorCSAgICBfX2xp
YmNfaW50ZXJwb3NpbmdbSU5URVJQT1Nfc2VuZG1tc2ddKShzLCBtc2d2ZWMsIHZsZW4sIGZsYWdz
KSk7Cit9CmRpZmYgLS1naXQgYS9zeXMvYnNtL2F1ZGl0X2tldmVudHMuaCBiL3N5cy9ic20vYXVk
aXRfa2V2ZW50cy5oCmluZGV4IDNjMTZjNzMuLjJmYzg4N2EgMTAwNjQ0Ci0tLSBhL3N5cy9ic20v
YXVkaXRfa2V2ZW50cy5oCisrKyBiL3N5cy9ic20vYXVkaXRfa2V2ZW50cy5oCkBAIC02MTEsNiAr
NjExLDggQEAKICNkZWZpbmUJQVVFX0JJTkRBVAkJNDMyMDcJLyogVHJ1c3RlZEJTRC4gKi8KICNk
ZWZpbmUJQVVFX0NPTk5FQ1RBVAkJNDMyMDgJLyogVHJ1c3RlZEJTRC4gKi8KICNkZWZpbmUJQVVF
X0NIRkxBR1NBVAkJNDMyMDkJLyogRnJlZUJTRC1zcGVjaWZpYy4gKi8KKyNkZWZpbmUJQVVFX1NF
TkRNTVNHCQk0MzIxMAorI2RlZmluZQlBVUVfUkVDVk1NU0cJCTQzMjExCiAKIC8qCiAgKiBEYXJ3
aW4gQlNNIHVzZXMgYSBudW1iZXIgb2YgQVVFX09fKiBkZWZpbml0aW9ucywgd2hpY2ggYXJlIGFs
aWFzZWQgdG8gdGhlCmRpZmYgLS1naXQgYS9zeXMva2Vybi9zeXNjYWxscy5tYXN0ZXIgYi9zeXMv
a2Vybi9zeXNjYWxscy5tYXN0ZXIKaW5kZXggNmU2ZmIzOC4uNjE5MDg5NSAxMDA2NDQKLS0tIGEv
c3lzL2tlcm4vc3lzY2FsbHMubWFzdGVyCisrKyBiL3N5cy9rZXJuL3N5c2NhbGxzLm1hc3RlcgpA
QCAtOTk0LDYgKzk5NCwxMCBAQAogNTQ5CUFVRV9OVUxMCVNURAl7IGludCBudW1hX3NldGFmZmlu
aXR5KGNwdXdoaWNoX3Qgd2hpY2gsIFwKIAkJCQkgICAgaWRfdCBpZCwgXAogCQkJCSAgICBjb25z
dCBzdHJ1Y3Qgdm1fZG9tYWluX3BvbGljeV9lbnRyeSAqcG9saWN5KTsgfQorNTUwCUFVRV9TRU5E
TU1TRwlTVEQJeyBpbnQgc2VuZG1tc2coaW50IHMsIHN0cnVjdCBtbXNnaGRyICptc2d2ZWMsXAor
CQkJCSAgICB1bnNpZ25lZCBpbnQgdmxlbiwgaW50IGZsYWdzKTsgfQorNTUxCUFVRV9SRUNWTU1T
RwlTVEQJeyBpbnQgcmVjdm1tc2coaW50IHMsIHN0cnVjdCBtbXNnaGRyICptc2d2ZWMsXAorCQkJ
CSAgICB1bnNpZ25lZCBpbnQgdmxlbiwgaW50IGZsYWdzKTsgfQogCiA7IFBsZWFzZSBjb3B5IGFu
eSBhZGRpdGlvbnMgYW5kIGNoYW5nZXMgdG8gdGhlIGZvbGxvd2luZyBjb21wYXRhYmlsaXR5IHRh
YmxlczoKIDsgc3lzL2NvbXBhdC9mcmVlYnNkMzIvc3lzY2FsbHMubWFzdGVyCmRpZmYgLS1naXQg
YS9zeXMva2Vybi91aXBjX3N5c2NhbGxzLmMgYi9zeXMva2Vybi91aXBjX3N5c2NhbGxzLmMKaW5k
ZXggYzMzYTJjZi4uNzM1NGI0ZiAxMDA2NDQKLS0tIGEvc3lzL2tlcm4vdWlwY19zeXNjYWxscy5j
CisrKyBiL3N5cy9rZXJuL3VpcGNfc3lzY2FsbHMuYwpAQCAtMTAzOCw2ICsxMDM4LDgyIEBAIHN5
c19zZW5kbXNnKHRkLCB1YXApCiB9CiAKIGludAorc3lzX3NlbmRtbXNnKHRkLCB1YXApCisJc3Ry
dWN0IHRocmVhZCAqdGQ7CisJc3RydWN0IHNlbmRtbXNnX2FyZ3MgLyogeworCQlpbnQJczsKKwkJ
c3RydWN0IG1tc2doZHIJKm1zZ3ZlYzsKKwkJdW5zaWduZWQgaW50CXZsZW47CisJCWludAlmbGFn
czsKKwl9ICovICp1YXA7Cit7CisJc3RydWN0IG1tc2doZHIgKnZlYywgKm1tcDsKKwlzdHJ1Y3Qg
bXNnaGRyICptcCwgbXNnOworCXN0cnVjdCBpb3ZlYyAqaW92OworCXVuc2lnbmVkIGludCB2bGVu
LCBsZW47CisJaW50IGksIHNlbnQgPSAwLCBlcnJvcjsKKwlzdHJ1Y3Qgc29ja2V0ICpzbyA9IE5V
TEw7CisJc3RydWN0IGZpbGUgKmZwOworCWNhcF9yaWdodHNfdCByaWdodHM7CisKKwlpZiAoZmdl
dCh0ZCwgdWFwLT5zLCBjYXBfcmlnaHRzX2luaXQoJnJpZ2h0cywgQ0FQX1NFTkQpLCAmZnApICE9
IDApCisJCXJldHVybiAoRUJBREYpOworCisJc28gPSBmcC0+Zl9kYXRhOworCisJdmxlbiA9IHVh
cC0+dmxlbjsKKwlpZiAodmxlbiA+IFVJT19NQVhJT1YpCisJCXZsZW4gPSBVSU9fTUFYSU9WOwor
CisJbGVuID0gdmxlbiAqIHNpemVvZigqdWFwLT5tc2d2ZWMpOworCXZlYyA9IG1hbGxvYyhsZW4s
IE1fVEVNUCwgTV9XQUlUT0spOworCisJZXJyb3IgPSBjb3B5aW4odWFwLT5tc2d2ZWMsIHZlYywg
bGVuKTsKKwlpZiAoZXJyb3IgIT0gMCkKKwkJZ290byBvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwg
dmxlbjsgaSsrKSB7CisJCW1tcCA9ICZ2ZWNbaV07CisJCW1wID0gJm1tcC0+bXNnX2hkcjsKKwkJ
bXNnID0gKm1wOworCisJCWVycm9yID0gY29weWluaW92KG1zZy5tc2dfaW92LCBtc2cubXNnX2lv
dmxlbiwgJmlvdiwgRU1TR1NJWkUpOworCQlpZiAoZXJyb3IgIT0gMCkKKwkJCWdvdG8gb3V0Owor
CisJCW1zZy5tc2dfaW92ID0gaW92OworI2lmZGVmIENPTVBBVF9PTERTT0NLCisJCW1zZy5tc2df
ZmxhZ3MgPSAwOworI2VuZGlmCisJCWVycm9yID0gc2VuZGl0KHRkLCB1YXAtPnMsICZtc2csIHVh
cC0+ZmxhZ3MpOworCQlmcmVlKGlvdiwgTV9JT1YpOworCQlpZiAoZXJyb3IgIT0gMCkKKwkJCWdv
dG8gb3V0OworCisJCWVycm9yID0gY29weW91dCgmdGQtPnRkX3JldHZhbFswXSwgJnVhcC0+bXNn
dmVjW2ldLm1zZ19sZW4sCisJCSAgICBzaXplb2YodGQtPnRkX3JldHZhbFswXSkpOworCQlpZiAo
ZXJyb3IgIT0gMCkKKwkJCWdvdG8gb3V0OworCisJCXNlbnQrKzsKKwl9CisKKwl0ZC0+dGRfcmV0
dmFsWzBdID0gc2VudDsKKworb3V0OgorCWlmIChlcnJvciAhPSAwICYmIHNlbnQgIT0gMCAmJiBz
ZW50ICE9IHZsZW4pIHsKKwkJc28tPnNvX2Vycm9yID0gZXJyb3I7CisJCWVycm9yID0gMDsKKwkJ
dGQtPnRkX3JldHZhbFswXSA9IHNlbnQ7CisJfQorCisJZmRyb3AoZnAsIHRkKTsKKworCWZyZWUo
dmVjLCBNX1RFTVApOworCXJldHVybiAoZXJyb3IpOworfQorCitpbnQKIGtlcm5fcmVjdml0KHRk
LCBzLCBtcCwgZnJvbXNlZywgY29udHJvbHApCiAJc3RydWN0IHRocmVhZCAqdGQ7CiAJaW50IHM7
CkBAIC0xMzYzLDYgKzE0MzksOTEgQEAgc3lzX3JlY3Ztc2codGQsIHVhcCkKIAlyZXR1cm4gKGVy
cm9yKTsKIH0KIAoraW50CitzeXNfcmVjdm1tc2codGQsIHVhcCkKKwlzdHJ1Y3QgdGhyZWFkICp0
ZDsKKwlzdHJ1Y3QgcmVjdm1tc2dfYXJncyAvKiB7CisJCWludAlzOworCQlzdHJ1Y3QgbW1zZ2hk
cgkqbXNndmVjOworCQl1bnNpZ25lZCBpbnQJdmxlbjsKKwkJaW50CWZsYWdzOworCX0gKi8gKnVh
cDsKK3sKKwlzdHJ1Y3QgbW1zZ2hkciAqdmVjLCAqbW1wOworCXN0cnVjdCBtc2doZHIgKm1wLCBt
c2c7CisJc3RydWN0IGlvdmVjICp1aW92LCAqaW92OworCXVuc2lnbmVkIGludCB2bGVuLCBsZW47
CisJaW50IGksIHJjdmQgPSAwLCBlcnJvcjsKKwlzdHJ1Y3Qgc29ja2V0ICpzbyA9IE5VTEw7CisJ
c3RydWN0IGZpbGUgKmZwOworCWNhcF9yaWdodHNfdCByaWdodHM7CisKKwlpZiAoZmdldCh0ZCwg
dWFwLT5zLCBjYXBfcmlnaHRzX2luaXQoJnJpZ2h0cywgQ0FQX1JFQ1YpLCAmZnApICE9IDApCisJ
CXJldHVybiAoRUJBREYpOworCisJc28gPSBmcC0+Zl9kYXRhOworCisJdmxlbiA9IHVhcC0+dmxl
bjsKKwlpZiAodmxlbiA+IFVJT19NQVhJT1YpCisJCXZsZW4gPSBVSU9fTUFYSU9WOworCisJbGVu
ID0gdmxlbiAqIHNpemVvZigqdWFwLT5tc2d2ZWMpOworCXZlYyA9IG1hbGxvYyhsZW4sIE1fVEVN
UCwgTV9XQUlUT0spOworCisJZXJyb3IgPSBjb3B5aW4odWFwLT5tc2d2ZWMsIHZlYywgbGVuKTsK
KwlpZiAoZXJyb3IgIT0gMCkKKwkJZ290byBvdXQ7CisKKwlmb3IgKGkgPSAwOyBpIDwgdmxlbjsg
aSsrKSB7CisJCW1tcCA9ICZ2ZWNbaV07CisJCW1wID0gJm1tcC0+bXNnX2hkcjsKKwkJbXNnID0g
Km1wOworCisJCWVycm9yID0gY29weWluaW92KG1zZy5tc2dfaW92LCBtc2cubXNnX2lvdmxlbiwg
JmlvdiwgRU1TR1NJWkUpOworCQlpZiAoZXJyb3IgIT0gMCkKKwkJCWdvdG8gb3V0OworCisJCW1z
Zy5tc2dfZmxhZ3MgPSB1YXAtPmZsYWdzOworI2lmZGVmIENPTVBBVF9PTERTT0NLCisJCW1zZy5t
c2dfZmxhZ3MgJj0gfk1TR19DT01QQVQ7CisjZW5kaWYKKwkJdWlvdiA9IG1zZy5tc2dfaW92Owor
CQltc2cubXNnX2lvdiA9IGlvdjsKKworCQllcnJvciA9IHJlY3ZpdCh0ZCwgdWFwLT5zLCAmbXNn
LCBOVUxMKTsKKwkJaWYgKGVycm9yID09IDApIHsKKwkJCW1zZy5tc2dfaW92ID0gdWlvdjsKKwkJ
CWVycm9yID0gY29weW91dCgmbXNnLCAmdWFwLT5tc2d2ZWNbaV0ubXNnX2hkciwgc2l6ZW9mKG1z
ZykpOworCQkJaWYgKGVycm9yICE9IDApIHsKKwkJCQlmcmVlKGlvdiwgTV9JT1YpOworCQkJCWdv
dG8gb3V0OworCQkJfQorCQkJZXJyb3IgPSBjb3B5b3V0KCZ0ZC0+dGRfcmV0dmFsWzBdLCAmdWFw
LT5tc2d2ZWNbaV0ubXNnX2xlbiwKKwkJCSAgICBzaXplb2YodGQtPnRkX3JldHZhbFswXSkpOwor
CQkJaWYgKGVycm9yICE9IDApIHsKKwkJCQlmcmVlKGlvdiwgTV9JT1YpOworCQkJCWdvdG8gb3V0
OworCQkJfQorCQl9CisJCWZyZWUoaW92LCBNX0lPVik7CisJCXJjdmQrKzsKKwl9CisKKwl0ZC0+
dGRfcmV0dmFsWzBdID0gcmN2ZDsKKworb3V0OgorCWlmIChlcnJvciAhPSAwICYmIHJjdmQgIT0g
MCAmJiByY3ZkICE9IHZsZW4pIHsKKwkJc28tPnNvX2Vycm9yID0gZXJyb3I7CisJCWVycm9yID0g
MDsKKwkJdGQtPnRkX3JldHZhbFswXSA9IHJjdmQ7CisJfQorCisJZmRyb3AoZnAsIHRkKTsKKwor
CWZyZWUodmVjLCBNX1RFTVApOworCXJldHVybiAoZXJyb3IpOworfQorCiAvKiBBUkdTVVNFRCAq
LwogaW50CiBzeXNfc2h1dGRvd24odGQsIHVhcCkKZGlmZiAtLWdpdCBhL3N5cy9zeXMvc29ja2V0
LmggYi9zeXMvc3lzL3NvY2tldC5oCmluZGV4IDE4ZTJkZTEuLmQzNTJjZDIgMTAwNjQ0Ci0tLSBh
L3N5cy9zeXMvc29ja2V0LmgKKysrIGIvc3lzL3N5cy9zb2NrZXQuaApAQCAtNDE0LDYgKzQxNCwx
MSBAQCBzdHJ1Y3QgbXNnaGRyIHsKIAlpbnQJCSBtc2dfZmxhZ3M7CQkvKiBmbGFncyBvbiByZWNl
aXZlZCBtZXNzYWdlICovCiB9OwogCitzdHJ1Y3QgbW1zZ2hkciB7CisJc3RydWN0IG1zZ2hkcglt
c2dfaGRyOwkJLyogbWVzc2FnZSBoZWFkZXIgKi8KKwl1bnNpZ25lZCBpbnQJbXNnX2xlbjsJCS8q
IG1lc3NhZ2UgbGVuZ3RoICAqLworfTsKKwogI2RlZmluZQlNU0dfT09CCQkweDEJCS8qIHByb2Nl
c3Mgb3V0LW9mLWJhbmQgZGF0YSAqLwogI2RlZmluZQlNU0dfUEVFSwkweDIJCS8qIHBlZWsgYXQg
aW5jb21pbmcgbWVzc2FnZSAqLwogI2RlZmluZQlNU0dfRE9OVFJPVVRFCTB4NAkJLyogc2VuZCB3
aXRob3V0IHVzaW5nIHJvdXRpbmcgdGFibGVzICovCkBAIC02MTUsMTAgKzYyMCwxMiBAQCBpbnQJ
bGlzdGVuKGludCwgaW50KTsKIHNzaXplX3QJcmVjdihpbnQsIHZvaWQgKiwgc2l6ZV90LCBpbnQp
Owogc3NpemVfdAlyZWN2ZnJvbShpbnQsIHZvaWQgKiwgc2l6ZV90LCBpbnQsIHN0cnVjdCBzb2Nr
YWRkciAqIF9fcmVzdHJpY3QsIHNvY2tsZW5fdCAqIF9fcmVzdHJpY3QpOwogc3NpemVfdAlyZWN2
bXNnKGludCwgc3RydWN0IG1zZ2hkciAqLCBpbnQpOworc3NpemVfdAlyZWN2bW1zZyhpbnQsIHN0
cnVjdCBtbXNnaGRyICosIHVuc2lnbmVkIGludCwgaW50KTsKIHNzaXplX3QJc2VuZChpbnQsIGNv
bnN0IHZvaWQgKiwgc2l6ZV90LCBpbnQpOwogc3NpemVfdAlzZW5kdG8oaW50LCBjb25zdCB2b2lk
ICosCiAJICAgIHNpemVfdCwgaW50LCBjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKiwgc29ja2xlbl90
KTsKIHNzaXplX3QJc2VuZG1zZyhpbnQsIGNvbnN0IHN0cnVjdCBtc2doZHIgKiwgaW50KTsKK3Nz
aXplX3QJc2VuZG1tc2coaW50LCBjb25zdCBzdHJ1Y3QgbW1zZ2hkciAqLCB1bnNpZ25lZCBpbnQs
IGludCk7CiAjaWYgX19CU0RfVklTSUJMRQogaW50CXNlbmRmaWxlKGludCwgaW50LCBvZmZfdCwg
c2l6ZV90LCBzdHJ1Y3Qgc2ZfaGR0ciAqLCBvZmZfdCAqLCBpbnQpOwogaW50CXNldGZpYihpbnQp
Owo=
--089e01493c12bf93910528bbeec6--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAP=KkTyKXvy0tg0kBT8nGeLXVKE_iewXry95vhAA_B_BZ_tsTg>