Date: Sun, 21 Jun 2009 22:00:15 GMT From: "Joost Bekkers" <joost@jodocus.org> To: freebsd-ipfw@FreeBSD.org Subject: Re: kern/117234: [ipfw] [patch] ipfw send_pkt() and ipfw_tick() don't seem to support IPV6 Message-ID: <200906212200.n5LM0FVu070037@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR kern/117234; it has been noted by GNATS. From: "Joost Bekkers" <joost@jodocus.org> To: bug-followup@FreeBSD.org Cc: Subject: Re: kern/117234: [ipfw] [patch] ipfw send_pkt() and ipfw_tick() don't seem to support IPV6 Date: Sun, 21 Jun 2009 23:35:11 +0200 (CEST) ------=_20090621233511_54797 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 8bit Updated the patch for use with 8.0-current This patch is against version 1.1 of src/sys/netinet/ipfw/ip_fw2.c It applies cleanly to HEAD (version 1.5) as well. ------=_20090621233511_54797 Content-Type: application/octet-stream; name="ip_fw2.c-80-current-200906.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ip_fw2.c-80-current-200906.diff" LS0tIGlwX2Z3Mi5jLm9yZwkyMDA5LTA2LTIxIDE5OjUyOjM2LjAwMDAwMDAwMCArMDAwMAorKysg aXBfZncyLmMJMjAwOS0wNi0yMSAyMDo1NDowMy4wMDAwMDAwMDAgKzAwMDAKQEAgLTk3LDYgKzk3 LDcgQEAKICNpbmNsdWRlIDxuZXRpbmV0L2ljbXA2Lmg+CiAjaWZkZWYgSU5FVDYKICNpbmNsdWRl IDxuZXRpbmV0Ni9zY29wZTZfdmFyLmg+CisjaW5jbHVkZSA8bmV0aW5ldDYvaXA2X3Zhci5oPgog I2VuZGlmCiAKICNpbmNsdWRlIDxtYWNoaW5lL2luX2Nrc3VtLmg+CS8qIFhYWCBmb3IgaW5fY2tz dW0gKi8KQEAgLTI0OSw2ICsyNTAsMTAgQEAKICNkZWZpbmUJSVBGV19EWU5fVU5MT0NLKCkJbXR4 X3VubG9jaygmaXBmd19keW5fbXR4KQogI2RlZmluZQlJUEZXX0RZTl9MT0NLX0FTU0VSVCgpCW10 eF9hc3NlcnQoJmlwZndfZHluX210eCwgTUFfT1dORUQpCiAKK3N0YXRpYyBzdHJ1Y3QgbWJ1ZiAq c2VuZF9wa3Qoc3RydWN0IG1idWYgKiwgc3RydWN0IGlwZndfZmxvd19pZCAqLAorICAgIHVfaW50 MzJfdCwgdV9pbnQzMl90LCBpbnQpOworCisKIC8qCiAgKiBUaW1lb3V0cyBmb3IgdmFyaW91cyBl dmVudHMgaW4gaGFuZGluZyBkeW5hbWljIHJ1bGVzLgogICovCkBAIC03MDAsNjAgKzcwNSwxNyBA QAogCW0gPSBhcmdzLT5tOwogCWlmIChjb2RlID09IElDTVA2X1VOUkVBQ0hfUlNUICYmIGFyZ3Mt PmZfaWQucHJvdG8gPT0gSVBQUk9UT19UQ1ApIHsKIAkJc3RydWN0IHRjcGhkciAqdGNwOwotCQl0 Y3Bfc2VxIGFjaywgc2VxOwotCQlpbnQgZmxhZ3M7Ci0JCXN0cnVjdCB7Ci0JCQlzdHJ1Y3QgaXA2 X2hkciBpcDY7Ci0JCQlzdHJ1Y3QgdGNwaGRyIHRoOwotCQl9IHRpOwogCQl0Y3AgPSAoc3RydWN0 IHRjcGhkciAqKSgoY2hhciAqKWlwNiArIGhsZW4pOwogCi0JCWlmICgodGNwLT50aF9mbGFncyAm IFRIX1JTVCkgIT0gMCkgewotCQkJbV9mcmVlbShtKTsKLQkJCWFyZ3MtPm0gPSBOVUxMOwotCQkJ cmV0dXJuOworICAgICAgICAgICAgICAgIGlmICgodGNwLT50aF9mbGFncyAmIFRIX1JTVCkgPT0g MCkgeworICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG1idWYgKm0wOworICAgICAgICAg ICAgICAgICAgICAgICAgbTAgPSBzZW5kX3BrdChhcmdzLT5tLCAmKGFyZ3MtPmZfaWQpLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudG9obCh0Y3AtPnRoX3NlcSksIG50b2hsKHRj cC0+dGhfYWNrKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGNwLT50aF9mbGFn cyB8IFRIX1JTVCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAobTAgIT0gTlVMTCkKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXA2X291dHB1dChtMCwgTlVMTCwgTlVMTCwg MCwgTlVMTCwgTlVMTCwgTlVMTCk7CiAJCX0KLQotCQl0aS5pcDYgPSAqaXA2OwotCQl0aS50aCA9 ICp0Y3A7Ci0JCXRpLnRoLnRoX3NlcSA9IG50b2hsKHRpLnRoLnRoX3NlcSk7Ci0JCXRpLnRoLnRo X2FjayA9IG50b2hsKHRpLnRoLnRoX2Fjayk7Ci0JCXRpLmlwNi5pcDZfbnh0ID0gSVBQUk9UT19U Q1A7Ci0KLQkJaWYgKHRpLnRoLnRoX2ZsYWdzICYgVEhfQUNLKSB7Ci0JCQlhY2sgPSAwOwotCQkJ c2VxID0gdGkudGgudGhfYWNrOwotCQkJZmxhZ3MgPSBUSF9SU1Q7Ci0JCX0gZWxzZSB7Ci0JCQlh Y2sgPSB0aS50aC50aF9zZXE7Ci0JCQlpZiAoKG0tPm1fZmxhZ3MgJiBNX1BLVEhEUikgIT0gMCkg ewotCQkJCS8qCi0JCQkJICogdG90YWwgbmV3IGRhdGEgdG8gQUNLIGlzOgotCQkJCSAqIHRvdGFs IHBhY2tldCBsZW5ndGgsCi0JCQkJICogbWludXMgdGhlIGhlYWRlciBsZW5ndGgsCi0JCQkJICog bWludXMgdGhlIHRjcCBoZWFkZXIgbGVuZ3RoLgotCQkJCSAqLwotCQkJCWFjayArPSBtLT5tX3Br dGhkci5sZW4gLSBobGVuCi0JCQkJCS0gKHRpLnRoLnRoX29mZiA8PCAyKTsKLQkJCX0gZWxzZSBp ZiAoaXA2LT5pcDZfcGxlbikgewotCQkJCWFjayArPSBudG9ocyhpcDYtPmlwNl9wbGVuKSArIHNp emVvZigqaXA2KSAtCi0JCQkJICAgIGhsZW4gLSAodGkudGgudGhfb2ZmIDw8IDIpOwotCQkJfSBl bHNlIHsKLQkJCQltX2ZyZWVtKG0pOwotCQkJCXJldHVybjsKLQkJCX0KLQkJCWlmICh0Y3AtPnRo X2ZsYWdzICYgVEhfU1lOKQotCQkJCWFjaysrOwotCQkJc2VxID0gMDsKLQkJCWZsYWdzID0gVEhf UlNUfFRIX0FDSzsKLQkJfQotCQliY29weSgmdGksIGlwNiwgc2l6ZW9mKHRpKSk7Ci0JCS8qCi0J CSAqIG0gaXMgb25seSB1c2VkIHRvIHJlY3ljbGUgdGhlIG1idWYKLQkJICogVGhlIGRhdGEgaW4g aXQgaXMgbmV2ZXIgcmVhZCBzbyB3ZSBkb24ndCBuZWVkCi0JCSAqIHRvIGNvcnJlY3QgdGhlIG9m ZnNldHMgb3IgYW55dGhpbmcKLQkJICovCi0JCXRjcF9yZXNwb25kKE5VTEwsIGlwNiwgdGNwLCBt LCBhY2ssIHNlcSwgZmxhZ3MpOworCQltX2ZyZWVtKG0pOwogCX0gZWxzZSBpZiAoY29kZSAhPSBJ Q01QNl9VTlJFQUNIX1JTVCkgeyAvKiBTZW5kIGFuIElDTVB2NiB1bnJlYWNoLiAqLwogI2lmIDAK IAkJLyoKQEAgLTE2NTAsMTMgKzE2MTIsMTYgQEAKIHsKIAlJTklUX1ZORVRfSU5FVChjdXJ2bmV0 KTsKIAlzdHJ1Y3QgbWJ1ZiAqbTsKLQlzdHJ1Y3QgaXAgKmlwOwotCXN0cnVjdCB0Y3BoZHIgKnRj cDsKKyAgICAgICAgaW50IGxlbiwgZGlyOworICAgICAgICBzdHJ1Y3QgaXAgKmggPSBOVUxMOyAg ICAgICAgICAgIC8qIHN0dXBpZCBjb21waWxlciAqLworI2lmZGVmIElORVQ2CisgICAgICAgIHN0 cnVjdCBpcDZfaGRyICpoNiA9IE5VTEw7CisjZW5kaWYKKyAgICAgICAgc3RydWN0IHRjcGhkciAq dGggPSBOVUxMOwogCiAJTUdFVEhEUihtLCBNX0RPTlRXQUlULCBNVF9EQVRBKTsKLQlpZiAobSA9 PSAwKQorCWlmIChtID09IE5VTEwpCiAJCXJldHVybiAoTlVMTCk7Ci0JbS0+bV9wa3RoZHIucmN2 aWYgPSAoc3RydWN0IGlmbmV0ICopMDsKIAogCU1fU0VURklCKG0sIGlkLT5maWIpOwogI2lmZGVm IE1BQwpAQCAtMTY2OCw2NyArMTYzMywxMTggQEAKIAkodm9pZClyZXBseXRvOwkJLyogZG9uJ3Qg d2FybiBhYm91dCB1bnVzZWQgYXJnICovCiAjZW5kaWYKIAotCW0tPm1fcGt0aGRyLmxlbiA9IG0t Pm1fbGVuID0gc2l6ZW9mKHN0cnVjdCBpcCkgKyBzaXplb2Yoc3RydWN0IHRjcGhkcik7CisgICAg ICAgIHN3aXRjaCAoaWQtPmFkZHJfdHlwZSkgeworICAgICAgICBjYXNlIDQ6CisgICAgICAgICAg ICAgICAgbGVuID0gc2l6ZW9mKHN0cnVjdCBpcCkgKyBzaXplb2Yoc3RydWN0IHRjcGhkcik7Cisg ICAgICAgICAgICAgICAgYnJlYWs7CisjaWZkZWYgSU5FVDYKKyAgICAgICAgY2FzZSA2OgorICAg ICAgICAgICAgICAgIGxlbiA9IHNpemVvZihzdHJ1Y3QgaXA2X2hkcikgKyBzaXplb2Yoc3RydWN0 IHRjcGhkcik7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKKyAgICAgICAgZGVmYXVs dDoKKyAgICAgICAgICAgICAgICAvKiBYWFg6IGxvZyBtZT8hPyAqLworICAgICAgICAgICAgICAg IG1fZnJlZW0obSk7CisgICAgICAgICAgICAgICAgcmV0dXJuIChOVUxMKTsKKyAgICAgICAgfQor ICAgICAgICBkaXIgPSAoKGZsYWdzICYgKFRIX1NZTiB8IFRIX1JTVCkpID09IFRIX1NZTik7CisK IAltLT5tX2RhdGEgKz0gbWF4X2xpbmtoZHI7CisgICAgICAgIG0tPm1fZmxhZ3MgfD0gTV9TS0lQ X0ZJUkVXQUxMOworICAgICAgICBtLT5tX3BrdGhkci5sZW4gPSBtLT5tX2xlbiA9IGxlbjsKKyAg ICAgICAgbS0+bV9wa3RoZHIucmN2aWYgPSBOVUxMOworICAgICAgICBiemVybyhtLT5tX2RhdGEs IGxlbik7CisKKyAgICAgICAgc3dpdGNoIChpZC0+YWRkcl90eXBlKSB7CisgICAgICAgIGNhc2Ug NDoKKyAgICAgICAgICAgICAgICBoID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7CisKKyAgICAgICAg ICAgICAgICAvKiBwcmVwYXJlIGZvciBjaGVja3N1bSAqLworICAgICAgICAgICAgICAgIGgtPmlw X3AgPSBJUFBST1RPX1RDUDsKKyAgICAgICAgICAgICAgICBoLT5pcF9sZW4gPSBodG9ucyhzaXpl b2Yoc3RydWN0IHRjcGhkcikpOworICAgICAgICAgICAgICAgIGlmIChkaXIpIHsKKyAgICAgICAg ICAgICAgICAgICAgICAgIGgtPmlwX3NyYy5zX2FkZHIgPSBodG9ubChpZC0+c3JjX2lwKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgIGgtPmlwX2RzdC5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lw KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgaC0+ aXBfc3JjLnNfYWRkciA9IGh0b25sKGlkLT5kc3RfaXApOworICAgICAgICAgICAgICAgICAgICAg ICAgaC0+aXBfZHN0LnNfYWRkciA9IGh0b25sKGlkLT5zcmNfaXApOworICAgICAgICAgICAgICAg IH0KIAotCWlwID0gbXRvZChtLCBzdHJ1Y3QgaXAgKik7Ci0JYnplcm8oaXAsIG0tPm1fbGVuKTsK LQl0Y3AgPSAoc3RydWN0IHRjcGhkciAqKShpcCArIDEpOyAvKiBubyBJUCBvcHRpb25zICovCi0J aXAtPmlwX3AgPSBJUFBST1RPX1RDUDsKLQl0Y3AtPnRoX29mZiA9IDU7Ci0JLyoKLQkgKiBBc3N1 bWUgd2UgYXJlIHNlbmRpbmcgYSBSU1QgKG9yIGEga2VlcGFsaXZlIGluIHRoZSByZXZlcnNlCi0J ICogZGlyZWN0aW9uKSwgc3dhcCBzcmMgYW5kIGRlc3RpbmF0aW9uIGFkZHJlc3NlcyBhbmQgcG9y dHMuCi0JICovCi0JaXAtPmlwX3NyYy5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lwKTsKLQlpcC0+ aXBfZHN0LnNfYWRkciA9IGh0b25sKGlkLT5zcmNfaXApOwotCXRjcC0+dGhfc3BvcnQgPSBodG9u cyhpZC0+ZHN0X3BvcnQpOwotCXRjcC0+dGhfZHBvcnQgPSBodG9ucyhpZC0+c3JjX3BvcnQpOwot CWlmIChmbGFncyAmIFRIX1JTVCkgewkvKiB3ZSBhcmUgc2VuZGluZyBhIFJTVCAqLworICAgICAg ICAgICAgICAgIHRoID0gKHN0cnVjdCB0Y3BoZHIgKikoaCArIDEpOworICAgICAgICAgICAgICAg IGJyZWFrOworI2lmZGVmIElORVQ2CisgICAgICAgIGNhc2UgNjoKKyAgICAgICAgICAgICAgICBo NiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7CisKKyAgICAgICAgICAgICAgICAvKiBwcmVw YXJlIGZvciBjaGVja3N1bSAqLworICAgICAgICAgICAgICAgIGg2LT5pcDZfbnh0ID0gSVBQUk9U T19UQ1A7CisgICAgICAgICAgICAgICAgaDYtPmlwNl9wbGVuID0gaHRvbnMoc2l6ZW9mKHN0cnVj dCB0Y3BoZHIpKTsKKyAgICAgICAgICAgICAgICBpZiAoZGlyKSB7CisgICAgICAgICAgICAgICAg ICAgICAgICBoNi0+aXA2X3NyYyA9IGlkLT5zcmNfaXA2OworICAgICAgICAgICAgICAgICAgICAg ICAgaDYtPmlwNl9kc3QgPSBpZC0+ZHN0X2lwNjsKKyAgICAgICAgICAgICAgICB9IGVsc2Ugewor ICAgICAgICAgICAgICAgICAgICAgICAgaDYtPmlwNl9zcmMgPSBpZC0+ZHN0X2lwNjsKKyAgICAg ICAgICAgICAgICAgICAgICAgIGg2LT5pcDZfZHN0ID0gaWQtPnNyY19pcDY7CisgICAgICAgICAg ICAgICAgfQorCisgICAgICAgICAgICAgICAgdGggPSAoc3RydWN0IHRjcGhkciAqKShoNiArIDEp OworICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAgIH0KKworICAgICAgICBp ZiAoZGlyKSB7CisgICAgICAgICAgICAgICAgdGgtPnRoX3Nwb3J0ID0gaHRvbnMoaWQtPnNyY19w b3J0KTsKKyAgICAgICAgICAgICAgICB0aC0+dGhfZHBvcnQgPSBodG9ucyhpZC0+ZHN0X3BvcnQp OworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRoLT50aF9zcG9ydCA9IGh0b25z KGlkLT5kc3RfcG9ydCk7CisgICAgICAgICAgICAgICAgdGgtPnRoX2Rwb3J0ID0gaHRvbnMoaWQt PnNyY19wb3J0KTsKKyAgICAgICAgfQorICAgICAgICB0aC0+dGhfb2ZmID0gc2l6ZW9mKHN0cnVj dCB0Y3BoZHIpID4+IDI7CisKKyAgICAgICAgaWYgKGZsYWdzICYgVEhfUlNUKSB7CiAJCWlmIChm bGFncyAmIFRIX0FDSykgewotCQkJdGNwLT50aF9zZXEgPSBodG9ubChhY2spOwotCQkJdGNwLT50 aF9hY2sgPSBodG9ubCgwKTsKLQkJCXRjcC0+dGhfZmxhZ3MgPSBUSF9SU1Q7CisgICAgICAgICAg ICAgICAgICAgICAgICB0aC0+dGhfc2VxID0gaHRvbmwoYWNrKTsKKyAgICAgICAgICAgICAgICAg ICAgICAgIHRoLT50aF9mbGFncyA9IFRIX1JTVDsKIAkJfSBlbHNlIHsKIAkJCWlmIChmbGFncyAm IFRIX1NZTikKIAkJCQlzZXErKzsKLQkJCXRjcC0+dGhfc2VxID0gaHRvbmwoMCk7Ci0JCQl0Y3At PnRoX2FjayA9IGh0b25sKHNlcSk7Ci0JCQl0Y3AtPnRoX2ZsYWdzID0gVEhfUlNUIHwgVEhfQUNL OworICAgICAgICAgICAgICAgICAgICAgICAgdGgtPnRoX2FjayA9IGh0b25sKHNlcSk7CisgICAg ICAgICAgICAgICAgICAgICAgICB0aC0+dGhfZmxhZ3MgPSBUSF9SU1QgfCBUSF9BQ0s7CiAJCX0K IAl9IGVsc2UgewogCQkvKgotCQkgKiBXZSBhcmUgc2VuZGluZyBhIGtlZXBhbGl2ZS4gZmxhZ3Mg JiBUSF9TWU4gZGV0ZXJtaW5lcwotCQkgKiB0aGUgZGlyZWN0aW9uLCBmb3J3YXJkIGlmIHNldCwg cmV2ZXJzZSBpZiBjbGVhci4KLQkJICogTk9URTogc2VxIGFuZCBhY2sgYXJlIGFsd2F5cyBhc3N1 bWVkIHRvIGJlIGNvcnJlY3QKLQkJICogYXMgc2V0IGJ5IHRoZSBjYWxsZXIuIFRoaXMgbWF5IGJl IGNvbmZ1c2luZy4uLgorICAgICAgICAgICAgICAgICAqIEtlZXBhbGl2ZSAtIHVzZSBjYWxsZXIg cHJvdmlkZWQgc2VxdWVuY2UgbnVtYmVycwogCQkgKi8KLQkJaWYgKGZsYWdzICYgVEhfU1lOKSB7 Ci0JCQkvKgotCQkJICogd2UgaGF2ZSB0byByZXdyaXRlIHRoZSBjb3JyZWN0IGFkZHJlc3NlcyEK LQkJCSAqLwotCQkJaXAtPmlwX2RzdC5zX2FkZHIgPSBodG9ubChpZC0+ZHN0X2lwKTsKLQkJCWlw LT5pcF9zcmMuc19hZGRyID0gaHRvbmwoaWQtPnNyY19pcCk7Ci0JCQl0Y3AtPnRoX2Rwb3J0ID0g aHRvbnMoaWQtPmRzdF9wb3J0KTsKLQkJCXRjcC0+dGhfc3BvcnQgPSBodG9ucyhpZC0+c3JjX3Bv cnQpOwotCQl9Ci0JCXRjcC0+dGhfc2VxID0gaHRvbmwoc2VxKTsKLQkJdGNwLT50aF9hY2sgPSBo dG9ubChhY2spOwotCQl0Y3AtPnRoX2ZsYWdzID0gVEhfQUNLOworICAgICAgICAgICAgICAgIHRo LT50aF9zZXEgPSBodG9ubChzZXEpOworICAgICAgICAgICAgICAgIHRoLT50aF9hY2sgPSBodG9u bChhY2spOworICAgICAgICAgICAgICAgIHRoLT50aF9mbGFncyA9IFRIX0FDSzsKKyAgICAgICAg fQorCisgICAgICAgIHN3aXRjaCAoaWQtPmFkZHJfdHlwZSkgeworICAgICAgICBjYXNlIDQ6Cisg ICAgICAgICAgICAgICAgdGgtPnRoX3N1bSA9IGluX2Nrc3VtKG0sIGxlbik7CisKKyAgICAgICAg ICAgICAgICAvKiBmaW5pc2ggdGhlIGlwIGhlYWRlciAqLworICAgICAgICAgICAgICAgIGgtPmlw X3YgPSA0OworICAgICAgICAgICAgICAgIGgtPmlwX2hsID0gc2l6ZW9mKCpoKSA+PiAyOworICAg ICAgICAgICAgICAgIGgtPmlwX3RvcyA9IElQVE9TX0xPV0RFTEFZOworICAgICAgICAgICAgICAg IGgtPmlwX29mZiA9IDA7CisgICAgICAgICAgICAgICAgaC0+aXBfbGVuID0gbGVuOworICAgICAg ICAgICAgICAgIGgtPmlwX3R0bCA9IFZfaXBfZGVmdHRsOworICAgICAgICAgICAgICAgIGgtPmlw X3N1bSA9IDA7CisgICAgICAgICAgICAgICAgYnJlYWs7CisjaWZkZWYgSU5FVDYKKyAgICAgICAg Y2FzZSA2OgorICAgICAgICAgICAgICAgIHRoLT50aF9zdW0gPSBpbjZfY2tzdW0obSwgSVBQUk9U T19UQ1AsIHNpemVvZigqaDYpLAorICAgICAgICAgICAgICAgICAgICBzaXplb2Yoc3RydWN0IHRj cGhkcikpOworCisgICAgICAgICAgICAgICAgLyogZmluaXNoIHRoZSBpcDYgaGVhZGVyICovCisg ICAgICAgICAgICAgICAgaDYtPmlwNl92ZmMgfD0gSVBWNl9WRVJTSU9OOworICAgICAgICAgICAg ICAgIGg2LT5pcDZfaGxpbSA9IElQVjZfREVGSExJTTsKKyAgICAgICAgICAgICAgICBicmVhazsK KyNlbmRpZgogCX0KLQkvKgotCSAqIHNldCBpcF9sZW4gdG8gdGhlIHBheWxvYWQgc2l6ZSBzbyB3 ZSBjYW4gY29tcHV0ZQotCSAqIHRoZSB0Y3AgY2hlY2tzdW0gb24gdGhlIHBzZXVkb2hlYWRlcgot CSAqIFhYWCBjaGVjayB0aGlzLCBjb3VsZCBzYXZlIGEgY291cGxlIG9mIHdvcmRzID8KLQkgKi8K LQlpcC0+aXBfbGVuID0gaHRvbnMoc2l6ZW9mKHN0cnVjdCB0Y3BoZHIpKTsKLQl0Y3AtPnRoX3N1 bSA9IGluX2Nrc3VtKG0sIG0tPm1fcGt0aGRyLmxlbik7Ci0JLyoKLQkgKiBub3cgZmlsbCBmaWVs ZHMgbGVmdCBvdXQgZWFybGllcgotCSAqLwotCWlwLT5pcF90dGwgPSBWX2lwX2RlZnR0bDsKLQlp cC0+aXBfbGVuID0gbS0+bV9wa3RoZHIubGVuOwotCW0tPm1fZmxhZ3MgfD0gTV9TS0lQX0ZJUkVX QUxMOworCiAJcmV0dXJuIChtKTsKIH0KIApAQCAtNDU0MCw2ICs0NTU2LDkgQEAKIHsKIAlJTklU X1ZORVRfSVBGVyhjdXJ2bmV0KTsKIAlzdHJ1Y3QgbWJ1ZiAqbTAsICptLCAqbW5leHQsICoqbXRh aWxwOworI2lmZGVmIElORVQ2CisgICAgICAgIHN0cnVjdCBtYnVmICptNiwgKiptNl90YWlscDsK KyNlbmRpZgogCWludCBpOwogCWlwZndfZHluX3J1bGUgKnE7CiAKQEAgLTQ1NTQsNiArNDU3Mywx MCBAQAogCSAqLwogCW0wID0gTlVMTDsKIAltdGFpbHAgPSAmbTA7CisjaWZkZWYgSU5FVDYKKyAg ICAgICAgbTYgPSBOVUxMOworICAgICAgICBtNl90YWlscCA9ICZtNjsKKyNlbmRpZgogCUlQRldf RFlOX0xPQ0soKTsKIAlmb3IgKGkgPSAwIDsgaSA8IFZfY3Vycl9keW5fYnVja2V0cyA7IGkrKykg ewogCQlmb3IgKHEgPSBWX2lwZndfZHluX3ZbaV0gOyBxIDsgcSA9IHEtPm5leHQgKSB7CkBAIC00 NTY5LDE0ICs0NTkyLDM3IEBACiAJCQlpZiAoVElNRV9MRVEocS0+ZXhwaXJlLCB0aW1lX3VwdGlt ZSkpCiAJCQkJY29udGludWU7CS8qIHRvbyBsYXRlLCBydWxlIGV4cGlyZWQgKi8KIAotCQkJKm10 YWlscCA9IHNlbmRfcGt0KE5VTEwsICYocS0+aWQpLCBxLT5hY2tfcmV2IC0gMSwKKwkJCW0gPSBz ZW5kX3BrdChOVUxMLCAmKHEtPmlkKSwgcS0+YWNrX3JldiAtIDEsCiAJCQkJcS0+YWNrX2Z3ZCwg VEhfU1lOKTsKLQkJCWlmICgqbXRhaWxwICE9IE5VTEwpCi0JCQkJbXRhaWxwID0gJigqbXRhaWxw KS0+bV9uZXh0cGt0OwotCQkJKm10YWlscCA9IHNlbmRfcGt0KE5VTEwsICYocS0+aWQpLCBxLT5h Y2tfZndkIC0gMSwKKwkJCW1uZXh0ID0gc2VuZF9wa3QoTlVMTCwgJihxLT5pZCksIHEtPmFja19m d2QgLSAxLAogCQkJCXEtPmFja19yZXYsIDApOwotCQkJaWYgKCptdGFpbHAgIT0gTlVMTCkKLQkJ CQltdGFpbHAgPSAmKCptdGFpbHApLT5tX25leHRwa3Q7CisKKyAgICAgICAgICAgICAgICAgICAg ICAgIHN3aXRjaCAocS0+aWQuYWRkcl90eXBlKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBj YXNlIDQ6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtICE9IE5VTEwpIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbXRhaWxwID0gbTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdGFpbHAgPSAmKCptdGFpbHAp LT5tX25leHRwa3Q7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1uZXh0ICE9IE5VTEwpIHsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbXRhaWxwID0gbW5leHQ7CisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbXRhaWxwID0gJigqbXRhaWxwKS0+bV9uZXh0 cGt0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOworI2lmZGVmIElORVQ2CisgICAgICAgICAgICAgICAgICAg ICAgICBjYXNlIDY6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChtICE9IE5V TEwpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbTZfdGFpbHAg PSBtOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG02X3RhaWxwID0g JigqbTZfdGFpbHApLT5tX25leHRwa3Q7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IH0KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKG1uZXh0ICE9IE5VTEwpIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbTZfdGFpbHAgPSBtbmV4 dDsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtNl90YWlscCA9ICYo Km02X3RhaWxwKS0+bV9uZXh0cGt0OworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9 CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCisgICAgICAg ICAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICAgICAgICAgIG0gPSBtbmV4dCA9 IE5VTEw7CiAJCX0KIAl9CiAJSVBGV19EWU5fVU5MT0NLKCk7CkBAIC00NTg1LDYgKzQ2MzEsMTMg QEAKIAkJbS0+bV9uZXh0cGt0ID0gTlVMTDsKIAkJaXBfb3V0cHV0KG0sIE5VTEwsIE5VTEwsIDAs IE5VTEwsIE5VTEwpOwogCX0KKyNpZmRlZiBJTkVUNgorICAgICAgICBmb3IgKG0gPSBtbmV4dCA9 IG02OyBtICE9IE5VTEw7IG0gPSBtbmV4dCkgeworICAgICAgICAgICAgICAgIG1uZXh0ID0gbS0+ bV9uZXh0cGt0OworICAgICAgICAgICAgICAgIG0tPm1fbmV4dHBrdCA9IE5VTEw7CisgICAgICAg ICAgICAgICAgaXA2X291dHB1dChtLCBOVUxMLCBOVUxMLCAwLCBOVUxMLCBOVUxMLCBOVUxMKTsK KyAgICAgICAgfQorI2VuZGlmCiBkb25lOgogCWNhbGxvdXRfcmVzZXQoJlZfaXBmd190aW1lb3V0 LCBWX2R5bl9rZWVwYWxpdmVfcGVyaW9kICogaHosCiAJCSAgICAgIGlwZndfdGljaywgTlVMTCk7 Cg== ------=_20090621233511_54797--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200906212200.n5LM0FVu070037>