Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Mar 2007 04:17:41 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        garcol@postino.it
Cc:        "freebsd-performance@freebsd.org" <freebsd-performance@freebsd.org>, rwatson@abraham.elitel.it, FreeBSD.org@abraham.elitel.it, at@abraham.elitel.it
Subject:   Re: MFC of UDP socket enhancement for BIND?
Message-ID:  <20070311041547.V79670@fledge.watson.org>
In-Reply-To: <1173276364.45eec6ccb23ff@www.postino.punto.it>
References:  <1173276364.45eec6ccb23ff@www.postino.punto.it>

next in thread | previous in thread | raw e-mail | index | archive | help
  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

--0-681862891-1173583061=:79670
Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed


On Wed, 7 Mar 2007, garcol@postino.it wrote:

>> For reference, the sosend_copyin.diff applies these changes:
>>
>>   src/sys/kern/uipc_socket.c:1.253, 1.254, 1.255
>
> Sorry, It's seem doesn't work ... . The function sosend_copyin() where Have 
> I to declare it?

socketvar.h:1.144 is missing from this patch; I've attached a revised version 
of sosend_dgram.diff that includes that change (prototype declaration of 
socketvar.h).

Thanks,

Robert N M Watson
Computer Laboratory
University of Cambridge
--0-681862891-1173583061=:79670
Content-Type: TEXT/plain; charset=US-ASCII; name=sosend_dgram.diff
Content-Transfer-Encoding: BASE64
Content-ID: <20070311041741.S79670@fledge.watson.org>
Content-Description: 
Content-Disposition: attachment; filename=sosend_dgram.diff

SW5kZXg6IGtlcm4vdWlwY19zb2NrZXQuYw0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQ0KUkNTIGZpbGU6IC9kYXRhL2Zic2QtY3ZzL25jdnMvc3JjL3N5cy9r
ZXJuL3VpcGNfc29ja2V0LmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjI0
Mi4yLjgNCmRpZmYgLXUgLXIxLjI0Mi4yLjggdWlwY19zb2NrZXQuYw0KLS0t
IGtlcm4vdWlwY19zb2NrZXQuYwkzIEZlYiAyMDA3IDA0OjAxOjIyIC0wMDAw
CTEuMjQyLjIuOA0KKysrIGtlcm4vdWlwY19zb2NrZXQuYwkxMSBNYXIgMjAw
NyAwMzoxMjoyMSAtMDAwMA0KQEAgLTU4NCw3ICs1ODQsMzAxIEBADQogCXJl
dHVybiAoZXJyb3IpOw0KIH0NCiANCisjaWZkZWYgWkVST19DT1BZX1NPQ0tF
VFMNCitzdHJ1Y3Qgc29femVyb2NvcHlfc3RhdHN7DQorCWludCBzaXplX29r
Ow0KKwlpbnQgYWxpZ25fb2s7DQorCWludCBmb3VuZF9pZnA7DQorfTsNCitz
dHJ1Y3Qgc29femVyb2NvcHlfc3RhdHMgc29femVyb2NwX3N0YXRzID0gezAs
MCwwfTsNCisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPg0KKyNpbmNsdWRlIDxu
ZXQvcm91dGUuaD4NCisjaW5jbHVkZSA8bmV0aW5ldC9pbl9wY2IuaD4NCisj
aW5jbHVkZSA8dm0vdm0uaD4NCisjaW5jbHVkZSA8dm0vdm1fcGFnZS5oPg0K
KyNpbmNsdWRlIDx2bS92bV9vYmplY3QuaD4NCisjZW5kaWYgLypaRVJPX0NP
UFlfU09DS0VUUyovDQorDQorLyoNCisgKiBzb3NlbmRfY29weWluKCkgYWNj
ZXB0cyBhIHVpbyBhbmQgcHJlcGFyZXMgYW4gbWJ1ZiBjaGFpbiBob2xkaW5n
IHBhcnQgb3INCisgKiBhbGwgb2YgdGhlIGRhdGEgcmVmZXJlbmNlZCBieSB0
aGUgdWlvLiAgSWYgZGVzaXJlZCwgaXQgdXNlcyB6ZXJvLWNvcHkuDQorICog
KnNwYWNlIHdpbGwgYmUgdXBkYXRlZCB0byByZWZsZWN0IGRhdGEgY29waWVk
IGluLg0KKyAqDQorICogTkI6IElmIGF0b21pYyBJL08gaXMgcmVxdWVzdGVk
LCB0aGUgY2FsbGVyIG11c3QgYWxyZWFkeSBoYXZlIGNoZWNrZWQgdGhhdA0K
KyAqIHNwYWNlIGNhbiBob2xkIHJlc2lkIGJ5dGVzLg0KKyAqDQorICogTkI6
IEluIHRoZSBldmVudCBvZiBhbiBlcnJvciwgdGhlIGNhbGxlciBtYXkgbmVl
ZCB0byBmcmVlIHRoZSBwYXJ0aWFsDQorICogY2hhaW4gcG9pbnRlZCB0byBi
eSAqbXBwLiAgVGhlIGNvbnRlbnRzIG9mIGJvdGggKnVpbyBhbmQgKnNwYWNl
IG1heSBiZQ0KKyAqIG1vZGlmaWVkIGV2ZW4gaW4gdGhlIGNhc2Ugb2YgYW4g
ZXJyb3IuDQorICovDQorc3RhdGljIGludA0KK3Nvc2VuZF9jb3B5aW4oc3Ry
dWN0IHVpbyAqdWlvLCBzdHJ1Y3QgbWJ1ZiAqKnJldG1wLCBpbnQgYXRvbWlj
LCBsb25nICpzcGFjZSwNCisgICAgaW50IGZsYWdzKQ0KK3sNCisJc3RydWN0
IG1idWYgKm0sICoqbXAsICp0b3A7DQorCWxvbmcgbGVuLCByZXNpZDsNCisJ
aW50IGVycm9yOw0KKyNpZmRlZiBaRVJPX0NPUFlfU09DS0VUUw0KKwlpbnQg
Y293X3NlbmQ7DQorI2VuZGlmDQorDQorCSpyZXRtcCA9IHRvcCA9IE5VTEw7
DQorCW1wID0gJnRvcDsNCisJbGVuID0gMDsNCisJcmVzaWQgPSB1aW8tPnVp
b19yZXNpZDsNCisJZXJyb3IgPSAwOw0KKwlkbyB7DQorI2lmZGVmIFpFUk9f
Q09QWV9TT0NLRVRTDQorCQljb3dfc2VuZCA9IDA7DQorI2VuZGlmIC8qIFpF
Uk9fQ09QWV9TT0NLRVRTICovDQorCQlpZiAocmVzaWQgPj0gTUlOQ0xTSVpF
KSB7DQorI2lmZGVmIFpFUk9fQ09QWV9TT0NLRVRTDQorCQkJaWYgKHRvcCA9
PSBOVUxMKSB7DQorCQkJCU1HRVRIRFIobSwgTV9UUllXQUlULCBNVF9EQVRB
KTsNCisJCQkJaWYgKG0gPT0gTlVMTCkgew0KKwkJCQkJZXJyb3IgPSBFTk9C
VUZTOw0KKwkJCQkJZ290byBvdXQ7DQorCQkJCX0NCisJCQkJbS0+bV9wa3Ro
ZHIubGVuID0gMDsNCisJCQkJbS0+bV9wa3RoZHIucmN2aWYgPSBOVUxMOyAN
CisJCQl9IGVsc2Ugew0KKwkJCQlNR0VUKG0sIE1fVFJZV0FJVCwgTVRfREFU
QSk7DQorCQkJCWlmIChtID09IE5VTEwpIHsNCisJCQkJCWVycm9yID0gRU5P
QlVGUzsNCisJCQkJCWdvdG8gb3V0Ow0KKwkJCQl9DQorCQkJfQ0KKwkJCWlm
IChzb196ZXJvX2NvcHlfc2VuZCAmJg0KKwkJCSAgICByZXNpZD49UEFHRV9T
SVpFICYmDQorCQkJICAgICpzcGFjZT49UEFHRV9TSVpFICYmDQorCQkJICAg
IHVpby0+dWlvX2lvdi0+aW92X2xlbj49UEFHRV9TSVpFKSB7DQorCQkJCXNv
X3plcm9jcF9zdGF0cy5zaXplX29rKys7DQorCQkJCXNvX3plcm9jcF9zdGF0
cy5hbGlnbl9vaysrOw0KKwkJCQljb3dfc2VuZCA9IHNvY293X3NldHVwKG0s
IHVpbyk7DQorCQkJCWxlbiA9IGNvd19zZW5kOw0KKwkJCX0NCisJCQlpZiAo
IWNvd19zZW5kKSB7DQorCQkJCU1DTEdFVChtLCBNX1RSWVdBSVQpOw0KKwkJ
CQlpZiAoKG0tPm1fZmxhZ3MgJiBNX0VYVCkgPT0gMCkgew0KKwkJCQkJbV9m
cmVlKG0pOw0KKwkJCQkJbSA9IE5VTEw7DQorCQkJCX0gZWxzZSB7DQorCQkJ
CQlsZW4gPSBtaW4obWluKE1DTEJZVEVTLCByZXNpZCksDQorCQkJCQkgICAg
KnNwYWNlKTsNCisJCQkJfQ0KKwkJCX0NCisjZWxzZSAvKiBaRVJPX0NPUFlf
U09DS0VUUyAqLw0KKwkJCWlmICh0b3AgPT0gTlVMTCkgew0KKwkJCQltID0g
bV9nZXRjbChNX1RSWVdBSVQsIE1UX0RBVEEsIE1fUEtUSERSKTsNCisJCQkJ
bS0+bV9wa3RoZHIubGVuID0gMDsNCisJCQkJbS0+bV9wa3RoZHIucmN2aWYg
PSBOVUxMOw0KKwkJCX0gZWxzZQ0KKwkJCQltID0gbV9nZXRjbChNX1RSWVdB
SVQsIE1UX0RBVEEsIDApOw0KKwkJCWxlbiA9IG1pbihtaW4oTUNMQllURVMs
IHJlc2lkKSwgKnNwYWNlKTsNCisjZW5kaWYgLyogWkVST19DT1BZX1NPQ0tF
VFMgKi8NCisJCX0gZWxzZSB7DQorCQkJaWYgKHRvcCA9PSBOVUxMKSB7DQor
CQkJCW0gPSBtX2dldGhkcihNX1RSWVdBSVQsIE1UX0RBVEEpOw0KKwkJCQlt
LT5tX3BrdGhkci5sZW4gPSAwOw0KKwkJCQltLT5tX3BrdGhkci5yY3ZpZiA9
IE5VTEw7DQorDQorCQkJCWxlbiA9IG1pbihtaW4oTUhMRU4sIHJlc2lkKSwg
KnNwYWNlKTsNCisJCQkJLyoNCisJCQkJICogRm9yIGRhdGFncmFtIHByb3Rv
Y29scywgbGVhdmUgcm9vbQ0KKwkJCQkgKiBmb3IgcHJvdG9jb2wgaGVhZGVy
cyBpbiBmaXJzdCBtYnVmLg0KKwkJCQkgKi8NCisJCQkJaWYgKGF0b21pYyAm
JiBtICYmIGxlbiA8IE1ITEVOKQ0KKwkJCQkJTUhfQUxJR04obSwgbGVuKTsN
CisJCQl9IGVsc2Ugew0KKwkJCQltID0gbV9nZXQoTV9UUllXQUlULCBNVF9E
QVRBKTsNCisJCQkJbGVuID0gbWluKG1pbihNTEVOLCByZXNpZCksICpzcGFj
ZSk7DQorCQkJfQ0KKwkJfQ0KKwkJaWYgKG0gPT0gTlVMTCkgew0KKwkJCWVy
cm9yID0gRU5PQlVGUzsNCisJCQlnb3RvIG91dDsNCisJCX0NCisNCisJCSpz
cGFjZSAtPSBsZW47DQorI2lmZGVmIFpFUk9fQ09QWV9TT0NLRVRTDQorCQlp
ZiAoY293X3NlbmQpDQorCQkJZXJyb3IgPSAwOw0KKwkJZWxzZQ0KKyNlbmRp
ZiAvKiBaRVJPX0NPUFlfU09DS0VUUyAqLw0KKwkJZXJyb3IgPSB1aW9tb3Zl
KG10b2QobSwgdm9pZCAqKSwgKGludClsZW4sIHVpbyk7DQorCQlyZXNpZCA9
IHVpby0+dWlvX3Jlc2lkOw0KKwkJbS0+bV9sZW4gPSBsZW47DQorCQkqbXAg
PSBtOw0KKwkJdG9wLT5tX3BrdGhkci5sZW4gKz0gbGVuOw0KKwkJaWYgKGVy
cm9yKQ0KKwkJCWdvdG8gb3V0Ow0KKwkJbXAgPSAmbS0+bV9uZXh0Ow0KKwkJ
aWYgKHJlc2lkIDw9IDApIHsNCisJCQlpZiAoZmxhZ3MgJiBNU0dfRU9SKQ0K
KwkJCQl0b3AtPm1fZmxhZ3MgfD0gTV9FT1I7DQorCQkJYnJlYWs7DQorCQl9
DQorCX0gd2hpbGUgKCpzcGFjZSA+IDAgJiYgYXRvbWljKTsNCitvdXQ6DQor
CSpyZXRtcCA9IHRvcDsNCisJcmV0dXJuIChlcnJvcik7DQorfQ0KKw0KICNk
ZWZpbmUJU0JMT0NLV0FJVChmKQkoKChmKSAmIE1TR19ET05UV0FJVCkgPyBN
X05PV0FJVCA6IE1fV0FJVE9LKQ0KKw0KK2ludA0KK3Nvc2VuZF9kZ3JhbShz
bywgYWRkciwgdWlvLCB0b3AsIGNvbnRyb2wsIGZsYWdzLCB0ZCkNCisJc3Ry
dWN0IHNvY2tldCAqc287DQorCXN0cnVjdCBzb2NrYWRkciAqYWRkcjsNCisJ
c3RydWN0IHVpbyAqdWlvOw0KKwlzdHJ1Y3QgbWJ1ZiAqdG9wOw0KKwlzdHJ1
Y3QgbWJ1ZiAqY29udHJvbDsNCisJaW50IGZsYWdzOw0KKwlzdHJ1Y3QgdGhy
ZWFkICp0ZDsNCit7DQorCWxvbmcgc3BhY2UsIHJlc2lkOw0KKwlpbnQgY2xl
biA9IDAsIGVycm9yLCBkb250cm91dGU7DQorCWludCBhdG9taWMgPSBzb3Nl
bmRhbGxhdG9uY2Uoc28pIHx8IHRvcDsNCisNCisJS0FTU0VSVChzby0+c29f
dHlwZSA9PSBTT0NLX0RHUkFNLCAoInNvZGdyYW1fc2VuZDogIVNPQ0tfREdS
QU0iKSk7DQorCUtBU1NFUlQoc28tPnNvX3Byb3RvLT5wcl9mbGFncyAmIFBS
X0FUT01JQywNCisJICAgICgic29kZ3JhbV9zZW5kOiAhUFJfQVRPTUlDIikp
Ow0KKw0KKwlpZiAodWlvICE9IE5VTEwpDQorCQlyZXNpZCA9IHVpby0+dWlv
X3Jlc2lkOw0KKwllbHNlDQorCQlyZXNpZCA9IHRvcC0+bV9wa3RoZHIubGVu
Ow0KKwkvKg0KKwkgKiBJbiB0aGVvcnkgcmVzaWQgc2hvdWxkIGJlIHVuc2ln
bmVkLg0KKwkgKiBIb3dldmVyLCBzcGFjZSBtdXN0IGJlIHNpZ25lZCwgYXMg
aXQgbWlnaHQgYmUgbGVzcyB0aGFuIDANCisJICogaWYgd2Ugb3Zlci1jb21t
aXR0ZWQsIGFuZCB3ZSBtdXN0IHVzZSBhIHNpZ25lZCBjb21wYXJpc29uDQor
CSAqIG9mIHNwYWNlIGFuZCByZXNpZC4gIE9uIHRoZSBvdGhlciBoYW5kLCBh
IG5lZ2F0aXZlIHJlc2lkDQorCSAqIGNhdXNlcyB1cyB0byBsb29wIHNlbmRp
bmcgMC1sZW5ndGggc2VnbWVudHMgdG8gdGhlIHByb3RvY29sLg0KKwkgKg0K
KwkgKiBBbHNvIGNoZWNrIHRvIG1ha2Ugc3VyZSB0aGF0IE1TR19FT1IgaXNu
J3QgdXNlZCBvbiBTT0NLX1NUUkVBTQ0KKwkgKiB0eXBlIHNvY2tldHMgc2lu
Y2UgdGhhdCdzIGFuIGVycm9yLg0KKwkgKi8NCisJaWYgKHJlc2lkIDwgMCkg
ew0KKwkJZXJyb3IgPSBFSU5WQUw7DQorCQlnb3RvIG91dDsNCisJfQ0KKw0K
Kwlkb250cm91dGUgPQ0KKwkgICAgKGZsYWdzICYgTVNHX0RPTlRST1VURSkg
JiYgKHNvLT5zb19vcHRpb25zICYgU09fRE9OVFJPVVRFKSA9PSAwOw0KKwlp
ZiAodGQgIT0gTlVMTCkNCisJCXRkLT50ZF9wcm9jLT5wX3N0YXRzLT5wX3J1
LnJ1X21zZ3NuZCsrOw0KKwlpZiAoY29udHJvbCAhPSBOVUxMKQ0KKwkJY2xl
biA9IGNvbnRyb2wtPm1fbGVuOw0KKw0KKwlTT0NLQlVGX0xPQ0soJnNvLT5z
b19zbmQpOw0KKwlpZiAoc28tPnNvX3NuZC5zYl9zdGF0ZSAmIFNCU19DQU5U
U0VORE1PUkUpIHsNCisJCVNPQ0tCVUZfVU5MT0NLKCZzby0+c29fc25kKTsN
CisJCWVycm9yID0gRVBJUEU7DQorCQlnb3RvIG91dDsNCisJfQ0KKwlpZiAo
c28tPnNvX2Vycm9yKSB7DQorCQllcnJvciA9IHNvLT5zb19lcnJvcjsNCisJ
CXNvLT5zb19lcnJvciA9IDA7DQorCQlTT0NLQlVGX1VOTE9DSygmc28tPnNv
X3NuZCk7DQorCQlnb3RvIG91dDsNCisJfQ0KKwlpZiAoKHNvLT5zb19zdGF0
ZSAmIFNTX0lTQ09OTkVDVEVEKSA9PSAwKSB7DQorCQkvKg0KKwkJICogYHNl
bmR0bycgYW5kIGBzZW5kbXNnJyBpcyBhbGxvd2VkIG9uIGEgY29ubmVjdGlv
bi0NCisJCSAqIGJhc2VkIHNvY2tldCBpZiBpdCBzdXBwb3J0cyBpbXBsaWVk
IGNvbm5lY3QuDQorCQkgKiBSZXR1cm4gRU5PVENPTk4gaWYgbm90IGNvbm5l
Y3RlZCBhbmQgbm8gYWRkcmVzcyBpcw0KKwkJICogc3VwcGxpZWQuDQorCQkg
Ki8NCisJCWlmICgoc28tPnNvX3Byb3RvLT5wcl9mbGFncyAmIFBSX0NPTk5S
RVFVSVJFRCkgJiYNCisJCSAgICAoc28tPnNvX3Byb3RvLT5wcl9mbGFncyAm
IFBSX0lNUExPUENMKSA9PSAwKSB7DQorCQkJaWYgKChzby0+c29fc3RhdGUg
JiBTU19JU0NPTkZJUk1JTkcpID09IDAgJiYNCisJCQkgICAgIShyZXNpZCA9
PSAwICYmIGNsZW4gIT0gMCkpIHsNCisJCQkJU09DS0JVRl9VTkxPQ0soJnNv
LT5zb19zbmQpOw0KKwkJCQllcnJvciA9IEVOT1RDT05OOw0KKwkJCQlnb3Rv
IG91dDsNCisJCQl9DQorCQl9IGVsc2UgaWYgKGFkZHIgPT0gTlVMTCkgew0K
KwkJCWlmIChzby0+c29fcHJvdG8tPnByX2ZsYWdzICYgUFJfQ09OTlJFUVVJ
UkVEKQ0KKwkJCQllcnJvciA9IEVOT1RDT05OOw0KKwkJCWVsc2UNCisJCQkJ
ZXJyb3IgPSBFREVTVEFERFJSRVE7DQorCQkJU09DS0JVRl9VTkxPQ0soJnNv
LT5zb19zbmQpOw0KKwkJCWdvdG8gb3V0Ow0KKwkJfQ0KKwl9DQorDQorCS8q
DQorCSAqIERvIHdlIG5lZWQgTVNHX09PQiBzdXBwb3J0IGluIFNPQ0tfREdS
QU0/ICBTaWducyBoZXJlIG1heSBiZSBhDQorCSAqIHByb2JsZW0gYW5kIG5l
ZWQgZml4aW5nLg0KKwkgKi8NCisJc3BhY2UgPSBzYnNwYWNlKCZzby0+c29f
c25kKTsNCisJaWYgKGZsYWdzICYgTVNHX09PQikNCisJCXNwYWNlICs9IDEw
MjQ7DQorCXNwYWNlIC09IGNsZW47DQorCWlmIChyZXNpZCA+IHNwYWNlKSB7
DQorCQllcnJvciA9IEVNU0dTSVpFOw0KKwkJZ290byBvdXQ7DQorCX0NCisJ
U09DS0JVRl9VTkxPQ0soJnNvLT5zb19zbmQpOw0KKwlpZiAodWlvID09IE5V
TEwpIHsNCisJCXJlc2lkID0gMDsNCisJCWlmIChmbGFncyAmIE1TR19FT1Ip
DQorCQkJdG9wLT5tX2ZsYWdzIHw9IE1fRU9SOw0KKwl9IGVsc2Ugew0KKwkJ
ZXJyb3IgPSBzb3NlbmRfY29weWluKHVpbywgJnRvcCwgYXRvbWljLCAmc3Bh
Y2UsIGZsYWdzKTsNCisJCWlmIChlcnJvcikNCisJCQlnb3RvIG91dDsNCisJ
CXJlc2lkID0gdWlvLT51aW9fcmVzaWQ7DQorCX0NCisJS0FTU0VSVChyZXNp
ZCA9PSAwLCAoInNvc2VuZF9kZ3JhbTogcmVzaWQgIT0gMCIpKTsNCisJLyoN
CisJICogWFhYUlc6IEZyb2JiaW5nIFNPX0RPTlRST1VURSBoZXJlIGlzIGV2
ZW4gd29yc2Ugd2l0aG91dCBzYmxvY2sNCisJICogdGhhbiB3aXRoLg0KKwkg
Ki8NCisJaWYgKGRvbnRyb3V0ZSkgew0KKwkJU09DS19MT0NLKHNvKTsNCisJ
CXNvLT5zb19vcHRpb25zIHw9IFNPX0RPTlRST1VURTsNCisJCVNPQ0tfVU5M
T0NLKHNvKTsNCisJfQ0KKwkvKg0KKwkgKiBYWFggYWxsIHRoZSBTQlNfQ0FO
VFNFTkRNT1JFIGNoZWNrcyBwcmV2aW91c2x5DQorCSAqIGRvbmUgY291bGQg
YmUgb3V0IG9mIGRhdGUuICBXZSBjb3VsZCBoYXZlIHJlY2lldmVkDQorCSAq
IGEgcmVzZXQgcGFja2V0IGluIGFuIGludGVycnVwdCBvciBtYXliZSB3ZSBz
bGVwdA0KKwkgKiB3aGlsZSBkb2luZyBwYWdlIGZhdWx0cyBpbiB1aW9tb3Zl
KCkgZXRjLiBXZSBjb3VsZA0KKwkgKiBwcm9iYWJseSByZWNoZWNrIGFnYWlu
IGluc2lkZSB0aGUgbG9ja2luZyBwcm90ZWN0aW9uDQorCSAqIGhlcmUsIGJ1
dCB0aGVyZSBhcmUgcHJvYmFibHkgb3RoZXIgcGxhY2VzIHRoYXQgdGhpcw0K
KwkgKiBhbHNvIGhhcHBlbnMuICBXZSBtdXN0IHJldGhpbmsgdGhpcy4NCisJ
ICovDQorCWVycm9yID0gKCpzby0+c29fcHJvdG8tPnByX3VzcnJlcXMtPnBy
dV9zZW5kKShzbywNCisJICAgIChmbGFncyAmIE1TR19PT0IpID8gUFJVU19P
T0IgOg0KKwkvKg0KKwkgKiBJZiB0aGUgdXNlciBzZXQgTVNHX0VPRiwgdGhl
IHByb3RvY29sDQorCSAqIHVuZGVyc3RhbmRzIHRoaXMgZmxhZyBhbmQgbm90
aGluZyBsZWZ0IHRvDQorCSAqIHNlbmQgdGhlbiB1c2UgUFJVX1NFTkRfRU9G
IGluc3RlYWQgb2YgUFJVX1NFTkQuDQorCSAqLw0KKwkgICAgKChmbGFncyAm
IE1TR19FT0YpICYmDQorCSAgICAgKHNvLT5zb19wcm90by0+cHJfZmxhZ3Mg
JiBQUl9JTVBMT1BDTCkgJiYNCisJICAgICAocmVzaWQgPD0gMCkpID8NCisJ
CVBSVVNfRU9GIDoNCisJCS8qIElmIHRoZXJlIGlzIG1vcmUgdG8gc2VuZCBz
ZXQgUFJVU19NT1JFVE9DT01FICovDQorCQkocmVzaWQgPiAwICYmIHNwYWNl
ID4gMCkgPyBQUlVTX01PUkVUT0NPTUUgOiAwLA0KKwkJdG9wLCBhZGRyLCBj
b250cm9sLCB0ZCk7DQorCWlmIChkb250cm91dGUpIHsNCisJCVNPQ0tfTE9D
Syhzbyk7DQorCQlzby0+c29fb3B0aW9ucyAmPSB+U09fRE9OVFJPVVRFOw0K
KwkJU09DS19VTkxPQ0soc28pOw0KKwl9DQorCWNsZW4gPSAwOw0KKwljb250
cm9sID0gTlVMTDsNCisJdG9wID0gTlVMTDsNCitvdXQ6DQorCWlmICh0b3Ag
IT0gTlVMTCkNCisJCW1fZnJlZW0odG9wKTsNCisJaWYgKGNvbnRyb2wgIT0g
TlVMTCkNCisJCW1fZnJlZW0oY29udHJvbCk7DQorCXJldHVybiAoZXJyb3Ip
Ow0KK30NCisNCiAvKg0KICAqIFNlbmQgb24gYSBzb2NrZXQuDQogICogSWYg
c2VuZCBtdXN0IGdvIGFsbCBhdCBvbmNlIGFuZCBtZXNzYWdlIGlzIGxhcmdl
ciB0aGFuDQpAQCAtNjAyLDIyICs4OTYsNyBAQA0KICAqIG11c3QgY2hlY2sg
Zm9yIHNob3J0IGNvdW50cyBpZiBFSU5UUi9FUkVTVEFSVCBhcmUgcmV0dXJu
ZWQuDQogICogRGF0YSBhbmQgY29udHJvbCBidWZmZXJzIGFyZSBmcmVlZCBv
biByZXR1cm4uDQogICovDQotDQotI2lmZGVmIFpFUk9fQ09QWV9TT0NLRVRT
DQotc3RydWN0IHNvX3plcm9jb3B5X3N0YXRzew0KLQlpbnQgc2l6ZV9vazsN
Ci0JaW50IGFsaWduX29rOw0KLQlpbnQgZm91bmRfaWZwOw0KLX07DQotc3Ry
dWN0IHNvX3plcm9jb3B5X3N0YXRzIHNvX3plcm9jcF9zdGF0cyA9IHswLDAs
MH07DQotI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4NCi0jaW5jbHVkZSA8bmV0
L3JvdXRlLmg+DQotI2luY2x1ZGUgPG5ldGluZXQvaW5fcGNiLmg+DQotI2lu
Y2x1ZGUgPHZtL3ZtLmg+DQotI2luY2x1ZGUgPHZtL3ZtX3BhZ2UuaD4NCi0j
aW5jbHVkZSA8dm0vdm1fb2JqZWN0Lmg+DQotI2VuZGlmIC8qWkVST19DT1BZ
X1NPQ0tFVFMqLw0KLQ0KKyNkZWZpbmUJc25kZXJyKGVycm5vKQl7IGVycm9y
ID0gKGVycm5vKTsgZ290byByZWxlYXNlOyB9DQogaW50DQogc29zZW5kKHNv
LCBhZGRyLCB1aW8sIHRvcCwgY29udHJvbCwgZmxhZ3MsIHRkKQ0KIAlzdHJ1
Y3Qgc29ja2V0ICpzbzsNCkBAIC02MjgsMTQgKzkwNyw5IEBADQogCWludCBm
bGFnczsNCiAJc3RydWN0IHRocmVhZCAqdGQ7DQogew0KLQlzdHJ1Y3QgbWJ1
ZiAqKm1wOw0KLQlzdHJ1Y3QgbWJ1ZiAqbTsNCi0JbG9uZyBzcGFjZSwgbGVu
ID0gMCwgcmVzaWQ7DQorCWxvbmcgc3BhY2UsIHJlc2lkOw0KIAlpbnQgY2xl
biA9IDAsIGVycm9yLCBkb250cm91dGU7DQogCWludCBhdG9taWMgPSBzb3Nl
bmRhbGxhdG9uY2Uoc28pIHx8IHRvcDsNCi0jaWZkZWYgWkVST19DT1BZX1NP
Q0tFVFMNCi0JaW50IGNvd19zZW5kOw0KLSNlbmRpZiAvKiBaRVJPX0NPUFlf
U09DS0VUUyAqLw0KIA0KIAlpZiAodWlvICE9IE5VTEwpDQogCQlyZXNpZCA9
IHVpby0+dWlvX3Jlc2lkOw0KQEAgLTY2Myw3ICs5MzcsNiBAQA0KIAkJdGQt
PnRkX3Byb2MtPnBfc3RhdHMtPnBfcnUucnVfbXNnc25kKys7DQogCWlmIChj
b250cm9sICE9IE5VTEwpDQogCQljbGVuID0gY29udHJvbC0+bV9sZW47DQot
I2RlZmluZQlzbmRlcnIoZXJybm8pCXsgZXJyb3IgPSAoZXJybm8pOyBnb3Rv
IHJlbGVhc2U7IH0NCiANCiAJU09DS0JVRl9MT0NLKCZzby0+c29fc25kKTsN
CiByZXN0YXJ0Og0KQEAgLTcxMywxNTMgKzk4Niw2MSBAQA0KIAkJCWdvdG8g
cmVzdGFydDsNCiAJCX0NCiAJCVNPQ0tCVUZfVU5MT0NLKCZzby0+c29fc25k
KTsNCi0JCW1wID0gJnRvcDsNCiAJCXNwYWNlIC09IGNsZW47DQogCQlkbyB7
DQotCQkgICAgaWYgKHVpbyA9PSBOVUxMKSB7DQotCQkJLyoNCi0JCQkgKiBE
YXRhIGlzIHByZXBhY2thZ2VkIGluICJ0b3AiLg0KLQkJCSAqLw0KLQkJCXJl
c2lkID0gMDsNCi0JCQlpZiAoZmxhZ3MgJiBNU0dfRU9SKQ0KLQkJCQl0b3At
Pm1fZmxhZ3MgfD0gTV9FT1I7DQotCQkgICAgfSBlbHNlIGRvIHsNCi0jaWZk
ZWYgWkVST19DT1BZX1NPQ0tFVFMNCi0JCQljb3dfc2VuZCA9IDA7DQotI2Vu
ZGlmIC8qIFpFUk9fQ09QWV9TT0NLRVRTICovDQotCQkJaWYgKHJlc2lkID49
IE1JTkNMU0laRSkgew0KLSNpZmRlZiBaRVJPX0NPUFlfU09DS0VUUw0KLQkJ
CQlpZiAodG9wID09IE5VTEwpIHsNCi0JCQkJCU1HRVRIRFIobSwgTV9UUllX
QUlULCBNVF9EQVRBKTsNCi0JCQkJCWlmIChtID09IE5VTEwpIHsNCi0JCQkJ
CQllcnJvciA9IEVOT0JVRlM7DQotCQkJCQkJU09DS0JVRl9MT0NLKCZzby0+
c29fc25kKTsNCi0JCQkJCQlnb3RvIHJlbGVhc2U7DQotCQkJCQl9DQotCQkJ
CQltLT5tX3BrdGhkci5sZW4gPSAwOw0KLQkJCQkJbS0+bV9wa3RoZHIucmN2
aWYgPSBOVUxMOyANCi0JCQkJfSBlbHNlIHsNCi0JCQkJCU1HRVQobSwgTV9U
UllXQUlULCBNVF9EQVRBKTsNCi0JCQkJCWlmIChtID09IE5VTEwpIHsNCi0J
CQkJCQllcnJvciA9IEVOT0JVRlM7DQotCQkJCQkJU09DS0JVRl9MT0NLKCZz
by0+c29fc25kKTsNCi0JCQkJCQlnb3RvIHJlbGVhc2U7DQotCQkJCQl9DQot
CQkJCX0NCi0JCQkJaWYgKHNvX3plcm9fY29weV9zZW5kICYmDQotCQkJCSAg
ICByZXNpZD49UEFHRV9TSVpFICYmDQotCQkJCSAgICBzcGFjZT49UEFHRV9T
SVpFICYmDQotCQkJCSAgICB1aW8tPnVpb19pb3YtPmlvdl9sZW4+PVBBR0Vf
U0laRSkgew0KLQkJCQkJc29femVyb2NwX3N0YXRzLnNpemVfb2srKzsNCi0J
CQkJCXNvX3plcm9jcF9zdGF0cy5hbGlnbl9vaysrOw0KLQkJCQkJY293X3Nl
bmQgPSBzb2Nvd19zZXR1cChtLCB1aW8pOw0KLQkJCQkJbGVuID0gY293X3Nl
bmQ7DQotCQkJCX0NCi0JCQkJaWYgKCFjb3dfc2VuZCkgew0KLQkJCQkJTUNM
R0VUKG0sIE1fVFJZV0FJVCk7DQotCQkJCQlpZiAoKG0tPm1fZmxhZ3MgJiBN
X0VYVCkgPT0gMCkgew0KLQkJCQkJCW1fZnJlZShtKTsNCi0JCQkJCQltID0g
TlVMTDsNCi0JCQkJCX0gZWxzZSB7DQotCQkJCQkJbGVuID0gbWluKG1pbihN
Q0xCWVRFUywgcmVzaWQpLCBzcGFjZSk7DQotCQkJCQl9DQotCQkJCX0NCi0j
ZWxzZSAvKiBaRVJPX0NPUFlfU09DS0VUUyAqLw0KLQkJCQlpZiAodG9wID09
IE5VTEwpIHsNCi0JCQkJCW0gPSBtX2dldGNsKE1fVFJZV0FJVCwgTVRfREFU
QSwgTV9QS1RIRFIpOw0KLQkJCQkJbS0+bV9wa3RoZHIubGVuID0gMDsNCi0J
CQkJCW0tPm1fcGt0aGRyLnJjdmlmID0gTlVMTDsNCi0JCQkJfSBlbHNlDQot
CQkJCQltID0gbV9nZXRjbChNX1RSWVdBSVQsIE1UX0RBVEEsIDApOw0KLQkJ
CQlsZW4gPSBtaW4obWluKE1DTEJZVEVTLCByZXNpZCksIHNwYWNlKTsNCi0j
ZW5kaWYgLyogWkVST19DT1BZX1NPQ0tFVFMgKi8NCisJCQlpZiAodWlvID09
IE5VTEwpIHsNCisJCQkJcmVzaWQgPSAwOw0KKwkJCQlpZiAoZmxhZ3MgJiBN
U0dfRU9SKQ0KKwkJCQkJdG9wLT5tX2ZsYWdzIHw9IE1fRU9SOw0KIAkJCX0g
ZWxzZSB7DQotCQkJCWlmICh0b3AgPT0gTlVMTCkgew0KLQkJCQkJbSA9IG1f
Z2V0aGRyKE1fVFJZV0FJVCwgTVRfREFUQSk7DQotCQkJCQltLT5tX3BrdGhk
ci5sZW4gPSAwOw0KLQkJCQkJbS0+bV9wa3RoZHIucmN2aWYgPSBOVUxMOw0K
LQ0KLQkJCQkJbGVuID0gbWluKG1pbihNSExFTiwgcmVzaWQpLCBzcGFjZSk7
DQotCQkJCQkvKg0KLQkJCQkJICogRm9yIGRhdGFncmFtIHByb3RvY29scywg
bGVhdmUgcm9vbQ0KLQkJCQkJICogZm9yIHByb3RvY29sIGhlYWRlcnMgaW4g
Zmlyc3QgbWJ1Zi4NCi0JCQkJCSAqLw0KLQkJCQkJaWYgKGF0b21pYyAmJiBt
ICYmIGxlbiA8IE1ITEVOKQ0KLQkJCQkJCU1IX0FMSUdOKG0sIGxlbik7DQot
CQkJCX0gZWxzZSB7DQotCQkJCQltID0gbV9nZXQoTV9UUllXQUlULCBNVF9E
QVRBKTsNCi0JCQkJCWxlbiA9IG1pbihtaW4oTUxFTiwgcmVzaWQpLCBzcGFj
ZSk7DQorCQkJCWVycm9yID0gc29zZW5kX2NvcHlpbih1aW8sICZ0b3AsIGF0
b21pYywNCisJCQkJICAgICZzcGFjZSwgZmxhZ3MpOw0KKwkJCQlpZiAoZXJy
b3IgIT0gMCkgew0KKwkJCQkJU09DS0JVRl9MT0NLKCZzby0+c29fc25kKTsN
CisJCQkJCWdvdG8gcmVsZWFzZTsNCiAJCQkJfQ0KKwkJCQlyZXNpZCA9IHVp
by0+dWlvX3Jlc2lkOw0KIAkJCX0NCi0JCQlpZiAobSA9PSBOVUxMKSB7DQot
CQkJCWVycm9yID0gRU5PQlVGUzsNCi0JCQkJU09DS0JVRl9MT0NLKCZzby0+
c29fc25kKTsNCi0JCQkJZ290byByZWxlYXNlOw0KLQkJCX0NCi0NCi0JCQlz
cGFjZSAtPSBsZW47DQotI2lmZGVmIFpFUk9fQ09QWV9TT0NLRVRTDQotCQkJ
aWYgKGNvd19zZW5kKQ0KLQkJCQllcnJvciA9IDA7DQotCQkJZWxzZQ0KLSNl
bmRpZiAvKiBaRVJPX0NPUFlfU09DS0VUUyAqLw0KLQkJCWVycm9yID0gdWlv
bW92ZShtdG9kKG0sIHZvaWQgKiksIChpbnQpbGVuLCB1aW8pOw0KLQkJCXJl
c2lkID0gdWlvLT51aW9fcmVzaWQ7DQotCQkJbS0+bV9sZW4gPSBsZW47DQot
CQkJKm1wID0gbTsNCi0JCQl0b3AtPm1fcGt0aGRyLmxlbiArPSBsZW47DQot
CQkJaWYgKGVycm9yKSB7DQotCQkJCVNPQ0tCVUZfTE9DSygmc28tPnNvX3Nu
ZCk7DQotCQkJCWdvdG8gcmVsZWFzZTsNCi0JCQl9DQotCQkJbXAgPSAmbS0+
bV9uZXh0Ow0KLQkJCWlmIChyZXNpZCA8PSAwKSB7DQotCQkJCWlmIChmbGFn
cyAmIE1TR19FT1IpDQotCQkJCQl0b3AtPm1fZmxhZ3MgfD0gTV9FT1I7DQot
CQkJCWJyZWFrOw0KKwkJCWlmIChkb250cm91dGUpIHsNCisJCQkJU09DS19M
T0NLKHNvKTsNCisJCQkJc28tPnNvX29wdGlvbnMgfD0gU09fRE9OVFJPVVRF
Ow0KKwkJCQlTT0NLX1VOTE9DSyhzbyk7DQogCQkJfQ0KLQkJICAgIH0gd2hp
bGUgKHNwYWNlID4gMCAmJiBhdG9taWMpOw0KLQkJICAgIGlmIChkb250cm91
dGUpIHsNCi0JCQkgICAgU09DS19MT0NLKHNvKTsNCi0JCQkgICAgc28tPnNv
X29wdGlvbnMgfD0gU09fRE9OVFJPVVRFOw0KLQkJCSAgICBTT0NLX1VOTE9D
Syhzbyk7DQotCQkgICAgfQ0KLQkJICAgIC8qDQotCQkgICAgICogWFhYIGFs
bCB0aGUgU0JTX0NBTlRTRU5ETU9SRSBjaGVja3MgcHJldmlvdXNseQ0KLQkJ
ICAgICAqIGRvbmUgY291bGQgYmUgb3V0IG9mIGRhdGUuICBXZSBjb3VsZCBo
YXZlIHJlY2lldmVkDQotCQkgICAgICogYSByZXNldCBwYWNrZXQgaW4gYW4g
aW50ZXJydXB0IG9yIG1heWJlIHdlIHNsZXB0DQotCQkgICAgICogd2hpbGUg
ZG9pbmcgcGFnZSBmYXVsdHMgaW4gdWlvbW92ZSgpIGV0Yy4gV2UgY291bGQN
Ci0JCSAgICAgKiBwcm9iYWJseSByZWNoZWNrIGFnYWluIGluc2lkZSB0aGUg
bG9ja2luZyBwcm90ZWN0aW9uDQotCQkgICAgICogaGVyZSwgYnV0IHRoZXJl
IGFyZSBwcm9iYWJseSBvdGhlciBwbGFjZXMgdGhhdCB0aGlzDQotCQkgICAg
ICogYWxzbyBoYXBwZW5zLiAgV2UgbXVzdCByZXRoaW5rIHRoaXMuDQotCQkg
ICAgICovDQotCQkgICAgZXJyb3IgPSAoKnNvLT5zb19wcm90by0+cHJfdXNy
cmVxcy0+cHJ1X3NlbmQpKHNvLA0KLQkJCShmbGFncyAmIE1TR19PT0IpID8g
UFJVU19PT0IgOg0KKwkJCS8qDQorCQkJICogWFhYIGFsbCB0aGUgU0JTX0NB
TlRTRU5ETU9SRSBjaGVja3MgcHJldmlvdXNseQ0KKwkJCSAqIGRvbmUgY291
bGQgYmUgb3V0IG9mIGRhdGUuICBXZSBjb3VsZCBoYXZlIHJlY2lldmVkDQor
CQkJICogYSByZXNldCBwYWNrZXQgaW4gYW4gaW50ZXJydXB0IG9yIG1heWJl
IHdlIHNsZXB0DQorCQkJICogd2hpbGUgZG9pbmcgcGFnZSBmYXVsdHMgaW4g
dWlvbW92ZSgpIGV0Yy4gV2UgY291bGQNCisJCQkgKiBwcm9iYWJseSByZWNo
ZWNrIGFnYWluIGluc2lkZSB0aGUgbG9ja2luZyBwcm90ZWN0aW9uDQorCQkJ
ICogaGVyZSwgYnV0IHRoZXJlIGFyZSBwcm9iYWJseSBvdGhlciBwbGFjZXMg
dGhhdCB0aGlzDQorCQkJICogYWxzbyBoYXBwZW5zLiAgV2UgbXVzdCByZXRo
aW5rIHRoaXMuDQorCQkJICovDQorCQkJZXJyb3IgPSAoKnNvLT5zb19wcm90
by0+cHJfdXNycmVxcy0+cHJ1X3NlbmQpKHNvLA0KKwkJCSAgICAoZmxhZ3Mg
JiBNU0dfT09CKSA/IFBSVVNfT09CIDoNCiAJCQkvKg0KIAkJCSAqIElmIHRo
ZSB1c2VyIHNldCBNU0dfRU9GLCB0aGUgcHJvdG9jb2wNCiAJCQkgKiB1bmRl
cnN0YW5kcyB0aGlzIGZsYWcgYW5kIG5vdGhpbmcgbGVmdCB0bw0KIAkJCSAq
IHNlbmQgdGhlbiB1c2UgUFJVX1NFTkRfRU9GIGluc3RlYWQgb2YgUFJVX1NF
TkQuDQogCQkJICovDQotCQkJKChmbGFncyAmIE1TR19FT0YpICYmDQotCQkJ
IChzby0+c29fcHJvdG8tPnByX2ZsYWdzICYgUFJfSU1QTE9QQ0wpICYmDQot
CQkJIChyZXNpZCA8PSAwKSkgPw0KKwkJCSAgICAoKGZsYWdzICYgTVNHX0VP
RikgJiYNCisJCQkgICAgIChzby0+c29fcHJvdG8tPnByX2ZsYWdzICYgUFJf
SU1QTE9QQ0wpICYmDQorCQkJICAgICAocmVzaWQgPD0gMCkpID8NCiAJCQkJ
UFJVU19FT0YgOg0KIAkJCS8qIElmIHRoZXJlIGlzIG1vcmUgdG8gc2VuZCBz
ZXQgUFJVU19NT1JFVE9DT01FICovDQotCQkJKHJlc2lkID4gMCAmJiBzcGFj
ZSA+IDApID8gUFJVU19NT1JFVE9DT01FIDogMCwNCi0JCQl0b3AsIGFkZHIs
IGNvbnRyb2wsIHRkKTsNCi0JCSAgICBpZiAoZG9udHJvdXRlKSB7DQotCQkJ
ICAgIFNPQ0tfTE9DSyhzbyk7DQotCQkJICAgIHNvLT5zb19vcHRpb25zICY9
IH5TT19ET05UUk9VVEU7DQotCQkJICAgIFNPQ0tfVU5MT0NLKHNvKTsNCi0J
CSAgICB9DQotCQkgICAgY2xlbiA9IDA7DQotCQkgICAgY29udHJvbCA9IE5V
TEw7DQotCQkgICAgdG9wID0gTlVMTDsNCi0JCSAgICBtcCA9ICZ0b3A7DQot
CQkgICAgaWYgKGVycm9yKSB7DQotCQkJU09DS0JVRl9MT0NLKCZzby0+c29f
c25kKTsNCi0JCQlnb3RvIHJlbGVhc2U7DQotCQkgICAgfQ0KKwkJCSAgICAo
cmVzaWQgPiAwICYmIHNwYWNlID4gMCkgPyBQUlVTX01PUkVUT0NPTUUgOiAw
LA0KKwkJCSAgICB0b3AsIGFkZHIsIGNvbnRyb2wsIHRkKTsNCisJCQlpZiAo
ZG9udHJvdXRlKSB7DQorCQkJCVNPQ0tfTE9DSyhzbyk7DQorCQkJCXNvLT5z
b19vcHRpb25zICY9IH5TT19ET05UUk9VVEU7DQorCQkJCVNPQ0tfVU5MT0NL
KHNvKTsNCisJCQl9DQorCQkJY2xlbiA9IDA7DQorCQkJY29udHJvbCA9IE5V
TEw7DQorCQkJdG9wID0gTlVMTDsNCisJCQlpZiAoZXJyb3IpIHsNCisJCQkJ
U09DS0JVRl9MT0NLKCZzby0+c29fc25kKTsNCisJCQkJZ290byByZWxlYXNl
Ow0KKwkJCX0NCiAJCX0gd2hpbGUgKHJlc2lkICYmIHNwYWNlID4gMCk7DQog
CQlTT0NLQlVGX0xPQ0soJnNvLT5zb19zbmQpOw0KIAl9IHdoaWxlIChyZXNp
ZCk7DQpAQCAtODc3LDYgKzEwNTgsNyBAQA0KIAkJbV9mcmVlbShjb250cm9s
KTsNCiAJcmV0dXJuIChlcnJvcik7DQogfQ0KKyN1bmRlZiBzbmRlcnINCiAN
CiAvKg0KICAqIFRoZSBwYXJ0IG9mIHNvcmVjZWl2ZSgpIHRoYXQgaW1wbGVt
ZW50cyByZWFkaW5nIG5vbi1pbmxpbmUgb3V0LW9mLWJhbmQNCkluZGV4OiBu
ZXRpbmV0L3VkcF91c3JyZXEuYw0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0K
UkNTIGZpbGU6IC9kYXRhL2Zic2QtY3ZzL25jdnMvc3JjL3N5cy9uZXRpbmV0
L3VkcF91c3JyZXEuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMTc1LjIu
OQ0KZGlmZiAtdSAtcjEuMTc1LjIuOSB1ZHBfdXNycmVxLmMNCi0tLSBuZXRp
bmV0L3VkcF91c3JyZXEuYwkyOSBEZWMgMjAwNiAxOToyNTo0OSAtMDAwMAkx
LjE3NS4yLjkNCisrKyBuZXRpbmV0L3VkcF91c3JyZXEuYwkxMSBNYXIgMjAw
NyAwMzoxMjoyMiAtMDAwMA0KQEAgLTExNTAsNiArMTE1MCw3IEBADQogCS5w
cnVfZGlzY29ubmVjdCA9CXVkcF9kaXNjb25uZWN0LA0KIAkucHJ1X3BlZXJh
ZGRyID0JCXVkcF9wZWVyYWRkciwNCiAJLnBydV9zZW5kID0JCXVkcF9zZW5k
LA0KKwkucHJ1X3Nvc2VuZCA9CQlzb3NlbmRfZGdyYW0sDQogCS5wcnVfc2h1
dGRvd24gPQkJdWRwX3NodXRkb3duLA0KIAkucHJ1X3NvY2thZGRyID0JCXVk
cF9zb2NrYWRkciwNCiAJLnBydV9zb3NldGxhYmVsID0JaW5fcGNic29zZXRs
YWJlbA0KSW5kZXg6IHN5cy9zb2NrZXR2YXIuaA0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KUkNTIGZpbGU6IC9kYXRhL2Zic2QtY3ZzL25jdnMvc3JjL3N5
cy9zeXMvc29ja2V0dmFyLmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjE0
MS4yLjENCmRpZmYgLXUgLXIxLjE0MS4yLjEgc29ja2V0dmFyLmgNCi0tLSBz
eXMvc29ja2V0dmFyLmgJMjggSnVuIDIwMDYgMTQ6MzM6NDcgLTAwMDAJMS4x
NDEuMi4xDQorKysgc3lzL3NvY2tldHZhci5oCTExIE1hciAyMDA3IDAzOjEz
OjI1IC0wMDAwDQpAQCAtNTMzLDYgKzUzMyw5IEBADQogaW50CXNvc2VuZChz
dHJ1Y3Qgc29ja2V0ICpzbywgc3RydWN0IHNvY2thZGRyICphZGRyLCBzdHJ1
Y3QgdWlvICp1aW8sDQogCSAgICBzdHJ1Y3QgbWJ1ZiAqdG9wLCBzdHJ1Y3Qg
bWJ1ZiAqY29udHJvbCwgaW50IGZsYWdzLA0KIAkgICAgc3RydWN0IHRocmVh
ZCAqdGQpOw0KK2ludAlzb3NlbmRfZGdyYW0oc3RydWN0IHNvY2tldCAqc28s
IHN0cnVjdCBzb2NrYWRkciAqYWRkciwNCisJICAgIHN0cnVjdCB1aW8gKnVp
bywgc3RydWN0IG1idWYgKnRvcCwgc3RydWN0IG1idWYgKmNvbnRyb2wsDQor
CSAgICBpbnQgZmxhZ3MsIHN0cnVjdCB0aHJlYWQgKnRkKTsNCiBpbnQJc29z
ZXRvcHQoc3RydWN0IHNvY2tldCAqc28sIHN0cnVjdCBzb2Nrb3B0ICpzb3B0
KTsNCiBpbnQJc29zaHV0ZG93bihzdHJ1Y3Qgc29ja2V0ICpzbywgaW50IGhv
dyk7DQogdm9pZAlzb3RveHNvY2tldChzdHJ1Y3Qgc29ja2V0ICpzbywgc3Ry
dWN0IHhzb2NrZXQgKnhzbyk7DQo=

--0-681862891-1173583061=:79670--



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