Date: Wed, 19 Nov 2003 01:30:18 -0800 (PST) From: Max Laier <max@love2party.net> To: freebsd-ports-bugs@FreeBSD.org Subject: Re: ports/59442: [Maintainer-Update:] security/pf - build after ip_input.c#1.254 Message-ID: <200311190930.hAJ9UIGV090979@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR ports/59442; it has been noted by GNATS. From: Max Laier <max@love2party.net> To: freebsd-gnats-submit@FreeBSD.org, max@love2party.net Cc: Pyun YongHyeon <yongari@kt-is.co.kr> Subject: Re: ports/59442: [Maintainer-Update:] security/pf - build after ip_input.c#1.254 Date: Wed, 19 Nov 2003 10:25:50 +0100 ------------BE1361F82C6DB270 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit New diff with some additional nits from: Pyun YongHyeon <yongari@kt-is.co.kr>: patch-ac: Fix build on -CURRENT(__FreeBSD_version 501114) Do not fragment a packet with hardware assistance if it has the DF bit set. patch-ad: Make pftcpdump's -w option work for pflog, pfsync interfaces. Thanks. -- Best regards, Max mailto:max@love2party.net ------------BE1361F82C6DB270 Content-Type: application/octet-stream; name="pfil.diff" Content-transfer-encoding: base64 Content-Disposition: attachment; filename="pfil.diff" SW5kZXg6IGNvbmYvZmlsZXMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZGN2cy9z cmMvc3lzL2NvbmYvZmlsZXMsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuMjgKZGlmZiAtdSAt cjEuMjggZmlsZXMKLS0tIGNvbmYvZmlsZXMJMTQgTm92IDIwMDMgMjA6NTQ6MDYgLTAwMDAJ MS4yOAorKysgY29uZi9maWxlcwkxNSBOb3YgMjAwMyAwNjowNDo0MCAtMDAwMApAQCAtODk2 LDYgKzg5Niw3IEBACiBuZXQvaWZfZmRkaXN1YnIuYwkJb3B0aW9uYWwgZmRkaQogbmV0L2dp Zi9pZl9naWYuYwkJb3B0aW9uYWwgZ2lmCiBuZXQvZ3JlL2lmX2dyZS5jCQlvcHRpb25hbCBn cmUKK25ldC9wZmlsLmMJCQlvcHRpb25hbCBwZmlsX2hvb2tzCiBuZXQvcHBwX2xheWVyL3Ns Y29tcHJlc3MuYwlvcHRpb25hbCBuZXRncmFwaF92amMKIG5ldC9wcHBfbGF5ZXIvc2xjb21w cmVzcy5jCW9wdGlvbmFsIHBwcAogbmV0L3BwcF9sYXllci9zbGNvbXByZXNzLmMJb3B0aW9u YWwgc2wKSW5kZXg6IGNvbmYvb3B0aW9ucwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxlOiAvaG9t ZS9kY3ZzL3NyYy9zeXMvY29uZi9vcHRpb25zLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEw CmRpZmYgLXUgLXIxLjEwIG9wdGlvbnMKLS0tIGNvbmYvb3B0aW9ucwkyNSBPY3QgMjAwMyAx NzozNjoyMCAtMDAwMAkxLjEwCisrKyBjb25mL29wdGlvbnMJMTQgTm92IDIwMDMgMTQ6NTI6 MDkgLTAwMDAKQEAgLTI3OSw2ICsyNzksNyBAQAogSVBGSUxURVIJCW9wdF9pcGZpbHRlci5o CiBJUEZJTFRFUl9MT0cJCW9wdF9pcGZpbHRlci5oCiBJUEZJTFRFUl9ERUZBVUxUX0JMT0NL CW9wdF9pcGZpbHRlci5oCitQRklMX0hPT0tTCQlvcHRfcGZpbF9ob29rcy5oCiBJUEZJUkVX QUxMCQlvcHRfaXBmdy5oCiBJUEZXMgkJCW9wdF9pcGZ3LmgKIElQRklSRVdBTExfVkVSQk9T RQlvcHRfaXBmdy5oCkluZGV4OiBjb250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmMK PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2hvbWUvZGN2cy9zcmMvc3lzL2NvbnRyaWIvaXBm aWx0ZXIvbmV0aW5ldC9pcF9maWwuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS42CmRpZmYg LXUgLXIxLjYgaXBfZmlsLmMKLS0tIGNvbnRyaWIvaXBmaWx0ZXIvbmV0aW5ldC9pcF9maWwu YwkyNyBBdWcgMjAwMyAxMTowMjoxNCAtMDAwMAkxLjYKKysrIGNvbnRyaWIvaXBmaWx0ZXIv bmV0aW5ldC9pcF9maWwuYwkxNSBOb3YgMjAwMyAwNjoyMTozOSAtMDAwMApAQCAtMTgsNiAr MTgsOSBAQAogI2lmIGRlZmluZWQoX0tFUk5FTCkgJiYgZGVmaW5lZChfX0ZyZWVCU0RfdmVy c2lvbikgJiYgXAogICAgIChfX0ZyZWVCU0RfdmVyc2lvbiA+PSA0MDAwMDApICYmICFkZWZp bmVkKEtMRF9NT0RVTEUpCiAjaW5jbHVkZSAib3B0X2luZXQ2LmgiCisjaWYgZGVmaW5lZChf X0RyYWdvbkZseV92ZXJzaW9uKSAmJiAoX19EcmFnb25GbHlfdmVyc2lvbiA+PSAxMDAwMDAp CisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3MuaCIKKyNlbmRpZgogI2VuZGlmCiAjaW5jbHVk ZSA8c3lzL3BhcmFtLmg+CiAjaWYgZGVmaW5lZChfX05ldEJTRF9fKSAmJiAoTmV0QlNEID49 IDE5OTkwNSkgJiYgIWRlZmluZWQoSVBGSUxURVJfTEtNKSAmJiBcCkBAIC0yMjQsNyArMjI3 LDkgQEAKIH07CiAjZW5kaWYgLyogX0JTRElfVkVSU0lPTiA+PSAxOTk1MTAgICYmIF9LRVJO RUwgKi8KIAotI2lmIGRlZmluZWQoX19OZXRCU0RfXykgfHwgZGVmaW5lZChfX09wZW5CU0Rf XykgIHx8IChfQlNESV9WRVJTSU9OID49IDE5OTcwMSkKKyNpZiBkZWZpbmVkKF9fTmV0QlNE X18pIHx8IGRlZmluZWQoX19PcGVuQlNEX18pICB8fCBcCisgICAgKF9CU0RJX1ZFUlNJT04g Pj0gMTk5NzAxKSB8fCAoZGVmaW5lZChfX0RyYWdvbkZseV92ZXJzaW9uKSAmJiBcCisgICAg KF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKSkKICMgaW5jbHVkZSA8c3lzL2NvbmYu aD4KICMgaWYgZGVmaW5lZChORVRCU0RfUEYpCiAjICBpbmNsdWRlIDxuZXQvcGZpbC5oPgpA QCAtMzA2LDYgKzMxMSwyNyBAQAogfQogIyBlbmRpZgogI2VuZGlmIC8qIF9fTmV0QlNEX1Zl cnNpb24gPj0gMTA1MTEwMDAwICYmIF9LRVJORUwgKi8KKyNpZiBkZWZpbmVkKF9fRHJhZ29u Rmx5X3ZlcnNpb24pICYmIChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkgJiYgXAor ICAgIGRlZmluZWQoX0tFUk5FTCkKKworc3RhdGljIGludAorZnJfY2hlY2tfd3JhcHBlcih2 b2lkICphcmcsIHN0cnVjdCBtYnVmICoqbXAsIHN0cnVjdCBpZm5ldCAqaWZwLCBpbnQgZGly KQoreworCXN0cnVjdCBpcCAqaXAgPSBtdG9kKCptcCwgc3RydWN0IGlwICopOworCXJldHVy biBmcl9jaGVjayhpcCwgaXAtPmlwX2hsIDw8IDIsIGlmcCwgKGRpciA9PSBQRklMX09VVCks IG1wKTsKK30KKworIyBpZmRlZiBVU0VfSU5FVDYKKyMgIGluY2x1ZGUgPG5ldGluZXQvaXA2 Lmg+CisKK3N0YXRpYyBpbnQKK2ZyX2NoZWNrX3dyYXBwZXI2KHZvaWQgKmFyZywgc3RydWN0 IG1idWYgKiptcCwgc3RydWN0IGlmbmV0ICppZnAsIGludCBkaXIpCit7CisJcmV0dXJuIChm cl9jaGVjayhtdG9kKCptcCwgc3RydWN0IGlwICopLCBzaXplb2Yoc3RydWN0IGlwNl9oZHIp LAorCSAgICBpZnAsIChkaXIgPT0gUEZJTF9PVVQpLCBtcCkpOworfQorIyBlbmRpZiAvKiBV U0VfSU5FVDYgKi8KKyNlbmRpZiAvKiBfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCAm JiBfS0VSTkVMICovCiAjaWZkZWYJX0tFUk5FTAogIyBpZglkZWZpbmVkKElQRklMVEVSX0xL TSkgJiYgIWRlZmluZWQoX19zZ2kpCiBpbnQgaXBsaWRlbnRpZnkocykKQEAgLTM0MywxMCAr MzY5LDEzIEBACiB7CiAJY2hhciAqZGVmcGFzczsKIAlpbnQgczsKLSMgaWYgZGVmaW5lZChf X3NnaSkgfHwgKGRlZmluZWQoTkVUQlNEX1BGKSAmJiAoX19OZXRCU0RfVmVyc2lvbl9fID49 IDEwNDIwMDAwMCkpCisjIGlmIGRlZmluZWQoX19zZ2kpIHx8IChkZWZpbmVkKE5FVEJTRF9Q RikgJiYgXAorICAgICAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkpIHx8IFwK KyAgICAgKGRlZmluZWQoX19EcmFnb25GbHlfdmVyc2lvbikgJiYgKF9fRHJhZ29uRmx5X3Zl cnNpb24gPj0gMTAwMDAwKSkKIAlpbnQgZXJyb3IgPSAwOwogIyBlbmRpZgotI2lmIGRlZmlu ZWQoX19OZXRCU0RfVmVyc2lvbl9fKSAmJiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTEx MDAwMCkKKyNpZiAoZGVmaW5lZChfX05ldEJTRF9WZXJzaW9uX18pICYmIChfX05ldEJTRF9W ZXJzaW9uX18gPj0gMTA1MTEwMDAwKSkgfHwgXAorICAgIChkZWZpbmVkKF9fRHJhZ29uRmx5 X3ZlcnNpb24pICYmIChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkpCiAJc3RydWN0 IHBmaWxfaGVhZCAqcGhfaW5ldDsKICMgaWZkZWYgVVNFX0lORVQ2CiAJc3RydWN0IHBmaWxf aGVhZCAqcGhfaW5ldDY7CkBAIC0zNzcsOCArNDA2LDkgQEAKIAl9CiAKICMgaWZkZWYgTkVU QlNEX1BGCi0jICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkgfHwgKF9f RnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkKLSMgICBpZiBfX05ldEJTRF9WZXJzaW9uX18g Pj0gMTA1MTEwMDAwCisjICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkg fHwgKF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkgfHwgXAorICAgICAgKGRlZmluZWQo X19EcmFnb25GbHlfdmVyc2lvbikgJiYgKF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAw KSkKKyMgICBpZiAoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTExMDAwMCkgfHwgKF9fRHJh Z29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKQogCXBoX2luZXQgPSBwZmlsX2hlYWRfZ2V0KFBG SUxfVFlQRV9BRiwgQUZfSU5FVCk7CiAjICAgIGlmZGVmIFVTRV9JTkVUNgogCXBoX2luZXQ2 ID0gcGZpbF9oZWFkX2dldChQRklMX1RZUEVfQUYsIEFGX0lORVQ2KTsKQEAgLTQxNCw3ICs0 NDQsNyBAQAogCXBmaWxfYWRkX2hvb2soKHZvaWQgKilmcl9jaGVjaywgUEZJTF9JTnxQRklM X09VVCk7CiAjICBlbmRpZgogIyAgaWZkZWYgVVNFX0lORVQ2Ci0jICAgaWYgX19OZXRCU0Rf VmVyc2lvbl9fID49IDEwNTExMDAwMAorIyAgIGlmIChfX05ldEJTRF9WZXJzaW9uX18gPj0g MTA1MTEwMDAwKSB8fCAoX19EcmFnb25GbHlfdmVyc2lvbiA+PSAxMDAwMDApCiAJaWYgKHBo X2luZXQ2ICE9IE5VTEwpCiAJCWVycm9yID0gcGZpbF9hZGRfaG9vaygodm9pZCAqKWZyX2No ZWNrX3dyYXBwZXI2LCBOVUxMLAogCQkJCSAgICAgIFBGSUxfSU58UEZJTF9PVVQsIHBoX2lu ZXQ2KTsKQEAgLTUwNCw5ICs1MzQsMTAgQEAKIHsKIAlpbnQgcywgaTsKICNpZiBkZWZpbmVk KE5FVEJTRF9QRikgJiYgXAotICAgICgoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAw MCkgfHwgKF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkpCisgICAgKChfX05ldEJTRF9W ZXJzaW9uX18gPj0gMTA0MjAwMDAwKSB8fCAoX19GcmVlQlNEX3ZlcnNpb24gPj0gNTAwMDEx KSB8fCBcCisgICAgIChkZWZpbmVkKF9fRHJhZ29uRmx5X3ZlcnNpb24pICYmIChfX0RyYWdv bkZseV92ZXJzaW9uID49IDEwMDAwMCkpKQogCWludCBlcnJvciA9IDA7Ci0jIGlmIF9fTmV0 QlNEX1ZlcnNpb25fXyA+PSAxMDUxNTAwMDAKKyMgaWYgKF9fTmV0QlNEX1ZlcnNpb25fXyA+ PSAxMDUxNTAwMDApIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkKICAgICAg ICAgc3RydWN0IHBmaWxfaGVhZCAqcGhfaW5ldCA9IHBmaWxfaGVhZF9nZXQoUEZJTF9UWVBF X0FGLCBBRl9JTkVUKTsKICMgIGlmZGVmIFVTRV9JTkVUNgogICAgICAgICBzdHJ1Y3QgcGZp bF9oZWFkICpwaF9pbmV0NiA9IHBmaWxfaGVhZF9nZXQoUEZJTF9UWVBFX0FGLCBBRl9JTkVU Nik7CkBAIC01NDksOCArNTgwLDkgQEAKIAlmcl9ydW5uaW5nID0gMDsKIAogIyBpZmRlZiBO RVRCU0RfUEYKLSMgIGlmICgoX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNDIwMDAwMCkgfHwg KF9fRnJlZUJTRF92ZXJzaW9uID49IDUwMDAxMSkpCi0jICAgaWYgX19OZXRCU0RfVmVyc2lv bl9fID49IDEwNTExMDAwMAorIyAgaWYgKChfX05ldEJTRF9WZXJzaW9uX18gPj0gMTA0MjAw MDAwKSB8fCAoX19GcmVlQlNEX3ZlcnNpb24gPj0gNTAwMDExKSB8fCBcCisgICAgICAgKF9f RHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKSkKKyMgICBpZiAoX19OZXRCU0RfVmVyc2lv bl9fID49IDEwNTExMDAwMCkgfHwgKF9fRHJhZ29uRmx5X3ZlcnNpb24gPj0gMTAwMDAwKQog CWlmIChwaF9pbmV0ICE9IE5VTEwpCiAJCWVycm9yID0gcGZpbF9yZW1vdmVfaG9vaygodm9p ZCAqKWZyX2NoZWNrX3dyYXBwZXIsIE5VTEwsCiAJCQkJCSBQRklMX0lOfFBGSUxfT1VULCBw aF9pbmV0KTsKQEAgLTU2OCw3ICs2MDAsNyBAQAogCXBmaWxfcmVtb3ZlX2hvb2soKHZvaWQg Kilmcl9jaGVjaywgUEZJTF9JTnxQRklMX09VVCk7CiAjICBlbmRpZgogIyAgaWZkZWYgVVNF X0lORVQ2Ci0jICAgaWYgX19OZXRCU0RfVmVyc2lvbl9fID49IDEwNTExMDAwMAorIyAgIGlm IChfX05ldEJTRF9WZXJzaW9uX18gPj0gMTA1MTEwMDAwKSB8fCAoX19EcmFnb25GbHlfdmVy c2lvbiA+PSAxMDAwMDApCiAJaWYgKHBoX2luZXQ2ICE9IE5VTEwpCiAJCWVycm9yID0gcGZp bF9yZW1vdmVfaG9vaygodm9pZCAqKWZyX2NoZWNrX3dyYXBwZXI2LCBOVUxMLAogCQkJCQkg UEZJTF9JTnxQRklMX09VVCwgcGhfaW5ldDYpOwpJbmRleDogY29udHJpYi9pcGZpbHRlci9u ZXRpbmV0L2lwX2ZpbC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2RjdnMvc3Jj L3N5cy9jb250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmgsdgpyZXRyaWV2aW5nIHJl dmlzaW9uIDEuNApkaWZmIC11IC1yMS40IGlwX2ZpbC5oCi0tLSBjb250cmliL2lwZmlsdGVy L25ldGluZXQvaXBfZmlsLmgJMjcgQXVnIDIwMDMgMTE6MDI6MTQgLTAwMDAJMS40CisrKyBj b250cmliL2lwZmlsdGVyL25ldGluZXQvaXBfZmlsLmgJMTUgTm92IDIwMDMgMDY6MTE6MTEg LTAwMDAKQEAgLTQ4OCw4ICs0ODgsOCBAQAogICogd2l0aCB0aGlzIQogICovCiAjaWYgKGRl ZmluZWQoTmV0QlNEKSAmJiAoTmV0QlNEID4gMTk5NjA5KSAmJiAoTmV0QlNEIDw9IDE5OTEw MTEpKSB8fCBcCi0gICAgKGRlZmluZWQoTmV0QlNEMV8yKSAmJiBOZXRCU0QxXzIgPiAxKQot IyBpZiAoTmV0QlNEID49IDE5OTkwNSkKKyAgICAoZGVmaW5lZChOZXRCU0QxXzIpICYmIE5l dEJTRDFfMiA+IDEpIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkKKyMgaWYg KE5ldEJTRCA+PSAxOTk5MDUpIHx8IChfX0RyYWdvbkZseV92ZXJzaW9uID49IDEwMDAwMCkK ICMgIGRlZmluZSBQRklMX0hPT0tTCiAjIGVuZGlmCiAjIGlmZGVmIFBGSUxfSE9PS1MKSW5k ZXg6IGkzODYvY29uZi9HRU5FUklDCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9ob21lL2Rj dnMvc3JjL3N5cy9pMzg2L2NvbmYvR0VORVJJQyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4z CmRpZmYgLXUgLXIxLjMgR0VORVJJQwotLS0gaTM4Ni9jb25mL0dFTkVSSUMJMiBPY3QgMjAw MyAxOTo0NTo0MCAtMDAwMAkxLjMKKysrIGkzODYvY29uZi9HRU5FUklDCTE0IE5vdiAyMDAz IDE2OjIwOjUxIC0wMDAwCkBAIC0yNTUsNiArMjU1LDggQEAKICMgVGhlIGBicGYnIHBzZXVk by1kZXZpY2UgZW5hYmxlcyB0aGUgQmVya2VsZXkgUGFja2V0IEZpbHRlci4KICMgQmUgYXdh cmUgb2YgdGhlIGFkbWluaXN0cmF0aXZlIGNvbnNlcXVlbmNlcyBvZiBlbmFibGluZyB0aGlz IQogcHNldWRvLWRldmljZQlicGYJCSNCZXJrZWxleSBwYWNrZXQgZmlsdGVyCitvcHRpb25z CQlQRklMX0hPT0tTCSNQYWNrZXRmaWx0ZXIgaG9va3MKK29wdGlvbnMJCUlQRklMVEVSCiAK ICMgVVNCIHN1cHBvcnQKIGRldmljZQkJdWhjaQkJIyBVSENJIFBDSS0+VVNCIGludGVyZmFj ZQpJbmRleDogbmV0aW5ldC9pcF9pbnB1dC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNTIGZpbGU6IC9o b21lL2RjdnMvc3JjL3N5cy9uZXRpbmV0L2lwX2lucHV0LmMsdgpyZXRyaWV2aW5nIHJldmlz aW9uIDEuOApkaWZmIC11IC1yMS44IGlwX2lucHV0LmMKLS0tIG5ldGluZXQvaXBfaW5wdXQu Ywk4IE5vdiAyMDAzIDA3OjU3OjUxIC0wMDAwCTEuOAorKysgbmV0aW5ldC9pcF9pbnB1dC5j CTE0IE5vdiAyMDAzIDE1OjQwOjI3IC0wMDAwCkBAIC00NCw2ICs0NCw3IEBACiAjaW5jbHVk ZSAib3B0X2lwZmlsdGVyLmgiCiAjaW5jbHVkZSAib3B0X2lwc3RlYWx0aC5oIgogI2luY2x1 ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUgIm9wdF9wZmlsX2hvb2tzLmgiCiAjaW5jbHVk ZSAib3B0X3JhbmRvbV9pcF9pZC5oIgogCiAjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CkBAIC02 Miw2ICs2Myw5IEBACiAjaW5jbHVkZSA8bmV0L2lmX3R5cGVzLmg+CiAjaW5jbHVkZSA8bmV0 L2lmX3Zhci5oPgogI2luY2x1ZGUgPG5ldC9pZl9kbC5oPgorI2lmZGVmIFBGSUxfSE9PS1MK KyNpbmNsdWRlIDxuZXQvcGZpbC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+ CiAjaW5jbHVkZSA8bmV0L25ldGlzci5oPgogI2luY2x1ZGUgPG5ldC9pbnRycS5oPgpAQCAt MjA3LDcgKzIxMSw5IEBACiAvKiBEdW1teW5ldCBob29rcyAqLwogaXBfZG5faW9fdCAqaXBf ZG5faW9fcHRyOwogCi1pbnQgKCpmcl9jaGVja3ApIChzdHJ1Y3QgaXAgKiwgaW50LCBzdHJ1 Y3QgaWZuZXQgKiwgaW50LCBzdHJ1Y3QgbWJ1ZiAqKikgPSBOVUxMOworI2lmZGVmIFBGSUxf SE9PS1MKK3N0cnVjdCBwZmlsX2hlYWQgaW5ldF9wZmlsX2hvb2s7CisjZW5kaWYgLyogUEZJ TF9IT09LUyAqLwogCiAvKgogICogWFhYIHRoaXMgaXMgdWdseSAtLSB0aGUgZm9sbG93aW5n IHR3byBnbG9iYWwgdmFyaWFibGVzIGFyZQpAQCAtMjYyLDYgKzI2OCwxNCBAQAogCQkgICAg cHItPnByX3Byb3RvY29sICYmIHByLT5wcl9wcm90b2NvbCAhPSBJUFBST1RPX1JBVykKIAkJ CWlwX3Byb3RveFtwci0+cHJfcHJvdG9jb2xdID0gcHIgLSBpbmV0c3c7CiAKKyNpZmRlZiBQ RklMX0hPT0tTCisJaW5ldF9wZmlsX2hvb2sucGhfdHlwZSA9IFBGSUxfVFlQRV9BRjsKKwlp bmV0X3BmaWxfaG9vay5waF9hZiA9IEFGX0lORVQ7CisJaWYgKChpID0gcGZpbF9oZWFkX3Jl Z2lzdGVyKCZpbmV0X3BmaWxfaG9vaykpICE9IDApCisJCXByaW50ZigiJXM6IFdBUk5JTkc6 IHVuYWJsZSB0byByZWdpc3RlciBwZmlsIGhvb2ssICIKKwkJCSJlcnJvciAlZFxuIiwgX19m dW5jX18sIGkpOworI2VuZGlmIC8qIFBGSUxfSE9PS1MgKi8KKwogCWZvciAoaSA9IDA7IGkg PCBJUFJFQVNTX05IQVNIOyBpKyspCiAJICAgIGlwcVtpXS5uZXh0ID0gaXBxW2ldLnByZXYg PSAmaXBxW2ldOwogCkBAIC0zMDAsNiArMzE0LDEwIEBACiAJc3RydWN0IGluX2FkZHIgcGt0 X2RzdDsKIAl1X2ludDMyX3QgZGl2ZXJ0X2luZm8gPSAwOwkJLyogcGFja2V0IGRpdmVydC90 ZWUgaW5mbyAqLwogCXN0cnVjdCBpcF9md19hcmdzIGFyZ3M7CisJaW50IHNyY3J0ID0gMDsJ CQkJLyogZm9yd2FyZCAoYnkgUEZJTF9IT09LUykgKi8KKyNpZmRlZiBQRklMX0hPT0tTCisJ c3RydWN0IGluX2FkZHIgb2RzdDsJCQkvKiBvcmlnaW5hbCBkc3QgYWRkcmVzcyhOQVQpICov CisjZW5kaWYKICNpZmRlZiBGQVNUX0lQU0VDCiAJc3RydWN0IG1fdGFnICptdGFnOwogCXN0 cnVjdCB0ZGJfaWRlbnQgKnRkYmk7CkBAIC00NDYsMTcgKzQ2NCwyMyBAQAogIAkgKi8KIAog aXBoYWNrOgorI2lmZGVmIFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNrIGlmIHdlIHdhbnQg dG8gYWxsb3cgdGhpcyBwYWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAqIENvbnNpZGVyIGl0 IHRvIGJlIGJhZCBpZiBub3QuCi0JICovCi0JaWYgKGZyX2NoZWNrcCkgewotCQlzdHJ1Y3QJ bWJ1ZgkqbTEgPSBtOwotCi0JCWlmICgoKmZyX2NoZWNrcCkoaXAsIGhsZW4sIG0tPm1fcGt0 aGRyLnJjdmlmLCAwLCAmbTEpIHx8ICFtMSkKLQkJCXJldHVybjsKLQkJaXAgPSBtdG9kKG0g PSBtMSwgc3RydWN0IGlwICopOwotCX0KKwkgKiBSdW4gdGhyb3VnaCBsaXN0IG9mIGhvb2tz IGZvciBpbnB1dCBwYWNrZXRzLgorCSAqCisJICogTkI6IEJld2FyZSBvZiB0aGUgZGVzdGlu YXRpb24gYWRkcmVzcyBjaGFuZ2luZyAoZS5nLgorCSAqICAgICBieSBOQVQgcmV3cml0aW5n KS4gV2hlbiB0aGlzIGhhcHBlbnMsIHRlbGwKKwkgKiAgICAgaXBfZm9yd2FyZCB0byBkbyB0 aGUgcmlnaHQgdGhpbmcuCisJICovCisJb2RzdCA9IGlwLT5pcF9kc3Q7CisJaWYgKHBmaWxf cnVuX2hvb2tzKCZpbmV0X3BmaWxfaG9vaywgJm0sIG0tPm1fcGt0aGRyLnJjdmlmLAorCSAg ICBQRklMX0lOKSAhPSAwKQorCSAgICAJcmV0dXJuOworCWlmIChtID09IE5VTEwpCQkJLyog Y29uc3VtZWQgYnkgZmlsdGVyICovCisJCXJldHVybjsKKwlpcCA9IG10b2QobSwgc3RydWN0 IGlwICopOworCXNyY3J0ID0gKG9kc3Quc19hZGRyICE9IGlwLT5pcF9kc3Quc19hZGRyKTsK KyNlbmRpZiAvKiBQRklMX0hPT0tTICovCiAJaWYgKGZ3X2VuYWJsZSAmJiBJUEZXX0xPQURF RCkgewogCQkvKgogCQkgKiBJZiB3ZSd2ZSBiZWVuIGZvcndhcmRlZCBmcm9tIHRoZSBvdXRw dXQgc2lkZSwgdGhlbgpAQCAtNjkwLDcgKzcxNCw3IEBACiAJCQlnb3RvIGJhZDsKIAkJfQog I2VuZGlmIC8qIEZBU1RfSVBTRUMgKi8KLQkJaXBfZm9yd2FyZChtLCAwLCBhcmdzLm5leHRf aG9wKTsKKwkJaXBfZm9yd2FyZChtLCBzcmNydCwgYXJncy5uZXh0X2hvcCk7CiAJfQogCXJl dHVybjsKIApJbmRleDogbmV0aW5ldC9pcF9vdXRwdXQuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldC9pcF9vdXRwdXQuYyx2CnJldHJpZXZp bmcgcmV2aXNpb24gMS44CmRpZmYgLXUgLXIxLjggaXBfb3V0cHV0LmMKLS0tIG5ldGluZXQv aXBfb3V0cHV0LmMJMjQgQXVnIDIwMDMgMjM6MDc6MDcgLTAwMDAJMS44CisrKyBuZXRpbmV0 L2lwX291dHB1dC5jCTE0IE5vdiAyMDAzIDE1OjM1OjAyIC0wMDAwCkBAIC00Miw2ICs0Miw3 IEBACiAjaW5jbHVkZSAib3B0X2lwZGl2ZXJ0LmgiCiAjaW5jbHVkZSAib3B0X2lwZmlsdGVy LmgiCiAjaW5jbHVkZSAib3B0X2lwc2VjLmgiCisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3Mu aCIKICNpbmNsdWRlICJvcHRfcmFuZG9tX2lwX2lkLmgiCiAjaW5jbHVkZSAib3B0X21idWZf c3RyZXNzX3Rlc3QuaCIKIApAQCAtNTcsNiArNTgsOSBAQAogI2luY2x1ZGUgPHN5cy9zeXNj dGwuaD4KIAogI2luY2x1ZGUgPG5ldC9pZi5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNs dWRlIDxuZXQvcGZpbC5oPgorI2VuZGlmCiAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+CiAKICNp bmNsdWRlIDxuZXRpbmV0L2luLmg+CkBAIC03MjIsMTMgKzcyNiwxNSBAQAogCSAqIC0gV3Jh cDogZmFrZSBwYWNrZXQncyBhZGRyL3BvcnQgPHVuaW1wbC4+CiAJICogLSBFbmNhcHN1bGF0 ZTogcHV0IGl0IGluIGFub3RoZXIgSVAgYW5kIHNlbmQgb3V0LiA8dW5pbXAuPgogCSAqLyAK LQlpZiAoZnJfY2hlY2twKSB7Ci0JCXN0cnVjdCAgbWJ1ZiAgICAqbTEgPSBtOwotCi0JCWlm ICgoZXJyb3IgPSAoKmZyX2NoZWNrcCkoaXAsIGhsZW4sIGlmcCwgMSwgJm0xKSkgfHwgIW0x KQotCQkJZ290byBkb25lOwotCQlpcCA9IG10b2QobSA9IG0xLCBzdHJ1Y3QgaXAgKik7Ci0J fQorI2lmZGVmIFBGSUxfSE9PS1MKKwkvKgorCSAqIFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9v a3MgZm9yIG91dHB1dCBwYWNrZXRzLgorCSAqLworCWVycm9yID0gcGZpbF9ydW5faG9va3Mo JmluZXRfcGZpbF9ob29rLCAmbSwgaWZwLCBQRklMX09VVCk7CisJaWYgKGVycm9yICE9IDAg fHwgbSA9PSBOVUxMKQorCQlnb3RvIGRvbmU7CisJaXAgPSBtdG9kKG0sIHN0cnVjdCBpcCAq KTsKKyNlbmRpZiAvKiBQRklMX0hPT0tTICovCiAKIAkvKgogCSAqIENoZWNrIHdpdGggdGhl IGZpcmV3YWxsLi4uCkluZGV4OiBuZXRpbmV0L2lwX3Zhci5oCj09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT IGZpbGU6IC9ob21lL2RjdnMvc3JjL3N5cy9uZXRpbmV0L2lwX3Zhci5oLHYKcmV0cmlldmlu ZyByZXZpc2lvbiAxLjQKZGlmZiAtdSAtcjEuNCBpcF92YXIuaAotLS0gbmV0aW5ldC9pcF92 YXIuaAk4IE5vdiAyMDAzIDA3OjU3OjUxIC0wMDAwCTEuNAorKysgbmV0aW5ldC9pcF92YXIu aAkxNCBOb3YgMjAwMyAxNTozNjoyMiAtMDAwMApAQCAtMjA0LDYgKzIwNCwxMCBAQAogZXh0 ZXJuIHN0cnVjdCBwcl91c3JyZXFzIGRpdl91c3JyZXFzOwogI2VuZGlmCiAKKyNpZmRlZiBQ RklMX0hPT0tTCitleHRlcm4Jc3RydWN0IHBmaWxfaGVhZCBpbmV0X3BmaWxfaG9vazsKKyNl bmRpZgorCiB2b2lkCWluX2RlbGF5ZWRfY2tzdW0oc3RydWN0IG1idWYgKm0pOwogCiAjZW5k aWYgLyogX0tFUk5FTCAqLwpJbmRleDogbmV0aW5ldDYvaXA2X2ZvcndhcmQuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09ClJDUyBmaWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X2Zvcndh cmQuYyx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS41CmRpZmYgLXUgLXIxLjUgaXA2X2Zvcndh cmQuYwotLS0gbmV0aW5ldDYvaXA2X2ZvcndhcmQuYwkyMyBBdWcgMjAwMyAxMTowMjo0NSAt MDAwMAkxLjUKKysrIG5ldGluZXQ2L2lwNl9mb3J3YXJkLmMJMTUgTm92IDIwMDMgMDU6NTA6 NDUgLTAwMDAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJvcHRfaW5ldC5oIgogI2lu Y2x1ZGUgIm9wdF9pbmV0Ni5oIgogI2luY2x1ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUg Im9wdF9wZmlsX2hvb2tzLmgiCiAKICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRl IDxzeXMvc3lzdG0uaD4KQEAgLTUwLDYgKzUxLDkgQEAKIAogI2luY2x1ZGUgPG5ldC9pZi5o PgogI2luY2x1ZGUgPG5ldC9yb3V0ZS5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNsdWRl IDxuZXQvcGZpbC5oPgorI2VuZGlmCiAKICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiAjaW5j bHVkZSA8bmV0aW5ldC9pbl92YXIuaD4KQEAgLTgzLDggKzg3LDYgQEAKIAogI2luY2x1ZGUg PG5ldC9uZXRfb3NkZXAuaD4KIAotZXh0ZXJuIGludCAoKmZyX2NoZWNrcCkgKHN0cnVjdCBp cCAqLCBpbnQsIHN0cnVjdCBpZm5ldCAqLCBpbnQsIHN0cnVjdCBtYnVmICoqKTsKLQogc3Ry dWN0CXJvdXRlX2luNiBpcDZfZm9yd2FyZF9ydDsKIAogLyoKQEAgLTUxNSwyMSArNTE3LDE3 IEBACiAJaW42X2NsZWFyc2NvcGUoJmlwNi0+aXA2X2RzdCk7CiAjZW5kaWYKIAorI2lmZGVm IFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNrIGlmIHdlIHdhbnQgdG8gYWxsb3cgdGhpcyBw YWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAqIENvbnNpZGVyIGl0IHRvIGJlIGJhZCBpZiBu b3QuCisJICogUnVuIHRocm91Z2ggbGlzdCBvZiBob29rcyBmb3Igb3V0cHV0IHBhY2tldHMu CiAJICovCi0JaWYgKGZyX2NoZWNrcCkgewotCQlzdHJ1Y3QJbWJ1ZgkqbTEgPSBtOwotCi0J CWlmICgoKmZyX2NoZWNrcCkoKHN0cnVjdCBpcCAqKWlwNiwgc2l6ZW9mKCppcDYpLAotCQkJ CSBydC0+cnRfaWZwLCAxLCAmbTEpICE9IDApCi0JCQlnb3RvIGZyZWVjb3B5OwotCQltID0g bTE7Ci0JCWlmIChtID09IE5VTEwpCi0JCQlnb3RvIGZyZWVjb3B5OwotCQlpcDYgPSBtdG9k KG0sIHN0cnVjdCBpcDZfaGRyICopOwotCX0KKwllcnJvciA9IHBmaWxfcnVuX2hvb2tzKCZp bmV0Nl9wZmlsX2hvb2ssICZtLCBydC0+cnRfaWZwLCBQRklMX09VVCk7CisJaWYgKGVycm9y ICE9IDApCisJCWdvdG8gc2VuZGVycjsKKwlpZiAobSA9PSBOVUxMKQorCQlnb3RvIGZyZWVj b3B5OworCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7CisjZW5kaWYgLyogUEZJ TF9IT09LUyAqLwogCiAJZXJyb3IgPSBuZDZfb3V0cHV0KHJ0LT5ydF9pZnAsIG9yaWdpZnAs IG0sIGRzdCwgcnQpOwogCWlmIChlcnJvcikgewpAQCAtNTQ1LDYgKzU0Myw5IEBACiAJCQkJ Z290byBmcmVlY29weTsKIAkJfQogCX0KKyNpZmRlZiBQRklMX0hPT0tTCitzZW5kZXJyOgor I2VuZGlmCiAJaWYgKG1jb3B5ID09IE5VTEwpCiAJCXJldHVybjsKIAlzd2l0Y2ggKGVycm9y KSB7CkluZGV4OiBuZXRpbmV0Ni9pcDZfaW5wdXQuYwo9PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl OiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X2lucHV0LmMsdgpyZXRyaWV2aW5n IHJldmlzaW9uIDEuMTAKZGlmZiAtdSAtcjEuMTAgaXA2X2lucHV0LmMKLS0tIG5ldGluZXQ2 L2lwNl9pbnB1dC5jCTggTm92IDIwMDMgMDc6NTc6NTEgLTAwMDAJMS4xMAorKysgbmV0aW5l dDYvaXA2X2lucHV0LmMJMTUgTm92IDIwMDMgMDU6NTk6MDcgLTAwMDAKQEAgLTcwLDYgKzcw LDcgQEAKICNpbmNsdWRlICJvcHRfaW5ldC5oIgogI2luY2x1ZGUgIm9wdF9pbmV0Ni5oIgog I2luY2x1ZGUgIm9wdF9pcHNlYy5oIgorI2luY2x1ZGUgIm9wdF9wZmlsX2hvb2tzLmgiCiAK ICNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDxzeXMvc3lzdG0uaD4KQEAgLTkw LDYgKzkxLDkgQEAKICNpbmNsdWRlIDxuZXQvaWZfZGwuaD4KICNpbmNsdWRlIDxuZXQvcm91 dGUuaD4KICNpbmNsdWRlIDxuZXQvbmV0aXNyLmg+CisjaWZkZWYgUEZJTF9IT09LUworI2lu Y2x1ZGUgPG5ldC9wZmlsLmg+CisjZW5kaWYKIAogI2luY2x1ZGUgPG5ldGluZXQvaW4uaD4K ICNpbmNsdWRlIDxuZXRpbmV0L2luX3N5c3RtLmg+CkBAIC0xMjgsOCArMTMyLDYgQEAKIAog I2luY2x1ZGUgPG5ldC9uZXRfb3NkZXAuaD4KIAotZXh0ZXJuIGludCAoKmZyX2NoZWNrcCkg KHN0cnVjdCBpcCAqLCBpbnQsIHN0cnVjdCBpZm5ldCAqLCBpbnQsIHN0cnVjdCBtYnVmICoq KTsKLQogZXh0ZXJuIHN0cnVjdCBkb21haW4gaW5ldDZkb21haW47CiBleHRlcm4gc3RydWN0 IGlwNnByb3Rvc3cgaW5ldDZzd1tdOwogCkBAIC0xNDQsNiArMTQ2LDEwIEBACiAKIGludCBp cDZfb3Vyc19jaGVja19hbGdvcml0aG07CiAKKyNpZmRlZiBQRklMX0hPT0tTCitzdHJ1Y3Qg cGZpbF9oZWFkIGluZXQ2X3BmaWxfaG9vazsKKyNlbmRpZgorCiAvKiBmaXJld2FsbCBob29r cyAqLwogaXA2X2Z3X2Noa190ICppcDZfZndfY2hrX3B0cjsKIGlwNl9md19jdGxfdCAqaXA2 X2Z3X2N0bF9wdHI7CkBAIC0xODMsNiArMTg5LDE1IEBACiAJCWlmIChwci0+cHJfZG9tYWlu LT5kb21fZmFtaWx5ID09IFBGX0lORVQ2ICYmCiAJCSAgICBwci0+cHJfcHJvdG9jb2wgJiYg cHItPnByX3Byb3RvY29sICE9IElQUFJPVE9fUkFXKQogCQkJaXA2X3Byb3RveFtwci0+cHJf cHJvdG9jb2xdID0gcHIgLSBpbmV0NnN3OworCisjaWZkZWYgUEZJTF9IT09LUworCWluZXQ2 X3BmaWxfaG9vay5waF90eXBlID0gUEZJTF9UWVBFX0FGOworCWluZXQ2X3BmaWxfaG9vay5w aF9hZiA9IEFGX0lORVQ2OworCWlmICgoaSA9IHBmaWxfaGVhZF9yZWdpc3RlcigmaW5ldDZf cGZpbF9ob29rKSkgIT0gMCkKKwkJcHJpbnRmKCIlczogV0FSTklORzogdW5hYmxlIHRvIHJl Z2lzdGVyIHBmaWwgaG9vaywgIgorCQkJImVycm9yICVkXG4iLCBfX2Z1bmNfXywgaSk7Cisj ZW5kaWYgLyogUEZJTF9IT09LUyAqLworCiAJbmV0aXNyX3JlZ2lzdGVyKE5FVElTUl9JUFY2 LCBjcHUwX3BvcnRmbiwgaXA2X2lucHV0KTsKIAluZDZfaW5pdCgpOwogCWZyYWc2X2luaXQo KTsKQEAgLTIzOCw2ICsyNTMsMTAgQEAKIAl1X2ludDMyX3QgcnRhbGVydCA9IH4wOwogCWlu dCBueHQsIG91cnMgPSAwOwogCXN0cnVjdCBpZm5ldCAqZGVsaXZlcmlmcCA9IE5VTEw7Cisj aWZkZWYgUEZJTF9IT09LUworCXN0cnVjdCBpbjZfYWRkciBvZHN0OworI2VuZGlmCisJaW50 IHNyY3J0ID0gMDsKIAogI2lmZGVmIElQU0VDCiAJLyoKQEAgLTMzMCwyMSArMzQ5LDIyIEBA CiAJCWdvdG8gYmFkOwogCX0KIAorI2lmZGVmIFBGSUxfSE9PS1MKIAkvKgotCSAqIENoZWNr IGlmIHdlIHdhbnQgdG8gYWxsb3cgdGhpcyBwYWNrZXQgdG8gYmUgcHJvY2Vzc2VkLgotCSAq IENvbnNpZGVyIGl0IHRvIGJlIGJhZCBpZiBub3QuCi0JICovCi0JaWYgKGZyX2NoZWNrcCkg ewotCQlzdHJ1Y3QJbWJ1ZgkqbTEgPSBtOwotCi0JCWlmICgoKmZyX2NoZWNrcCkoKHN0cnVj dCBpcCAqKWlwNiwgc2l6ZW9mKCppcDYpLAotCQkJCSBtLT5tX3BrdGhkci5yY3ZpZiwgMCwg Jm0xKSAhPSAwKQotCQkJcmV0dXJuOwotCQltID0gbTE7Ci0JCWlmIChtID09IE5VTEwpCi0J CQlyZXR1cm47Ci0JCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7Ci0JfQorCSAq IFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9va3MgZm9yIGlucHV0IHBhY2tldHMuCisJICoKKwkg KiBOQjogQmV3YXJlIG9mIHRoZSBkZXN0aW5hdGlvbiBhZGRyZXNzIGNoYW5naW5nCisJICog ICAgIChlLmcuIGJ5IE5BVCByZXdyaXRpbmcpLiBXaGVuIHRoaXMgaGFwcGVucywKKwkgKiAg ICAgdGVsbCBpcDZfZm9yd2FyZCB0byBkbyB0aGUgcmlnaHQgdGhpbmcuCisJICovCisJb2Rz dCA9IGlwNi0+aXA2X2RzdDsKKwlpZiAocGZpbF9ydW5faG9va3MoJmluZXQ2X3BmaWxfaG9v aywgJm0sIG0tPm1fcGt0aGRyLnJjdmlmLCBQRklMX0lOKSkKKwkJcmV0dXJuOworCWlmICht ID09IE5VTEwpCQkJLyogY29uc3VtZWQgYnkgZmlsdGVyICovCisJCXJldHVybjsKKwlpcDYg PSBtdG9kKG0sIHN0cnVjdCBpcDZfaGRyICopOworCXNyY3J0ID0gIUlONl9BUkVfQUREUl9F UVVBTCgmb2RzdCwgJmlwNi0+aXA2X2RzdCk7CisjZW5kaWYgLyogUEZJTF9IT09LUyAqLwog CiAJaXA2c3RhdC5pcDZzX254dGhpc3RbaXA2LT5pcDZfbnh0XSsrOwogCkBAIC03NDQsNyAr NzY0LDcgQEAKIAkJCXJldHVybjsKIAkJfQogCX0gZWxzZSBpZiAoIW91cnMpIHsKLQkJaXA2 X2ZvcndhcmQobSwgMCk7CisJCWlwNl9mb3J3YXJkKG0sIHNyY3J0KTsKIAkJcmV0dXJuOwog CX0JCiAKSW5kZXg6IG5ldGluZXQ2L2lwNl9vdXRwdXQuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBm aWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X291dHB1dC5jLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjgKZGlmZiAtdSAtcjEuOCBpcDZfb3V0cHV0LmMKLS0tIG5ldGlu ZXQ2L2lwNl9vdXRwdXQuYwkyMyBBdWcgMjAwMyAxMTowMjo0NSAtMDAwMAkxLjgKKysrIG5l dGluZXQ2L2lwNl9vdXRwdXQuYwkxNSBOb3YgMjAwMyAwNTo0ODo0NSAtMDAwMApAQCAtNzAs NiArNzAsNyBAQAogI2luY2x1ZGUgIm9wdF9pbmV0LmgiCiAjaW5jbHVkZSAib3B0X2luZXQ2 LmgiCiAjaW5jbHVkZSAib3B0X2lwc2VjLmgiCisjaW5jbHVkZSAib3B0X3BmaWxfaG9va3Mu aCIKIAogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHN5cy9tYWxsb2MuaD4K QEAgLTg0LDYgKzg1LDkgQEAKIAogI2luY2x1ZGUgPG5ldC9pZi5oPgogI2luY2x1ZGUgPG5l dC9yb3V0ZS5oPgorI2lmZGVmIFBGSUxfSE9PS1MKKyNpbmNsdWRlIDxuZXQvcGZpbC5oPgor I2VuZGlmCiAKICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CiAjaW5jbHVkZSA8bmV0aW5ldC9p bl92YXIuaD4KQEAgLTExMiw5ICsxMTYsNiBAQAogCiAjaW5jbHVkZSA8bmV0L25ldF9vc2Rl cC5oPgogCi1zdHJ1Y3QgaXA7Ci1leHRlcm4gaW50ICgqZnJfY2hlY2twKSAoc3RydWN0IGlw ICosIGludCwgc3RydWN0IGlmbmV0ICosIGludCwgc3RydWN0IG1idWYgKiopOwotCiBzdGF0 aWMgTUFMTE9DX0RFRklORShNX0lQTU9QVFMsICJpcDZfbW9wdGlvbnMiLCAiaW50ZXJuZXQg bXVsdGljYXN0IG9wdGlvbnMiKTsKIAogc3RydWN0IGlwNl9leHRoZHJzIHsKQEAgLTkyMSwy MSArOTIyLDE1IEBACiAJCW0tPm1fcGt0aGRyLnJjdmlmID0gTlVMTDsKIAl9CiAKKyNpZmRl ZiBQRklMX0hPT0tTCiAJLyoKLQkgKiBDaGVjayBpZiB3ZSB3YW50IHRvIGFsbG93IHRoaXMg cGFja2V0IHRvIGJlIHByb2Nlc3NlZC4KLQkgKiBDb25zaWRlciBpdCB0byBiZSBiYWQgaWYg bm90LgorCSAqIFJ1biB0aHJvdWdoIGxpc3Qgb2YgaG9va3MgZm9yIG91dHB1dCBwYWNrZXRz LgogCSAqLwotCWlmIChmcl9jaGVja3ApIHsKLQkJc3RydWN0CW1idWYJKm0xID0gbTsKLQot CQlpZiAoKCpmcl9jaGVja3ApKChzdHJ1Y3QgaXAgKilpcDYsIHNpemVvZigqaXA2KSwgaWZw LCAxLCAmbTEpKQotCQkJZ290byBkb25lOwotCQltID0gbTE7Ci0JCWlmIChtID09IE5VTEwp Ci0JCQlnb3RvIGRvbmU7Ci0JCWlwNiA9IG10b2QobSwgc3RydWN0IGlwNl9oZHIgKik7Ci0J fQotCisJZXJyb3IgPSBwZmlsX3J1bl9ob29rcygmaW5ldDZfcGZpbF9ob29rLCAmbSwgaWZw LCBQRklMX09VVCk7CisJaWYgKGVycm9yICE9IDAgfHwgbSA9PSBOVUxMKQorCQlnb3RvIGRv bmU7CisJaXA2ID0gbXRvZChtLCBzdHJ1Y3QgaXA2X2hkciAqKTsKKyNlbmRpZiAvKiBQRklM X0hPT0tTICovCiAJLyoKIAkgKiBTZW5kIHRoZSBwYWNrZXQgdG8gdGhlIG91dGdvaW5nIGlu dGVyZmFjZS4KIAkgKiBJZiBuZWNlc3NhcnksIGRvIElQdjYgZnJhZ21lbnRhdGlvbiBiZWZv cmUgc2VuZGluZy4KSW5kZXg6IG5ldGluZXQ2L2lwNl92YXIuaAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD UyBmaWxlOiAvaG9tZS9kY3ZzL3NyYy9zeXMvbmV0aW5ldDYvaXA2X3Zhci5oLHYKcmV0cmll dmluZyByZXZpc2lvbiAxLjMKZGlmZiAtdSAtcjEuMyBpcDZfdmFyLmgKLS0tIG5ldGluZXQ2 L2lwNl92YXIuaAkyMyBBdWcgMjAwMyAxMTowMjo0NSAtMDAwMAkxLjMKKysrIG5ldGluZXQ2 L2lwNl92YXIuaAkxNSBOb3YgMjAwMyAwNToxODozMCAtMDAwMApAQCAtMjg2LDYgKzI4Niwx MCBAQAogCiBleHRlcm4gaW50CWlwNl91c2VfdGVtcGFkZHI7IC8qIHdoZXRoZXIgdG8gdXNl IHRlbXBvcmFyeSBhZGRyZXNzZXMuICovCiAKKyNpZmRlZiBQRklMX0hPT0tTCitleHRlcm4g c3RydWN0IHBmaWxfaGVhZCBpbmV0Nl9wZmlsX2hvb2s7CisjZW5kaWYKKwogZXh0ZXJuIHN0 cnVjdAlwcl91c3JyZXFzIHJpcDZfdXNycmVxczsKIHN0cnVjdCBzb2Nrb3B0OwogCg== ------------BE1361F82C6DB270--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200311190930.hAJ9UIGV090979>