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-net" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?>