Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 21 Apr 2002 01:48:42 -0700 (PDT)
From:      Kelly Yancey <kbyanc@posi.net>
To:        arch@FreeBSD.ORG
Subject:   Overflowing sockaddr_dl's sdl_data buffer

| raw e-mail | index | archive | help

  While working on a product at work, I discovered that it is trivial to
overflow the sdl_data buffer in sockaddr_dl structures.  In our case,  I
enountered the bug by creating a vlan100 interface.  The sdl_data buffer is
populated with both the interface name and the parent interface's hardware
address; in his case 7 characters for the interface name and 6 more for the
parent's MAC address for a total of 13 characters (sdl_data is only defined
for 12 characters).  As a result, the sdl_rcf field is garbage (actually, the
last octet of the MAC address).  While, I worked around the problem in our
product, I would prefer to see the bug fixed in FreeBSD proper.
  So, I would like to solicit discussion of the proper fix for this bug.
Should sdl_data's length be extended (say 16 characters)?  This would surely
break binary compatibility and only postpones the issue (imagine an interface
with a longer name).  Should bound's checking be added to eliminate the
(supposedly optional) interface name from the sdl_data buffer if there is not
room?  If so, how does one ensure all drivers (including 3rd party)
perform the bounds-checking?  Surely there are other options too.  In any
event, the comment in sys/net/if_dl.h for the sdl_data field needs updating
because since the source routing information was added following the sdl_data
field it is impossible for the sdl_data field to be larger than that defined
by the structure definition.

  Thanks,

  Kelly
  kbyanc@{posi.net,FreeBSD.org}

--0-819770887-1020217113=:11009
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="sdl_data-overflow4.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <20020430183833.I11009@gateway.posi.net>
Content-Description: 
Content-Disposition: attachment; filename="sdl_data-overflow4.diff"

SW5kZXg6IG5ldC9pZl9kbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS
Q1MgZmlsZTogL2hvbWUvY3ZzL2Fjcy9iYXNlL3NyYy9zeXMvbmV0L2lmX2Rs
Lmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjEuMS4xDQpkaWZmIC11IC1y
MS4xLjEuMSBpZl9kbC5oDQotLS0gbmV0L2lmX2RsLmgJMjIgTWFyIDIwMDIg
MDQ6MTE6MDAgLTAwMDAJMS4xLjEuMQ0KKysrIG5ldC9pZl9kbC5oCTMwIEFw
ciAyMDAyIDIwOjE0OjA5IC0wMDAwDQpAQCAtNjYsMTAgKzY2LDggQEANCiAJ
dV9jaGFyCXNkbF9ubGVuOwkvKiBpbnRlcmZhY2UgbmFtZSBsZW5ndGgsIG5v
IHRyYWlsaW5nIDAgcmVxZC4gKi8NCiAJdV9jaGFyCXNkbF9hbGVuOwkvKiBs
aW5rIGxldmVsIGFkZHJlc3MgbGVuZ3RoICovDQogCXVfY2hhcglzZGxfc2xl
bjsJLyogbGluayBsYXllciBzZWxlY3RvciBsZW5ndGggKi8NCi0JY2hhcglz
ZGxfZGF0YVsxMl07CS8qIG1pbmltdW0gd29yayBhcmVhLCBjYW4gYmUgbGFy
Z2VyOw0KKwljaGFyCXNkbF9kYXRhWzQ2XTsJLyogbWluaW11bSB3b3JrIGFy
ZWEsIGNhbiBiZSBsYXJnZXI7DQogCQkJCSAgIGNvbnRhaW5zIGJvdGggaWYg
bmFtZSBhbmQgbGwgYWRkcmVzcyAqLw0KLQl1X3Nob3J0CXNkbF9yY2Y7CS8q
IHNvdXJjZSByb3V0aW5nIGNvbnRyb2wgKi8NCi0JdV9zaG9ydAlzZGxfcm91
dGVbMTZdOwkvKiBzb3VyY2Ugcm91dGluZyBpbmZvcm1hdGlvbiAqLw0KIH07
DQogDQogI2RlZmluZSBMTEFERFIocykgKChjYWRkcl90KSgocyktPnNkbF9k
YXRhICsgKHMpLT5zZGxfbmxlbikpDQpJbmRleDogbmV0L2lmX2lzbzg4MDI1
c3Vici5jDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hv
bWUvY3ZzL2Fjcy9iYXNlL3NyYy9zeXMvbmV0L2lmX2lzbzg4MDI1c3Vici5j
LHYNCnJldHJpZXZpbmcgcmV2aXNpb24gMS4xLjEuMQ0KZGlmZiAtdSAtcjEu
MS4xLjEgaWZfaXNvODgwMjVzdWJyLmMNCi0tLSBuZXQvaWZfaXNvODgwMjVz
dWJyLmMJMjIgTWFyIDIwMDIgMDQ6MTE6MDAgLTAwMDAJMS4xLjEuMQ0KKysr
IG5ldC9pZl9pc284ODAyNXN1YnIuYwkzMCBBcHIgMjAwMiAyMToyNzoxMiAt
MDAwMA0KQEAgLTIwMiw4ICsyMDIsOCBAQA0KIA0KIAkvKiBDYWxjdWxhdGUg
cm91dGluZyBpbmZvIGxlbmd0aCBiYXNlZCBvbiBhcnAgdGFibGUgZW50cnkg
Ki8NCiAJaWYgKHJ0ICYmIChzZGwgPSAoc3RydWN0IHNvY2thZGRyX2RsICop
cnQtPnJ0X2dhdGV3YXkpKQ0KLQkJaWYgKHNkbC0+c2RsX3JjZiAhPSBOVUxM
KQ0KLQkJCXJpZl9sZW4gPSBUUl9SQ0ZfUklGTEVOKHNkbC0+c2RsX3JjZik7
DQorCQlpZiAoU0RMX0lTTzg4MDI1KHNkbCktPnRybGRfcmNmICE9IE5VTEwp
DQorCQkJcmlmX2xlbiA9IFRSX1JDRl9SSUZMRU4oU0RMX0lTTzg4MDI1KHNk
bCktPnRybGRfcmNmKTsNCiANCiAJLyogR2VuZXJhdGUgYSBnZW5lcmljIDgw
Mi41IGhlYWRlciBmb3IgdGhlIHBhY2tldCAqLw0KIAlnZW5fdGguYWMgPSBU
Ul9BQzsNCkBAIC0yMTIsOCArMjEyLDkgQEANCiAJaWYgKHJpZl9sZW4pIHsN
CiAJCWdlbl90aC5pc284ODAyNV9zaG9zdFswXSB8PSBUUl9SSUk7DQogCQlp
ZiAocmlmX2xlbiA+IDIpIHsNCi0JCQlnZW5fdGgucmNmID0gc2RsLT5zZGxf
cmNmOw0KLQkJCW1lbWNweShnZW5fdGgucmQsIHNkbC0+c2RsX3JvdXRlLCBy
aWZfbGVuIC0gMik7DQorCQkJZ2VuX3RoLnJjZiA9IFNETF9JU084ODAyNShz
ZGwpLT50cmxkX3JjZjsNCisJCQltZW1jcHkoZ2VuX3RoLnJkLCBTRExfSVNP
ODgwMjUoc2RsKS0+dHJsZF9yb3V0ZSwNCisJCQkgICAgICAgcmlmX2xlbiAt
IDIpOw0KIAkJfQ0KIAl9DQogCQ0KSW5kZXg6IG5ldC9pc284ODAyNS5oDQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvY3ZzL2Fj
cy9iYXNlL3NyYy9zeXMvbmV0L2lzbzg4MDI1Lmgsdg0KcmV0cmlldmluZyBy
ZXZpc2lvbiAxLjEuMS4xDQpkaWZmIC11IC1yMS4xLjEuMSBpc284ODAyNS5o
DQotLS0gbmV0L2lzbzg4MDI1LmgJMjIgTWFyIDIwMDIgMDQ6MTE6MDAgLTAw
MDAJMS4xLjEuMQ0KKysrIG5ldC9pc284ODAyNS5oCTMwIEFwciAyMDAyIDIx
OjI3OjA1IC0wMDAwDQpAQCAtMTAyLDYgKzEwMiwxNSBAQA0KIAl1X2NoYXIg
ZmM7DQogfTsNCiANCitzdHJ1Y3QgaXNvODgwMjVfc29ja2FkZHJfZGxfZGF0
YSB7DQorCXVfc2hvcnQJIHRybGRfcmNmOw0KKwl1X3Nob3J0CSp0cmxkX3Jv
dXRlW1JJRl9NQVhfTEVOXTsNCit9Ow0KKw0KKyNkZWZpbmUgU0RMX0lTTzg4
MDI1KHMpCQkoKHN0cnVjdCBpc284ODAyNV9zb2NrYWRkcl9kbF9kYXRhICop
CVwNCisJCQkJICgocyktPnNkbF9kYXRhICsgbWluKChzKS0+c2RsX25sZW4g
KwlcDQorCQkJCSAgKHMpLT5zZGxfYWxlbiArIChzKS0+c2RsX3NsZW4sIDEy
KSkpDQorDQogLyoNCiAgKiBTdHJ1Y3R1cmUgb2YgYSA0OC1iaXQgaXNvIDgw
Mi41IGFkZHJlc3MuDQogICogICggV2UgY291bGQgYWxzbyBhZGQgdGhlIDE2
IGJpdCBhZGRyZXNzZXMgYXMgYSB1bmlvbikNCkluZGV4OiBuZXRpbmV0L2lm
X2V0aGVyLmMNCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NClJDUyBmaWxlOiAv
aG9tZS9jdnMvYWNzL2Jhc2Uvc3JjL3N5cy9uZXRpbmV0L2lmX2V0aGVyLmMs
dg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUgLXIxLjUgaWZf
ZXRoZXIuYw0KLS0tIG5ldGluZXQvaWZfZXRoZXIuYwkyOSBNYXIgMjAwMiAy
MDozMzo1NyAtMDAwMAkxLjUNCisrKyBuZXRpbmV0L2lmX2V0aGVyLmMJMzAg
QXByIDIwMDIgMjE6Mjc6MjMgLTAwMDANCkBAIC01MjksNiArNTI5LDcgQEAN
CiAJcmVnaXN0ZXIgc3RydWN0IGFycGNvbSAqYWMgPSAoc3RydWN0IGFycGNv
bSAqKW0tPm1fcGt0aGRyLnJjdmlmOw0KIAlzdHJ1Y3QgZXRoZXJfaGVhZGVy
ICplaDsNCiAJc3RydWN0IGlzbzg4MDI1X2hlYWRlciAqdGggPSAoc3RydWN0
IGlzbzg4MDI1X2hlYWRlciAqKTA7DQorCXN0cnVjdCBpc284ODAyNV9zb2Nr
YWRkcl9kbF9kYXRhICp0cmxkOw0KIAlyZWdpc3RlciBzdHJ1Y3QgbGxpbmZv
X2FycCAqbGEgPSAwOw0KIAlyZWdpc3RlciBzdHJ1Y3QgcnRlbnRyeSAqcnQ7
DQogCXN0cnVjdCBpZmFkZHIgKmlmYTsNCkBAIC02NDcsNyArNjQ4LDYgQEAN
CiB1cGRhdGU6DQogCQkodm9pZCltZW1jcHkoTExBRERSKHNkbCksIGVhLT5h
cnBfc2hhLCBzaXplb2YoZWEtPmFycF9zaGEpKTsNCiAJCXNkbC0+c2RsX2Fs
ZW4gPSBzaXplb2YoZWEtPmFycF9zaGEpOw0KLSAgICAgICAgICAgICAgICBz
ZGwtPnNkbF9yY2YgPSAodV9zaG9ydCkwOw0KIAkJLyoNCiAJCSAqIElmIHdl
IHJlY2VpdmUgYW4gYXJwIGZyb20gYSB0b2tlbi1yaW5nIHN0YXRpb24gb3Zl
cg0KIAkJICogYSB0b2tlbi1yaW5nIG5pYyB0aGVuIHRyeSB0byBzYXZlIHRo
ZSBzb3VyY2UNCkBAIC02NTUsMTMgKzY1NSwxNCBAQA0KIAkJICovDQogCQlp
ZiAoYWMtPmFjX2lmLmlmX3R5cGUgPT0gSUZUX0lTTzg4MDI1KSB7DQogCQkJ
dGggPSAoc3RydWN0IGlzbzg4MDI1X2hlYWRlciAqKW0tPm1fcGt0aGRyLmhl
YWRlcjsNCisJCQl0cmxkID0gU0RMX0lTTzg4MDI1KHNkbCk7DQogCQkJcmlm
X2xlbiA9IFRSX1JDRl9SSUZMRU4odGgtPnJjZik7DQogCQkJaWYgKCh0aC0+
aXNvODgwMjVfc2hvc3RbMF0gJiBUUl9SSUkpICYmDQogCQkJICAgIChyaWZf
bGVuID4gMikpIHsNCi0JCQkJc2RsLT5zZGxfcmNmID0gdGgtPnJjZjsNCi0J
CQkJc2RsLT5zZGxfcmNmIF49IGh0b25zKFRSX1JDRl9ESVIpOw0KLQkJCQlt
ZW1jcHkoc2RsLT5zZGxfcm91dGUsIHRoLT5yZCwgcmlmX2xlbiAtIDIpOw0K
LQkJCQlzZGwtPnNkbF9yY2YgJj0gfmh0b25zKFRSX1JDRl9CQ1NUX01BU0sp
Ow0KKwkJCQl0cmxkLT50cmxkX3JjZiA9IHRoLT5yY2Y7DQorCQkJCXRybGQt
PnRybGRfcmNmIF49IGh0b25zKFRSX1JDRl9ESVIpOw0KKwkJCQltZW1jcHko
dHJsZC0+dHJsZF9yb3V0ZSwgdGgtPnJkLCByaWZfbGVuIC0gMik7DQorCQkJ
CXRybGQtPnRybGRfcmNmICY9IH5odG9ucyhUUl9SQ0ZfQkNTVF9NQVNLKTsN
CiAJCQkJLyoNCiAJCQkJICogU2V0IHVwIHNvdXJjZSByb3V0aW5nIGluZm9y
bWF0aW9uIGZvcg0KIAkJCQkgKiByZXBseSBwYWNrZXQgKFhYWCkNCkBAIC02
NzUsOSArNjc2LDcgQEANCiAJCQltLT5tX2RhdGEgLT0gODsNCiAJCQltLT5t
X2xlbiAgKz0gODsNCiAJCQltLT5tX3BrdGhkci5sZW4gKz0gODsNCi0JCQl0
aC0+cmNmID0gc2RsLT5zZGxfcmNmOw0KLQkJfSBlbHNlIHsNCi0JCQlzZGwt
PnNkbF9yY2YgPSAodV9zaG9ydCkwOw0KKwkJCXRoLT5yY2YgPSB0cmxkLT50
cmxkX3JjZjsNCiAJCX0NCiAJCWlmIChydC0+cnRfZXhwaXJlKQ0KIAkJCXJ0
LT5ydF9leHBpcmUgPSB0aW1lX3NlY29uZCArIGFycHRfa2VlcDsNCg==
--0-819770887-1020217113=:11009
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="sdl_data-overflow.diff"
Content-Transfer-Encoding: BASE64
Content-ID: <20020430183833.U11009@gateway.posi.net>
Content-Description: 
Content-Disposition: attachment; filename="sdl_data-overflow.diff"

SW5kZXg6IG5ldC9pZl9kbC5oDQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpS
Q1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lzL25ldC9pZl9kbC5oLHYNCnJl
dHJpZXZpbmcgcmV2aXNpb24gMS4xMQ0KZGlmZiAtdSAtdSAtcjEuMTEgaWZf
ZGwuaA0KLS0tIG5ldC9pZl9kbC5oCTE5IE1hciAyMDAyIDIxOjU0OjE2IC0w
MDAwCTEuMTENCisrKyBuZXQvaWZfZGwuaAkxIE1heSAyMDAyIDAxOjExOjQy
IC0wMDAwDQpAQCAtNjYsMTAgKzY2LDggQEANCiAJdV9jaGFyCXNkbF9ubGVu
OwkvKiBpbnRlcmZhY2UgbmFtZSBsZW5ndGgsIG5vIHRyYWlsaW5nIDAgcmVx
ZC4gKi8NCiAJdV9jaGFyCXNkbF9hbGVuOwkvKiBsaW5rIGxldmVsIGFkZHJl
c3MgbGVuZ3RoICovDQogCXVfY2hhcglzZGxfc2xlbjsJLyogbGluayBsYXll
ciBzZWxlY3RvciBsZW5ndGggKi8NCi0JY2hhcglzZGxfZGF0YVsxMl07CS8q
IG1pbmltdW0gd29yayBhcmVhLCBjYW4gYmUgbGFyZ2VyOw0KKwljaGFyCXNk
bF9kYXRhWzQ2XTsJLyogbWluaW11bSB3b3JrIGFyZWEsIGNhbiBiZSBsYXJn
ZXI7DQogCQkJCSAgIGNvbnRhaW5zIGJvdGggaWYgbmFtZSBhbmQgbGwgYWRk
cmVzcyAqLw0KLQl1X3Nob3J0CXNkbF9yY2Y7CS8qIHNvdXJjZSByb3V0aW5n
IGNvbnRyb2wgKi8NCi0JdV9zaG9ydAlzZGxfcm91dGVbMTZdOwkvKiBzb3Vy
Y2Ugcm91dGluZyBpbmZvcm1hdGlvbiAqLw0KIH07DQogDQogI2RlZmluZSBM
TEFERFIocykgKChjYWRkcl90KSgocyktPnNkbF9kYXRhICsgKHMpLT5zZGxf
bmxlbikpDQpJbmRleDogbmV0L2lmX2lzbzg4MDI1c3Vici5jDQo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQpSQ1MgZmlsZTogL2hvbWUvbmN2cy9zcmMvc3lz
L25ldC9pZl9pc284ODAyNXN1YnIuYyx2DQpyZXRyaWV2aW5nIHJldmlzaW9u
IDEuMjANCmRpZmYgLXUgLXUgLXIxLjIwIGlmX2lzbzg4MDI1c3Vici5jDQot
LS0gbmV0L2lmX2lzbzg4MDI1c3Vici5jCTE0IERlYyAyMDAxIDE5OjI4OjQz
IC0wMDAwCTEuMjANCisrKyBuZXQvaWZfaXNvODgwMjVzdWJyLmMJMSBNYXkg
MjAwMiAwMToxMTo0MiAtMDAwMA0KQEAgLTI1Myw4ICsyNTMsOCBAQA0KIA0K
IAkvKiBDYWxjdWxhdGUgcm91dGluZyBpbmZvIGxlbmd0aCBiYXNlZCBvbiBh
cnAgdGFibGUgZW50cnkgKi8NCiAJaWYgKHJ0ICYmIChzZGwgPSAoc3RydWN0
IHNvY2thZGRyX2RsICopcnQtPnJ0X2dhdGV3YXkpKQ0KLQkJaWYgKHNkbC0+
c2RsX3JjZiAhPSBOVUxMKQ0KLQkJCXJpZl9sZW4gPSBUUl9SQ0ZfUklGTEVO
KHNkbC0+c2RsX3JjZik7DQorCQlpZiAoU0RMX0lTTzg4MDI1KHNkbCktPnRy
bGRfcmNmICE9IE5VTEwpDQorCQkJcmlmX2xlbiA9IFRSX1JDRl9SSUZMRU4o
U0RMX0lTTzg4MDI1KHNkbCktPnRybGRfcmNmKTsNCiANCiAJLyogR2VuZXJh
dGUgYSBnZW5lcmljIDgwMi41IGhlYWRlciBmb3IgdGhlIHBhY2tldCAqLw0K
IAlnZW5fdGguYWMgPSBUUl9BQzsNCkBAIC0yNjQsOSArMjY0LDEwIEBADQog
CWlmIChyaWZfbGVuKSB7DQogCQlnZW5fdGguaXNvODgwMjVfc2hvc3RbMF0g
fD0gVFJfUklJOw0KIAkJaWYgKHJpZl9sZW4gPiAyKSB7DQotCQkJZ2VuX3Ro
LnJjZiA9IHNkbC0+c2RsX3JjZjsNCisJCQlnZW5fdGgucmNmID0gU0RMX0lT
Tzg4MDI1KHNkbCktPnRybGRfcmNmOw0KIAkJCSh2b2lkKW1lbWNweSgoY2Fk
ZHJfdClnZW5fdGgucmQsDQotCQkJCShjYWRkcl90KXNkbC0+c2RsX3JvdXRl
LCByaWZfbGVuIC0gMik7DQorCQkJCShjYWRkcl90KVNETF9JU084ODAyNShz
ZGwpLT50cmxkX3JvdXRlLA0KKwkJCQlyaWZfbGVuIC0gMik7DQogCQl9DQog
CX0NCiAJDQpJbmRleDogbmV0L2lzbzg4MDI1LmgNCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NClJDUyBmaWxlOiAvaG9tZS9uY3ZzL3NyYy9zeXMvbmV0L2lz
bzg4MDI1Lmgsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjUNCmRpZmYgLXUg
LXUgLXIxLjUgaXNvODgwMjUuaA0KLS0tIG5ldC9pc284ODAyNS5oCTE4IE1h
ciAyMDAxIDA1OjQxOjA3IC0wMDAwCTEuNQ0KKysrIG5ldC9pc284ODAyNS5o
CTEgTWF5IDIwMDIgMDE6MTE6NDIgLTAwMDANCkBAIC0xMDksNiArMTA5LDE1
IEBADQogCXVfY2hhciBmYzsNCiB9Ow0KIA0KK3N0cnVjdCBpc284ODAyNV9z
b2NrYWRkcl9kbF9kYXRhIHsNCisJdV9zaG9ydAkgdHJsZF9yY2Y7DQorCXVf
c2hvcnQJKnRybGRfcm91dGVbUklGX01BWF9MRU5dOw0KK307DQorDQorI2Rl
ZmluZSBTRExfSVNPODgwMjUocykJCSgoc3RydWN0IGlzbzg4MDI1X3NvY2th
ZGRyX2RsX2RhdGEgKikJXA0KKwkJCQkgKChzKS0+c2RsX2RhdGEgKyBtaW4o
KHMpLT5zZGxfbmxlbiArCVwNCisJCQkJICAocyktPnNkbF9hbGVuICsgKHMp
LT5zZGxfc2xlbiwgMTIpKSkNCisNCiAvKg0KICAqIFN0cnVjdHVyZSBvZiBh
IDQ4LWJpdCBpc28gODAyLjUgYWRkcmVzcy4NCiAgKiAgKCBXZSBjb3VsZCBh
bHNvIGFkZCB0aGUgMTYgYml0IGFkZHJlc3NlcyBhcyBhIHVuaW9uKQ0KSW5k
ZXg6IG5ldGluZXQvaWZfZXRoZXIuYw0KPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQ0KUkNTIGZpbGU6IC9ob21lL25jdnMvc3JjL3N5cy9uZXRpbmV0L2lmX2V0
aGVyLmMsdg0KcmV0cmlldmluZyByZXZpc2lvbiAxLjkxDQpkaWZmIC11IC11
IC1yMS45MSBpZl9ldGhlci5jDQotLS0gbmV0aW5ldC9pZl9ldGhlci5jCTIw
IE1hciAyMDAyIDE1OjU2OjM2IC0wMDAwCTEuOTENCisrKyBuZXRpbmV0L2lm
X2V0aGVyLmMJMSBNYXkgMjAwMiAwMToxMTo0MyAtMDAwMA0KQEAgLTU3MSw2
ICs1NzEsNyBAQA0KIAlzdHJ1Y3QgZXRoZXJfaGVhZGVyICplaDsNCiAJc3Ry
dWN0IGFyY19oZWFkZXIgKmFyaDsNCiAJc3RydWN0IGlzbzg4MDI1X2hlYWRl
ciAqdGggPSAoc3RydWN0IGlzbzg4MDI1X2hlYWRlciAqKTA7DQorCXN0cnVj
dCBpc284ODAyNV9zb2NrYWRkcl9kbF9kYXRhICp0cmxkOw0KIAlyZWdpc3Rl
ciBzdHJ1Y3QgbGxpbmZvX2FycCAqbGEgPSAwOw0KIAlyZWdpc3RlciBzdHJ1
Y3QgcnRlbnRyeSAqcnQ7DQogCXN0cnVjdCBpZmFkZHIgKmlmYTsNCkBAIC02
OTcsNyArNjk4LDYgQEANCiAJCX0NCiAJCSh2b2lkKW1lbWNweShMTEFERFIo
c2RsKSwgYXJfc2hhKGFoKSwNCiAJCSAgICBzZGwtPnNkbF9hbGVuID0gYWgt
PmFyX2hsbik7DQotICAgICAgICAgICAgICAgIHNkbC0+c2RsX3JjZiA9ICh1
X3Nob3J0KTA7DQogCQkvKg0KIAkJICogSWYgd2UgcmVjZWl2ZSBhbiBhcnAg
ZnJvbSBhIHRva2VuLXJpbmcgc3RhdGlvbiBvdmVyDQogCQkgKiBhIHRva2Vu
LXJpbmcgbmljIHRoZW4gdHJ5IHRvIHNhdmUgdGhlIHNvdXJjZQ0KQEAgLTcw
NSwxMyArNzA1LDE0IEBADQogCQkgKi8NCiAJCWlmIChpZnAtPmlmX3R5cGUg
PT0gSUZUX0lTTzg4MDI1KSB7DQogCQkJdGggPSAoc3RydWN0IGlzbzg4MDI1
X2hlYWRlciAqKW0tPm1fcGt0aGRyLmhlYWRlcjsNCisJCQl0cmxkID0gU0RM
X0lTTzg4MDI1KHNkbCk7DQogCQkJcmlmX2xlbiA9IFRSX1JDRl9SSUZMRU4o
dGgtPnJjZik7DQogCQkJaWYgKCh0aC0+aXNvODgwMjVfc2hvc3RbMF0gJiBU
Ul9SSUkpICYmDQogCQkJICAgIChyaWZfbGVuID4gMikpIHsNCi0JCQkJc2Rs
LT5zZGxfcmNmID0gdGgtPnJjZjsNCi0JCQkJc2RsLT5zZGxfcmNmIF49IGh0
b25zKFRSX1JDRl9ESVIpOw0KLQkJCQltZW1jcHkoc2RsLT5zZGxfcm91dGUs
IHRoLT5yZCwgcmlmX2xlbiAtIDIpOw0KLQkJCQlzZGwtPnNkbF9yY2YgJj0g
fmh0b25zKFRSX1JDRl9CQ1NUX01BU0spOw0KKwkJCQl0cmxkLT50cmxkX3Jj
ZiA9IHRoLT5yY2Y7DQorCQkJCXRybGQtPnRybGRfcmNmIF49IGh0b25zKFRS
X1JDRl9ESVIpOw0KKwkJCQltZW1jcHkodHJsZC0+dHJsZF9yb3V0ZSwgdGgt
PnJkLCByaWZfbGVuIC0gMik7DQorCQkJCXRybGQtPnRybGRfcmNmICY9IH5o
dG9ucyhUUl9SQ0ZfQkNTVF9NQVNLKTsNCiAJCQkJLyoNCiAJCQkJICogU2V0
IHVwIHNvdXJjZSByb3V0aW5nIGluZm9ybWF0aW9uIGZvcg0KIAkJCQkgKiBy
ZXBseSBwYWNrZXQgKFhYWCkNCkBAIC03MjUsOSArNzI2LDcgQEANCiAJCQlt
LT5tX2RhdGEgLT0gODsNCiAJCQltLT5tX2xlbiAgKz0gODsNCiAJCQltLT5t
X3BrdGhkci5sZW4gKz0gODsNCi0JCQl0aC0+cmNmID0gc2RsLT5zZGxfcmNm
Ow0KLQkJfSBlbHNlIHsNCi0JCQlzZGwtPnNkbF9yY2YgPSAodV9zaG9ydCkw
Ow0KKwkJCXRoLT5yY2YgPSB0cmxkLT50cmxkX3JjZjsNCiAJCX0NCiAJCWlm
IChydC0+cnRfZXhwaXJlKQ0KIAkJCXJ0LT5ydF9leHBpcmUgPSB0aW1lX3Nl
Y29uZCArIGFycHRfa2VlcDsNCg==
--0-819770887-1020217113=:11009--

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




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