From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1KiyAa-0007St-VM for qemu-devel@nongnu.org; Thu, 25 Sep 2008 17:14:41 -0400 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1KiyAY-0007Q0-IT for qemu-devel@nongnu.org; Thu, 25 Sep 2008 17:14:39 -0400 Received: from [199.232.76.173] (port=36224 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1KiyAY-0007Pw-AM for qemu-devel@nongnu.org; Thu, 25 Sep 2008 17:14:38 -0400 Received: from wf-out-1314.google.com ([209.85.200.175]:58267) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1KiyAX-0005d7-DZ for qemu-devel@nongnu.org; Thu, 25 Sep 2008 17:14:38 -0400 Received: by wf-out-1314.google.com with SMTP id 27so719277wfd.4 for ; Thu, 25 Sep 2008 14:14:36 -0700 (PDT) Message-ID: Date: Fri, 26 Sep 2008 00:14:36 +0300 From: "Blue Swirl" Subject: Re: [Qemu-devel] [5274] Add signed versions of save/load functions In-Reply-To: <48DBF274.5000005@codemonkey.ws> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_659_21404466.1222377276248" References: <48DBEDBC.80400@codemonkey.ws> <48DBF274.5000005@codemonkey.ws> Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Anthony Liguori Cc: qemu-devel@nongnu.org ------=_Part_659_21404466.1222377276248 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Content-Disposition: inline On 9/25/08, Anthony Liguori wrote: > Blue Swirl wrote: > > > Right. I think the patch should be split into three operations: signed > > version addition, int to size_t change and this dangerous type size > > change. Only the first one is obviously correct, which I thought all > > of these changes were. > > > > Thanks for debugging, I'll revert this patch and make new patches for > review. > > > > > > Thanks! I split the patch into three pieces. The signed API patch should be safe, two others need more careful review and testing. ------=_Part_659_21404466.1222377276248 Content-Type: plain/text; name=signed_savevm_api.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fljvtunk Content-Disposition: attachment; filename=signed_savevm_api.diff SW5kZXg6IHFlbXUvaHcvaHcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvaHcuaAkyMDA4 LTA5LTI1IDIwOjE5OjEzLjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9ody5oCTIwMDgtMDkt MjUgMjE6MTE6MDguMDAwMDAwMDAwICswMDAwCkBAIC0xMiwxMSArMTIsMjcgQEAKIHZvaWQgcWVt dV9mY2xvc2UoUUVNVUZpbGUgKmYpOwogdm9pZCBxZW11X3B1dF9idWZmZXIoUUVNVUZpbGUgKmYs IGNvbnN0IHVpbnQ4X3QgKmJ1ZiwgaW50IHNpemUpOwogdm9pZCBxZW11X3B1dF9ieXRlKFFFTVVG aWxlICpmLCBpbnQgdik7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBxZW11X3B1dF91Ynl0ZShRRU1V RmlsZSAqZiwgdW5zaWduZWQgaW50IHYpCit7CisgICAgcWVtdV9wdXRfYnl0ZShmLCAoaW50KXYp OworfQorCisjZGVmaW5lIHFlbXVfcHV0X3NieXRlIHFlbXVfcHV0X2J5dGUKKwogdm9pZCBxZW11 X3B1dF9iZTE2KFFFTVVGaWxlICpmLCB1bnNpZ25lZCBpbnQgdik7CiB2b2lkIHFlbXVfcHV0X2Jl MzIoUUVNVUZpbGUgKmYsIHVuc2lnbmVkIGludCB2KTsKIHZvaWQgcWVtdV9wdXRfYmU2NChRRU1V RmlsZSAqZiwgdWludDY0X3Qgdik7CiBpbnQgcWVtdV9nZXRfYnVmZmVyKFFFTVVGaWxlICpmLCB1 aW50OF90ICpidWYsIGludCBzaXplKTsKIGludCBxZW11X2dldF9ieXRlKFFFTVVGaWxlICpmKTsK Kworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcWVtdV9nZXRfdWJ5dGUoUUVNVUZpbGUgKmYp Cit7CisgICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpcWVtdV9nZXRfYnl0ZShmKTsKK30KKworI2Rl ZmluZSBxZW11X2dldF9zYnl0ZSBxZW11X2dldF9ieXRlCisKIHVuc2lnbmVkIGludCBxZW11X2dl dF9iZTE2KFFFTVVGaWxlICpmKTsKIHVuc2lnbmVkIGludCBxZW11X2dldF9iZTMyKFFFTVVGaWxl ICpmKTsKIHVpbnQ2NF90IHFlbXVfZ2V0X2JlNjQoUUVNVUZpbGUgKmYpOwpAQCAtNjEsMTcgKzc3 LDEwNiBAQAogICAgICpwdiA9IHFlbXVfZ2V0X2J5dGUoZik7CiB9CiAKKy8vIFNpZ25lZCB2ZXJz aW9ucyBmb3IgdHlwZSBzYWZldHkKK3N0YXRpYyBpbmxpbmUgdm9pZCBxZW11X3B1dF9zYnVmZmVy KFFFTVVGaWxlICpmLCBjb25zdCBpbnQ4X3QgKmJ1ZiwgaW50IHNpemUpCit7CisgICAgcWVtdV9w dXRfYnVmZmVyKGYsIChjb25zdCB1aW50OF90ICopYnVmLCBzaXplKTsKK30KKworc3RhdGljIGlu bGluZSB2b2lkIHFlbXVfcHV0X3NiZTE2KFFFTVVGaWxlICpmLCBpbnQgdikKK3sKKyAgICBxZW11 X3B1dF9iZTE2KGYsICh1bnNpZ25lZCBpbnQpdik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBx ZW11X3B1dF9zYmUzMihRRU1VRmlsZSAqZiwgaW50IHYpCit7CisgICAgcWVtdV9wdXRfYmUzMihm LCAodW5zaWduZWQgaW50KXYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcWVtdV9wdXRfc2Jl NjQoUUVNVUZpbGUgKmYsIGludDY0X3QgdikKK3sKKyAgICBxZW11X3B1dF9iZTY0KGYsICh1aW50 NjRfdCl2KTsKK30KKworc3RhdGljIGlubGluZSBzaXplX3QgcWVtdV9nZXRfc2J1ZmZlcihRRU1V RmlsZSAqZiwgaW50OF90ICpidWYsIGludCBzaXplKQoreworICAgIHJldHVybiBxZW11X2dldF9i dWZmZXIoZiwgKHVpbnQ4X3QgKilidWYsIHNpemUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBx ZW11X2dldF9zYmUxNihRRU1VRmlsZSAqZikKK3sKKyAgICByZXR1cm4gKGludClxZW11X2dldF9i ZTE2KGYpOworfQorCitzdGF0aWMgaW5saW5lIGludCBxZW11X2dldF9zYmUzMihRRU1VRmlsZSAq ZikKK3sKKyAgICByZXR1cm4gKGludClxZW11X2dldF9iZTMyKGYpOworfQorCitzdGF0aWMgaW5s aW5lIGludDY0X3QgcWVtdV9nZXRfc2JlNjQoUUVNVUZpbGUgKmYpCit7CisgICAgcmV0dXJuIChp bnQ2NF90KXFlbXVfZ2V0X2JlNjQoZik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBxZW11X3B1 dF9zOHMoUUVNVUZpbGUgKmYsIGNvbnN0IGludDhfdCAqcHYpCit7CisgICAgcWVtdV9wdXRfOHMo ZiwgKGNvbnN0IHVpbnQ4X3QgKilwdik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBxZW11X3B1 dF9zYmUxNnMoUUVNVUZpbGUgKmYsIGNvbnN0IGludDE2X3QgKnB2KQoreworICAgIHFlbXVfcHV0 X2JlMTZzKGYsIChjb25zdCB1aW50MTZfdCAqKXB2KTsKK30KKworc3RhdGljIGlubGluZSB2b2lk IHFlbXVfcHV0X3NiZTMycyhRRU1VRmlsZSAqZiwgY29uc3QgaW50MzJfdCAqcHYpCit7CisgICAg cWVtdV9wdXRfYmUzMnMoZiwgKGNvbnN0IHVpbnQzMl90ICopcHYpOworfQorCitzdGF0aWMgaW5s aW5lIHZvaWQgcWVtdV9wdXRfc2JlNjRzKFFFTVVGaWxlICpmLCBjb25zdCBpbnQ2NF90ICpwdikK K3sKKyAgICBxZW11X3B1dF9iZTY0cyhmLCAoY29uc3QgdWludDY0X3QgKilwdik7Cit9CisKK3N0 YXRpYyBpbmxpbmUgdm9pZCBxZW11X2dldF9zOHMoUUVNVUZpbGUgKmYsIGludDhfdCAqcHYpCit7 CisgICAgcWVtdV9nZXRfOHMoZiwgKHVpbnQ4X3QgKilwdik7Cit9CisKK3N0YXRpYyBpbmxpbmUg dm9pZCBxZW11X2dldF9zYmUxNnMoUUVNVUZpbGUgKmYsIGludDE2X3QgKnB2KQoreworICAgIHFl bXVfZ2V0X2JlMTZzKGYsICh1aW50MTZfdCAqKXB2KTsKK30KKworc3RhdGljIGlubGluZSB2b2lk IHFlbXVfZ2V0X3NiZTMycyhRRU1VRmlsZSAqZiwgaW50MzJfdCAqcHYpCit7CisgICAgcWVtdV9n ZXRfYmUzMnMoZiwgKHVpbnQzMl90ICopcHYpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgcWVt dV9nZXRfc2JlNjRzKFFFTVVGaWxlICpmLCBpbnQ2NF90ICpwdikKK3sKKyAgICBxZW11X2dldF9i ZTY0cyhmLCAodWludDY0X3QgKilwdik7Cit9CisKICNpZmRlZiBORUVEX0NQVV9ICiAjaWYgVEFS R0VUX0xPTkdfQklUUyA9PSA2NAogI2RlZmluZSBxZW11X3B1dF9iZXRsIHFlbXVfcHV0X2JlNjQK ICNkZWZpbmUgcWVtdV9nZXRfYmV0bCBxZW11X2dldF9iZTY0CiAjZGVmaW5lIHFlbXVfcHV0X2Jl dGxzIHFlbXVfcHV0X2JlNjRzCiAjZGVmaW5lIHFlbXVfZ2V0X2JldGxzIHFlbXVfZ2V0X2JlNjRz CisjZGVmaW5lIHFlbXVfcHV0X3NiZXRsIHFlbXVfcHV0X3NiZTY0CisjZGVmaW5lIHFlbXVfZ2V0 X3NiZXRsIHFlbXVfZ2V0X3NiZTY0CisjZGVmaW5lIHFlbXVfcHV0X3NiZXRscyBxZW11X3B1dF9z YmU2NHMKKyNkZWZpbmUgcWVtdV9nZXRfc2JldGxzIHFlbXVfZ2V0X3NiZTY0cwogI2Vsc2UKICNk ZWZpbmUgcWVtdV9wdXRfYmV0bCBxZW11X3B1dF9iZTMyCiAjZGVmaW5lIHFlbXVfZ2V0X2JldGwg cWVtdV9nZXRfYmUzMgogI2RlZmluZSBxZW11X3B1dF9iZXRscyBxZW11X3B1dF9iZTMycwogI2Rl ZmluZSBxZW11X2dldF9iZXRscyBxZW11X2dldF9iZTMycworI2RlZmluZSBxZW11X3B1dF9zYmV0 bCBxZW11X3B1dF9zYmUzMgorI2RlZmluZSBxZW11X2dldF9zYmV0bCBxZW11X2dldF9zYmUzMgor I2RlZmluZSBxZW11X3B1dF9zYmV0bHMgcWVtdV9wdXRfc2JlMzJzCisjZGVmaW5lIHFlbXVfZ2V0 X3NiZXRscyBxZW11X2dldF9zYmUzMnMKICNlbmRpZgogI2VuZGlmCiAKSW5kZXg6IHFlbXUvaHcv ZXNwLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L2VzcC5jCTIwMDgtMDktMjUgMjA6MTk6 MTQuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L2VzcC5jCTIwMDgtMDktMjUgMjA6MjU6MTIu MDAwMDAwMDAwICswMDAwCkBAIC01NzgsNyArNTc4LDcgQEAKIAogICAgIHFlbXVfcHV0X2J1ZmZl cihmLCBzLT5ycmVncywgRVNQX1JFR1MpOwogICAgIHFlbXVfcHV0X2J1ZmZlcihmLCBzLT53cmVn cywgRVNQX1JFR1MpOwotICAgIHFlbXVfcHV0X2JlMzJzKGYsICh1aW50MzJfdCAqKSZzLT50aV9z aXplKTsKKyAgICBxZW11X3B1dF9zYmUzMnMoZiwgJnMtPnRpX3NpemUpOwogICAgIHFlbXVfcHV0 X2JlMzJzKGYsICZzLT50aV9ycHRyKTsKICAgICBxZW11X3B1dF9iZTMycyhmLCAmcy0+dGlfd3B0 cik7CiAgICAgcWVtdV9wdXRfYnVmZmVyKGYsIHMtPnRpX2J1ZiwgVElfQlVGU1opOwpAQCAtNjAw LDcgKzYwMCw3IEBACiAKICAgICBxZW11X2dldF9idWZmZXIoZiwgcy0+cnJlZ3MsIEVTUF9SRUdT KTsKICAgICBxZW11X2dldF9idWZmZXIoZiwgcy0+d3JlZ3MsIEVTUF9SRUdTKTsKLSAgICBxZW11 X2dldF9iZTMycyhmLCAodWludDMyX3QgKikmcy0+dGlfc2l6ZSk7CisgICAgcWVtdV9nZXRfc2Jl MzJzKGYsICZzLT50aV9zaXplKTsKICAgICBxZW11X2dldF9iZTMycyhmLCAmcy0+dGlfcnB0cik7 CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPnRpX3dwdHIpOwogICAgIHFlbXVfZ2V0X2J1ZmZl cihmLCBzLT50aV9idWYsIFRJX0JVRlNaKTsKSW5kZXg6IHFlbXUvaHcvcGNuZXQuYwo9PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09Ci0tLSBxZW11Lm9yaWcvaHcvcGNuZXQuYwkyMDA4LTA5LTI1IDIwOjE5OjE0LjAwMDAwMDAw MCArMDAwMAorKysgcWVtdS9ody9wY25ldC5jCTIwMDgtMDktMjUgMjA6MjU6MTIuMDAwMDAwMDAw ICswMDAwCkBAIC0xODc3LDkgKzE4NzcsOSBAQAogICAgIGlmIChzLT5wY2lfZGV2KQogICAgICAg ICBwY2lfZGV2aWNlX3NhdmUocy0+cGNpX2RldiwgZik7CiAKLSAgICBxZW11X3B1dF9iZTMyKGYs IHMtPnJhcCk7Ci0gICAgcWVtdV9wdXRfYmUzMihmLCBzLT5pc3IpOwotICAgIHFlbXVfcHV0X2Jl MzIoZiwgcy0+bG5rc3QpOworICAgIHFlbXVfcHV0X3NiZTMyKGYsIHMtPnJhcCk7CisgICAgcWVt dV9wdXRfc2JlMzIoZiwgcy0+aXNyKTsKKyAgICBxZW11X3B1dF9zYmUzMihmLCBzLT5sbmtzdCk7 CiAgICAgcWVtdV9wdXRfYmUzMnMoZiwgJnMtPnJkcmEpOwogICAgIHFlbXVfcHV0X2JlMzJzKGYs ICZzLT50ZHJhKTsKICAgICBxZW11X3B1dF9idWZmZXIoZiwgcy0+cHJvbSwgMTYpOwpAQCAtMTg4 OCwxMCArMTg4OCwxMCBAQAogICAgIGZvciAoaSA9IDA7IGkgPCAzMjsgaSsrKQogICAgICAgICBx ZW11X3B1dF9iZTE2cyhmLCAmcy0+YmNyW2ldKTsKICAgICBxZW11X3B1dF9iZTY0cyhmLCAmcy0+ dGltZXIpOwotICAgIHFlbXVfcHV0X2JlMzIoZiwgcy0+eG1pdF9wb3MpOwotICAgIHFlbXVfcHV0 X2JlMzIoZiwgcy0+cmVjdl9wb3MpOworICAgIHFlbXVfcHV0X3NiZTMyKGYsIHMtPnhtaXRfcG9z KTsKKyAgICBxZW11X3B1dF9zYmUzMihmLCBzLT5yZWN2X3Bvcyk7CiAgICAgcWVtdV9wdXRfYnVm ZmVyKGYsIHMtPmJ1ZmZlciwgNDA5Nik7Ci0gICAgcWVtdV9wdXRfYmUzMihmLCBzLT50eF9idXN5 KTsKKyAgICBxZW11X3B1dF9zYmUzMihmLCBzLT50eF9idXN5KTsKICAgICBxZW11X3B1dF90aW1l cihmLCBzLT5wb2xsX3RpbWVyKTsKIH0KIApAQCAtMTkwOSw5ICsxOTA5LDkgQEAKICAgICAgICAg ICAgIHJldHVybiByZXQ7CiAgICAgfQogCi0gICAgcWVtdV9nZXRfYmUzMnMoZiwgKHVpbnQzMl90 Kikmcy0+cmFwKTsKLSAgICBxZW11X2dldF9iZTMycyhmLCAodWludDMyX3QqKSZzLT5pc3IpOwot ICAgIHFlbXVfZ2V0X2JlMzJzKGYsICh1aW50MzJfdCopJnMtPmxua3N0KTsKKyAgICBxZW11X2dl dF9zYmUzMnMoZiwgJnMtPnJhcCk7CisgICAgcWVtdV9nZXRfc2JlMzJzKGYsICZzLT5pc3IpOwor ICAgIHFlbXVfZ2V0X3NiZTMycyhmLCAmcy0+bG5rc3QpOwogICAgIHFlbXVfZ2V0X2JlMzJzKGYs ICZzLT5yZHJhKTsKICAgICBxZW11X2dldF9iZTMycyhmLCAmcy0+dGRyYSk7CiAgICAgcWVtdV9n ZXRfYnVmZmVyKGYsIHMtPnByb20sIDE2KTsKQEAgLTE5MjAsMTAgKzE5MjAsMTAgQEAKICAgICBm b3IgKGkgPSAwOyBpIDwgMzI7IGkrKykKICAgICAgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPmJj cltpXSk7CiAgICAgcWVtdV9nZXRfYmU2NHMoZiwgJnMtPnRpbWVyKTsKLSAgICBxZW11X2dldF9i ZTMycyhmLCAodWludDMyX3QqKSZzLT54bWl0X3Bvcyk7Ci0gICAgcWVtdV9nZXRfYmUzMnMoZiwg KHVpbnQzMl90Kikmcy0+cmVjdl9wb3MpOworICAgIHFlbXVfZ2V0X3NiZTMycyhmLCAmcy0+eG1p dF9wb3MpOworICAgIHFlbXVfZ2V0X3NiZTMycyhmLCAmcy0+cmVjdl9wb3MpOwogICAgIHFlbXVf Z2V0X2J1ZmZlcihmLCBzLT5idWZmZXIsIDQwOTYpOwotICAgIHFlbXVfZ2V0X2JlMzJzKGYsICh1 aW50MzJfdCopJnMtPnR4X2J1c3kpOworICAgIHFlbXVfZ2V0X3NiZTMycyhmLCAmcy0+dHhfYnVz eSk7CiAgICAgcWVtdV9nZXRfdGltZXIoZiwgcy0+cG9sbF90aW1lcik7CiAKICAgICByZXR1cm4g MDsKSW5kZXg6IHFlbXUvaHcvcHhhMnh4LmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL2h3L3B4 YTJ4eC5jCTIwMDgtMDktMjUgMjA6MTk6MTQuMDAwMDAwMDAwICswMDAwCisrKyBxZW11L2h3L3B4 YTJ4eC5jCTIwMDgtMDktMjUgMjA6MjU6MTIuMDAwMDAwMDAwICswMDAwCkBAIC0xMjMzLDkgKzEy MzMsOSBAQAogICAgIHFlbXVfcHV0X2JlMzJzKGYsICZzLT5sYXN0X3J5Y3IpOwogICAgIHFlbXVf cHV0X2JlMzJzKGYsICZzLT5sYXN0X3N3Y3IpOwogICAgIHFlbXVfcHV0X2JlMzJzKGYsICZzLT5s YXN0X3J0Y3BpY3IpOwotICAgIHFlbXVfcHV0X2JlNjRzKGYsICh1aW50NjRfdCAqKSAmcy0+bGFz dF9oeik7Ci0gICAgcWVtdV9wdXRfYmU2NHMoZiwgKHVpbnQ2NF90ICopICZzLT5sYXN0X3N3KTsK LSAgICBxZW11X3B1dF9iZTY0cyhmLCAodWludDY0X3QgKikgJnMtPmxhc3RfcGkpOworICAgIHFl bXVfcHV0X3NiZTY0cyhmLCAmcy0+bGFzdF9oeik7CisgICAgcWVtdV9wdXRfc2JlNjRzKGYsICZz LT5sYXN0X3N3KTsKKyAgICBxZW11X3B1dF9zYmU2NHMoZiwgJnMtPmxhc3RfcGkpOwogfQogCiBz dGF0aWMgaW50IHB4YTJ4eF9ydGNfbG9hZChRRU1VRmlsZSAqZiwgdm9pZCAqb3BhcXVlLCBpbnQg dmVyc2lvbl9pZCkKQEAgLTEyNTcsOSArMTI1Nyw5IEBACiAgICAgcWVtdV9nZXRfYmUzMnMoZiwg JnMtPmxhc3Rfcnljcik7CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPmxhc3Rfc3djcik7CiAg ICAgcWVtdV9nZXRfYmUzMnMoZiwgJnMtPmxhc3RfcnRjcGljcik7Ci0gICAgcWVtdV9nZXRfYmU2 NHMoZiwgKHVpbnQ2NF90ICopICZzLT5sYXN0X2h6KTsKLSAgICBxZW11X2dldF9iZTY0cyhmLCAo dWludDY0X3QgKikgJnMtPmxhc3Rfc3cpOwotICAgIHFlbXVfZ2V0X2JlNjRzKGYsICh1aW50NjRf dCAqKSAmcy0+bGFzdF9waSk7CisgICAgcWVtdV9nZXRfc2JlNjRzKGYsICZzLT5sYXN0X2h6KTsK KyAgICBxZW11X2dldF9zYmU2NHMoZiwgJnMtPmxhc3Rfc3cpOworICAgIHFlbXVfZ2V0X3NiZTY0 cyhmLCAmcy0+bGFzdF9waSk7CiAKICAgICBweGEyeHhfcnRjX2FsYXJtX3VwZGF0ZShzLCBzLT5y dHNyKTsKIApJbmRleDogcWVtdS9ody9weGEyeHhfdGltZXIuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11 Lm9yaWcvaHcvcHhhMnh4X3RpbWVyLmMJMjAwOC0wOS0yNSAyMDoxOToxNC4wMDAwMDAwMDAgKzAw MDAKKysrIHFlbXUvaHcvcHhhMnh4X3RpbWVyLmMJMjAwOC0wOS0yNSAyMDoyNToxMi4wMDAwMDAw MDAgKzAwMDAKQEAgLTM4NCw4ICszODQsOCBAQAogICAgICAgICBmb3IgKGkgPSAwOyBpIDwgODsg aSArKykgewogICAgICAgICAgICAgcWVtdV9wdXRfYmUzMnMoZiwgJnMtPnRtNFtpXS50bS52YWx1 ZSk7CiAgICAgICAgICAgICBxZW11X3B1dF9iZTMyKGYsIHMtPnRtNFtpXS50bS5sZXZlbCk7Ci0g ICAgICAgICAgICBxZW11X3B1dF9iZTMycyhmLCAodWludDMyX3QgKikgJnMtPnRtNFtpXS5vbGRj bG9jayk7Ci0gICAgICAgICAgICBxZW11X3B1dF9iZTMycyhmLCAodWludDMyX3QgKikgJnMtPnRt NFtpXS5jbG9jayk7CisgICAgICAgICAgICBxZW11X3B1dF9zYmUzMnMoZiwgJnMtPnRtNFtpXS5v bGRjbG9jayk7CisgICAgICAgICAgICBxZW11X3B1dF9zYmUzMnMoZiwgJnMtPnRtNFtpXS5jbG9j ayk7CiAgICAgICAgICAgICBxZW11X3B1dF9iZTY0cyhmLCAmcy0+dG00W2ldLmxhc3Rsb2FkKTsK ICAgICAgICAgICAgIHFlbXVfcHV0X2JlMzJzKGYsICZzLT50bTRbaV0uZnJlcSk7CiAgICAgICAg ICAgICBxZW11X3B1dF9iZTMycyhmLCAmcy0+dG00W2ldLmNvbnRyb2wpOwpAQCAtNDE4LDggKzQx OCw4IEBACiAgICAgICAgIGZvciAoaSA9IDA7IGkgPCA4OyBpICsrKSB7CiAgICAgICAgICAgICBx ZW11X2dldF9iZTMycyhmLCAmcy0+dG00W2ldLnRtLnZhbHVlKTsKICAgICAgICAgICAgIHMtPnRt NFtpXS50bS5sZXZlbCA9IHFlbXVfZ2V0X2JlMzIoZik7Ci0gICAgICAgICAgICBxZW11X2dldF9i ZTMycyhmLCAodWludDMyX3QgKikgJnMtPnRtNFtpXS5vbGRjbG9jayk7Ci0gICAgICAgICAgICBx ZW11X2dldF9iZTMycyhmLCAodWludDMyX3QgKikgJnMtPnRtNFtpXS5jbG9jayk7CisgICAgICAg ICAgICBxZW11X2dldF9zYmUzMnMoZiwgJnMtPnRtNFtpXS5vbGRjbG9jayk7CisgICAgICAgICAg ICBxZW11X2dldF9zYmUzMnMoZiwgJnMtPnRtNFtpXS5jbG9jayk7CiAgICAgICAgICAgICBxZW11 X2dldF9iZTY0cyhmLCAmcy0+dG00W2ldLmxhc3Rsb2FkKTsKICAgICAgICAgICAgIHFlbXVfZ2V0 X2JlMzJzKGYsICZzLT50bTRbaV0uZnJlcSk7CiAgICAgICAgICAgICBxZW11X2dldF9iZTMycyhm LCAmcy0+dG00W2ldLmNvbnRyb2wpOwpJbmRleDogcWVtdS9ody90Y3guYwo9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t LSBxZW11Lm9yaWcvaHcvdGN4LmMJMjAwOC0wOS0yNSAyMDoxOToxNC4wMDAwMDAwMDAgKzAwMDAK KysrIHFlbXUvaHcvdGN4LmMJMjAwOC0wOS0yNSAyMDoyNToxMi4wMDAwMDAwMDAgKzAwMDAKQEAg LTM3Miw5ICszNzIsOSBAQAogewogICAgIFRDWFN0YXRlICpzID0gb3BhcXVlOwogCi0gICAgcWVt dV9wdXRfYmUxNnMoZiwgKHVpbnQxNl90ICopJnMtPmhlaWdodCk7Ci0gICAgcWVtdV9wdXRfYmUx NnMoZiwgKHVpbnQxNl90ICopJnMtPndpZHRoKTsKLSAgICBxZW11X3B1dF9iZTE2cyhmLCAodWlu dDE2X3QgKikmcy0+ZGVwdGgpOworICAgIHFlbXVfcHV0X2JlMTZzKGYsICZzLT5oZWlnaHQpOwor ICAgIHFlbXVfcHV0X2JlMTZzKGYsICZzLT53aWR0aCk7CisgICAgcWVtdV9wdXRfYmUxNnMoZiwg JnMtPmRlcHRoKTsKICAgICBxZW11X3B1dF9idWZmZXIoZiwgcy0+ciwgMjU2KTsKICAgICBxZW11 X3B1dF9idWZmZXIoZiwgcy0+ZywgMjU2KTsKICAgICBxZW11X3B1dF9idWZmZXIoZiwgcy0+Yiwg MjU2KTsKQEAgLTM5MSwxMyArMzkxLDEzIEBACiAgICAgICAgIHJldHVybiAtRUlOVkFMOwogCiAg ICAgaWYgKHZlcnNpb25faWQgPT0gMykgewotICAgICAgICBxZW11X2dldF9iZTMycyhmLCAodWlu dDMyX3QgKikmZHVtbXkpOwotICAgICAgICBxZW11X2dldF9iZTMycyhmLCAodWludDMyX3QgKikm ZHVtbXkpOwotICAgICAgICBxZW11X2dldF9iZTMycyhmLCAodWludDMyX3QgKikmZHVtbXkpOwor ICAgICAgICBxZW11X2dldF9iZTMycyhmLCAmZHVtbXkpOworICAgICAgICBxZW11X2dldF9iZTMy cyhmLCAmZHVtbXkpOworICAgICAgICBxZW11X2dldF9iZTMycyhmLCAmZHVtbXkpOwogICAgIH0K LSAgICBxZW11X2dldF9iZTE2cyhmLCAodWludDE2X3QgKikmcy0+aGVpZ2h0KTsKLSAgICBxZW11 X2dldF9iZTE2cyhmLCAodWludDE2X3QgKikmcy0+d2lkdGgpOwotICAgIHFlbXVfZ2V0X2JlMTZz KGYsICh1aW50MTZfdCAqKSZzLT5kZXB0aCk7CisgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPmhl aWdodCk7CisgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPndpZHRoKTsKKyAgICBxZW11X2dldF9i ZTE2cyhmLCAmcy0+ZGVwdGgpOwogICAgIHFlbXVfZ2V0X2J1ZmZlcihmLCBzLT5yLCAyNTYpOwog ICAgIHFlbXVfZ2V0X2J1ZmZlcihmLCBzLT5nLCAyNTYpOwogICAgIHFlbXVfZ2V0X2J1ZmZlcihm LCBzLT5iLCAyNTYpOwpJbmRleDogcWVtdS9ody90bXAxMDUuYwo9PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11 Lm9yaWcvaHcvdG1wMTA1LmMJMjAwOC0wOS0yNSAyMDoxOToxNC4wMDAwMDAwMDAgKzAwMDAKKysr IHFlbXUvaHcvdG1wMTA1LmMJMjAwOC0wOS0yNSAyMDoyNToxMi4wMDAwMDAwMDAgKzAwMDAKQEAg LTE4NSw5ICsxODUsOSBAQAogCiAgICAgcWVtdV9wdXRfOHMoZiwgJnMtPnBvaW50ZXIpOwogICAg IHFlbXVfcHV0XzhzKGYsICZzLT5jb25maWcpOwotICAgIHFlbXVfcHV0X2JlMTZzKGYsICh1aW50 MTZfdCAqKSAmcy0+dGVtcGVyYXR1cmUpOwotICAgIHFlbXVfcHV0X2JlMTZzKGYsICh1aW50MTZf dCAqKSAmcy0+bGltaXRbMF0pOwotICAgIHFlbXVfcHV0X2JlMTZzKGYsICh1aW50MTZfdCAqKSAm cy0+bGltaXRbMV0pOworICAgIHFlbXVfcHV0X3NiZTE2cyhmLCAmcy0+dGVtcGVyYXR1cmUpOwor ICAgIHFlbXVfcHV0X3NiZTE2cyhmLCAmcy0+bGltaXRbMF0pOworICAgIHFlbXVfcHV0X3NiZTE2 cyhmLCAmcy0+bGltaXRbMV0pOwogICAgIHFlbXVfcHV0X2J5dGUoZiwgcy0+YWxhcm0pOwogICAg IHMtPmZhdWx0cyA9IHRtcDEwNV9mYXVsdHFbKHMtPmNvbmZpZyA+PiAzKSAmIDNdOwkJLyogRiAq LwogCkBAIC0yMDQsOSArMjA0LDkgQEAKIAogICAgIHFlbXVfZ2V0XzhzKGYsICZzLT5wb2ludGVy KTsKICAgICBxZW11X2dldF84cyhmLCAmcy0+Y29uZmlnKTsKLSAgICBxZW11X2dldF9iZTE2cyhm LCAodWludDE2X3QgKikgJnMtPnRlbXBlcmF0dXJlKTsKLSAgICBxZW11X2dldF9iZTE2cyhmLCAo dWludDE2X3QgKikgJnMtPmxpbWl0WzBdKTsKLSAgICBxZW11X2dldF9iZTE2cyhmLCAodWludDE2 X3QgKikgJnMtPmxpbWl0WzFdKTsKKyAgICBxZW11X2dldF9zYmUxNnMoZiwgJnMtPnRlbXBlcmF0 dXJlKTsKKyAgICBxZW11X2dldF9zYmUxNnMoZiwgJnMtPmxpbWl0WzBdKTsKKyAgICBxZW11X2dl dF9zYmUxNnMoZiwgJnMtPmxpbWl0WzFdKTsKICAgICBzLT5hbGFybSA9IHFlbXVfZ2V0X2J5dGUo Zik7CiAKICAgICB0bXAxMDVfaW50ZXJydXB0X3VwZGF0ZShzKTsKSW5kZXg6IHFlbXUvaHcvdHNj MjEweC5jCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9ody90c2MyMTB4LmMJMjAwOC0wOS0yNSAy MDoxOToxNC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvaHcvdHNjMjEweC5jCTIwMDgtMDktMjUg MjA6MjU6MTIuMDAwMDAwMDAwICswMDAwCkBAIC0xMDQ2LDggKzEwNDYsOCBAQAogICAgIHFlbXVf cHV0X2JlMTZzKGYsICZzLT5wbGxbMF0pOwogICAgIHFlbXVfcHV0X2JlMTZzKGYsICZzLT5wbGxb MV0pOwogICAgIHFlbXVfcHV0X2JlMTZzKGYsICZzLT52b2x1bWUpOwotICAgIHFlbXVfcHV0X2Jl NjQoZiwgKHVpbnQ2NF90KSAocy0+dm9sdW1lX2NoYW5nZSAtIG5vdykpOwotICAgIHFlbXVfcHV0 X2JlNjQoZiwgKHVpbnQ2NF90KSAocy0+cG93ZXJkb3duIC0gbm93KSk7CisgICAgcWVtdV9wdXRf c2JlNjQoZiwgKHMtPnZvbHVtZV9jaGFuZ2UgLSBub3cpKTsKKyAgICBxZW11X3B1dF9zYmU2NChm LCAocy0+cG93ZXJkb3duIC0gbm93KSk7CiAgICAgcWVtdV9wdXRfYnl0ZShmLCBzLT5zb2Z0c3Rl cCk7CiAgICAgcWVtdV9wdXRfYmUxNnMoZiwgJnMtPmRhY19wb3dlcik7CiAKQEAgLTEwOTIsOCAr MTA5Miw4IEBACiAgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPnBsbFswXSk7CiAgICAgcWVtdV9n ZXRfYmUxNnMoZiwgJnMtPnBsbFsxXSk7CiAgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPnZvbHVt ZSk7Ci0gICAgcy0+dm9sdW1lX2NoYW5nZSA9IChpbnQ2NF90KSBxZW11X2dldF9iZTY0KGYpICsg bm93OwotICAgIHMtPnBvd2VyZG93biA9IChpbnQ2NF90KSBxZW11X2dldF9iZTY0KGYpICsgbm93 OworICAgIHMtPnZvbHVtZV9jaGFuZ2UgPSBxZW11X2dldF9zYmU2NChmKSArIG5vdzsKKyAgICBz LT5wb3dlcmRvd24gPSBxZW11X2dldF9zYmU2NChmKSArIG5vdzsKICAgICBzLT5zb2Z0c3RlcCA9 IHFlbXVfZ2V0X2J5dGUoZik7CiAgICAgcWVtdV9nZXRfYmUxNnMoZiwgJnMtPmRhY19wb3dlcik7 CiAKSW5kZXg6IHFlbXUvaHcvZTEwMDAuYwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvZTEw MDAuYwkyMDA4LTA5LTI1IDIwOjE5OjE0LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9lMTAw MC5jCTIwMDgtMDktMjUgMjA6MjU6MTIuMDAwMDAwMDAwICswMDAwCkBAIC0xMDIsOCArMTAyLDgg QEAKICAgICAgICAgdWludDMyX3QgcGF5bGVuOwogICAgICAgICB1aW50MTZfdCB0c29fZnJhbWVz OwogICAgICAgICBjaGFyIHRzZTsKLSAgICAgICAgY2hhciBpcDsKLSAgICAgICAgY2hhciB0Y3A7 CisgICAgICAgIGludDhfdCBpcDsKKyAgICAgICAgaW50OF90IHRjcDsKICAgICAgICAgY2hhciBj cHRzZTsgICAgIC8vIGN1cnJlbnQgcGFja2V0IHRzZSBiaXQKICAgICB9IHR4OwogCkBAIC04MjQs OCArODI0LDggQEAKICAgICBxZW11X3B1dF9iZTE2cyhmLCAmcy0+dHguc2l6ZSk7CiAgICAgcWVt dV9wdXRfYmUxNnMoZiwgJnMtPnR4LnRzb19mcmFtZXMpOwogICAgIHFlbXVfcHV0XzhzKGYsICZz LT50eC5zdW1fbmVlZGVkKTsKLSAgICBxZW11X3B1dF84cyhmLCAmcy0+dHguaXApOwotICAgIHFl bXVfcHV0XzhzKGYsICZzLT50eC50Y3ApOworICAgIHFlbXVfcHV0X3M4cyhmLCAmcy0+dHguaXAp OworICAgIHFlbXVfcHV0X3M4cyhmLCAmcy0+dHgudGNwKTsKICAgICBxZW11X3B1dF9idWZmZXIo Ziwgcy0+dHguaGVhZGVyLCBzaXplb2Ygcy0+dHguaGVhZGVyKTsKICAgICBxZW11X3B1dF9idWZm ZXIoZiwgcy0+dHguZGF0YSwgc2l6ZW9mIHMtPnR4LmRhdGEpOwogICAgIGZvciAoaSA9IDA7IGkg PCA2NDsgaSsrKQpAQCAtODQ5LDcgKzg0OSw3IEBACiAgICAgaWYgKChyZXQgPSBwY2lfZGV2aWNl X2xvYWQoJnMtPmRldiwgZikpIDwgMCkKICAgICAgICAgcmV0dXJuIHJldDsKICAgICBpZiAodmVy c2lvbl9pZCA9PSAxKQotICAgICAgICBxZW11X2dldF9iZTMycyhmLCAmaSk7IC8qIG9uY2Ugc29t ZSB1bnVzZWQgaW5zdGFuY2UgaWQgKi8KKyAgICAgICAgcWVtdV9nZXRfc2JlMzJzKGYsICZpKTsg Lyogb25jZSBzb21lIHVudXNlZCBpbnN0YW5jZSBpZCAqLwogICAgIHFlbXVfZ2V0X2JlMzJzKGYs ICZzLT5tbWlvX2Jhc2UpOwogICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZzLT5yeGJ1Zl9zaXplKTsK ICAgICBxZW11X2dldF9iZTMycyhmLCAmcy0+cnhidWZfbWluX3NoaWZ0KTsKQEAgLTg3MCw4ICs4 NzAsOCBAQAogICAgIHFlbXVfZ2V0X2JlMTZzKGYsICZzLT50eC5zaXplKTsKICAgICBxZW11X2dl dF9iZTE2cyhmLCAmcy0+dHgudHNvX2ZyYW1lcyk7CiAgICAgcWVtdV9nZXRfOHMoZiwgJnMtPnR4 LnN1bV9uZWVkZWQpOwotICAgIHFlbXVfZ2V0XzhzKGYsICZzLT50eC5pcCk7Ci0gICAgcWVtdV9n ZXRfOHMoZiwgJnMtPnR4LnRjcCk7CisgICAgcWVtdV9nZXRfczhzKGYsICZzLT50eC5pcCk7Cisg ICAgcWVtdV9nZXRfczhzKGYsICZzLT50eC50Y3ApOwogICAgIHFlbXVfZ2V0X2J1ZmZlcihmLCBz LT50eC5oZWFkZXIsIHNpemVvZiBzLT50eC5oZWFkZXIpOwogICAgIHFlbXVfZ2V0X2J1ZmZlcihm LCBzLT50eC5kYXRhLCBzaXplb2Ygcy0+dHguZGF0YSk7CiAgICAgZm9yIChpID0gMDsgaSA8IDY0 OyBpKyspCkluZGV4OiBxZW11L2h3L3B0aW1lci5jCj09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIHFlbXUub3JpZy9o dy9wdGltZXIuYwkyMDA4LTA5LTI1IDIwOjE5OjE0LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9o dy9wdGltZXIuYwkyMDA4LTA5LTI1IDIwOjI1OjEyLjAwMDAwMDAwMCArMDAwMApAQCAtMTY1LDkg KzE2NSw5IEBACiAgICAgcWVtdV9wdXRfYmU2NHMoZiwgJnMtPmxpbWl0KTsKICAgICBxZW11X3B1 dF9iZTY0cyhmLCAmcy0+ZGVsdGEpOwogICAgIHFlbXVfcHV0X2JlMzJzKGYsICZzLT5wZXJpb2Rf ZnJhYyk7Ci0gICAgcWVtdV9wdXRfYmU2NHMoZiwgJnMtPnBlcmlvZCk7Ci0gICAgcWVtdV9wdXRf YmU2NHMoZiwgJnMtPmxhc3RfZXZlbnQpOwotICAgIHFlbXVfcHV0X2JlNjRzKGYsICZzLT5uZXh0 X2V2ZW50KTsKKyAgICBxZW11X3B1dF9zYmU2NHMoZiwgJnMtPnBlcmlvZCk7CisgICAgcWVtdV9w dXRfc2JlNjRzKGYsICZzLT5sYXN0X2V2ZW50KTsKKyAgICBxZW11X3B1dF9zYmU2NHMoZiwgJnMt Pm5leHRfZXZlbnQpOwogICAgIHFlbXVfcHV0X3RpbWVyKGYsIHMtPnRpbWVyKTsKIH0KIApAQCAt MTc3LDkgKzE3Nyw5IEBACiAgICAgcWVtdV9nZXRfYmU2NHMoZiwgJnMtPmxpbWl0KTsKICAgICBx ZW11X2dldF9iZTY0cyhmLCAmcy0+ZGVsdGEpOwogICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZzLT5w ZXJpb2RfZnJhYyk7Ci0gICAgcWVtdV9nZXRfYmU2NHMoZiwgJnMtPnBlcmlvZCk7Ci0gICAgcWVt dV9nZXRfYmU2NHMoZiwgJnMtPmxhc3RfZXZlbnQpOwotICAgIHFlbXVfZ2V0X2JlNjRzKGYsICZz LT5uZXh0X2V2ZW50KTsKKyAgICBxZW11X2dldF9zYmU2NHMoZiwgJnMtPnBlcmlvZCk7CisgICAg cWVtdV9nZXRfc2JlNjRzKGYsICZzLT5sYXN0X2V2ZW50KTsKKyAgICBxZW11X2dldF9zYmU2NHMo ZiwgJnMtPm5leHRfZXZlbnQpOwogICAgIHFlbXVfZ2V0X3RpbWVyKGYsIHMtPnRpbWVyKTsKIH0K IApJbmRleDogcWVtdS90YXJnZXQtaTM4Ni9tYWNoaW5lLmMKPT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5v cmlnL3RhcmdldC1pMzg2L21hY2hpbmUuYwkyMDA4LTA5LTI1IDIwOjIzOjU1LjAwMDAwMDAwMCAr MDAwMAorKysgcWVtdS90YXJnZXQtaTM4Ni9tYWNoaW5lLmMJMjAwOC0wOS0yNSAyMDoyNToxMi4w MDAwMDAwMDAgKzAwMDAKQEAgLTEwMiw3ICsxMDIsNyBAQAogCiAgICAgLyogTU1VICovCiAgICAg YTIwX21hc2sgPSAoaW50MzJfdCkgZW52LT5hMjBfbWFzazsKLSAgICBxZW11X3B1dF9iZTMycyhm LCAmYTIwX21hc2spOworICAgIHFlbXVfcHV0X3NiZTMycyhmLCAmYTIwX21hc2spOwogCiAgICAg LyogWE1NICovCiAgICAgcWVtdV9wdXRfYmUzMnMoZiwgJmVudi0+bXhjc3IpOwpAQCAtMjYxLDcg KzI2MSw3IEBACiAgICAgICAgIHFlbXVfZ2V0X2JldGxzKGYsICZlbnYtPmRyW2ldKTsKIAogICAg IC8qIE1NVSAqLwotICAgIHFlbXVfZ2V0X2JlMzJzKGYsICZhMjBfbWFzayk7CisgICAgcWVtdV9n ZXRfc2JlMzJzKGYsICZhMjBfbWFzayk7CiAgICAgZW52LT5hMjBfbWFzayA9IGEyMF9tYXNrOwog CiAgICAgcWVtdV9nZXRfYmUzMnMoZiwgJmVudi0+bXhjc3IpOwo= ------=_Part_659_21404466.1222377276248 Content-Type: plain/text; name=use_size_t.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fljvu040 Content-Disposition: attachment; filename=use_size_t.diff SW5kZXg6IHFlbXUvaHcvaHcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvaHcuaAkyMDA4 LTA5LTI1IDIxOjExOjA4LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9ody5oCTIwMDgtMDkt MjUgMjE6MTI6MDguMDAwMDAwMDAwICswMDAwCkBAIC0xMCw3ICsxMCw3IEBACiBRRU1VRmlsZSAq cWVtdV9mb3Blbihjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqbW9kZSk7CiB2b2lk IHFlbXVfZmZsdXNoKFFFTVVGaWxlICpmKTsKIHZvaWQgcWVtdV9mY2xvc2UoUUVNVUZpbGUgKmYp Owotdm9pZCBxZW11X3B1dF9idWZmZXIoUUVNVUZpbGUgKmYsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwg aW50IHNpemUpOwordm9pZCBxZW11X3B1dF9idWZmZXIoUUVNVUZpbGUgKmYsIGNvbnN0IHVpbnQ4 X3QgKmJ1Ziwgc2l6ZV90IHNpemUpOwogdm9pZCBxZW11X3B1dF9ieXRlKFFFTVVGaWxlICpmLCBp bnQgdik7CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBxZW11X3B1dF91Ynl0ZShRRU1VRmlsZSAqZiwg dW5zaWduZWQgaW50IHYpCkBAIC0yMyw3ICsyMyw3IEBACiB2b2lkIHFlbXVfcHV0X2JlMTYoUUVN VUZpbGUgKmYsIHVuc2lnbmVkIGludCB2KTsKIHZvaWQgcWVtdV9wdXRfYmUzMihRRU1VRmlsZSAq ZiwgdW5zaWduZWQgaW50IHYpOwogdm9pZCBxZW11X3B1dF9iZTY0KFFFTVVGaWxlICpmLCB1aW50 NjRfdCB2KTsKLWludCBxZW11X2dldF9idWZmZXIoUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKmJ1Ziwg aW50IHNpemUpOworc2l6ZV90IHFlbXVfZ2V0X2J1ZmZlcihRRU1VRmlsZSAqZiwgdWludDhfdCAq YnVmLCBzaXplX3Qgc2l6ZSk7CiBpbnQgcWVtdV9nZXRfYnl0ZShRRU1VRmlsZSAqZik7CiAKIHN0 YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IHFlbXVfZ2V0X3VieXRlKFFFTVVGaWxlICpmKQpAQCAt NzgsNyArNzgsNyBAQAogfQogCiAvLyBTaWduZWQgdmVyc2lvbnMgZm9yIHR5cGUgc2FmZXR5Ci1z dGF0aWMgaW5saW5lIHZvaWQgcWVtdV9wdXRfc2J1ZmZlcihRRU1VRmlsZSAqZiwgY29uc3QgaW50 OF90ICpidWYsIGludCBzaXplKQorc3RhdGljIGlubGluZSB2b2lkIHFlbXVfcHV0X3NidWZmZXIo UUVNVUZpbGUgKmYsIGNvbnN0IGludDhfdCAqYnVmLCBzaXplX3Qgc2l6ZSkKIHsKICAgICBxZW11 X3B1dF9idWZmZXIoZiwgKGNvbnN0IHVpbnQ4X3QgKilidWYsIHNpemUpOwogfQpAQCAtOTgsNyAr OTgsNyBAQAogICAgIHFlbXVfcHV0X2JlNjQoZiwgKHVpbnQ2NF90KXYpOwogfQogCi1zdGF0aWMg aW5saW5lIHNpemVfdCBxZW11X2dldF9zYnVmZmVyKFFFTVVGaWxlICpmLCBpbnQ4X3QgKmJ1Ziwg aW50IHNpemUpCitzdGF0aWMgaW5saW5lIHNpemVfdCBxZW11X2dldF9zYnVmZmVyKFFFTVVGaWxl ICpmLCBpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNpemUpCiB7CiAgICAgcmV0dXJuIHFlbXVfZ2V0X2J1 ZmZlcihmLCAodWludDhfdCAqKWJ1Ziwgc2l6ZSk7CiB9CkluZGV4OiBxZW11L3ZsLmMKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gcWVtdS5vcmlnL3ZsLmMJMjAwOC0wOS0yNSAyMToxMDozNC4wMDAwMDAwMDAgKzAw MDAKKysrIHFlbXUvdmwuYwkyMDA4LTA5LTI1IDIxOjEyOjA4LjAwMDAwMDAwMCArMDAwMApAQCAt NjI0Nyw5ICs2MjQ3LDkgQEAKICAgICBxZW11X2ZyZWUoZik7CiB9CiAKLXZvaWQgcWVtdV9wdXRf YnVmZmVyKFFFTVVGaWxlICpmLCBjb25zdCB1aW50OF90ICpidWYsIGludCBzaXplKQordm9pZCBx ZW11X3B1dF9idWZmZXIoUUVNVUZpbGUgKmYsIGNvbnN0IHVpbnQ4X3QgKmJ1Ziwgc2l6ZV90IHNp emUpCiB7Ci0gICAgaW50IGw7CisgICAgc2l6ZV90IGw7CiAgICAgd2hpbGUgKHNpemUgPiAwKSB7 CiAgICAgICAgIGwgPSBJT19CVUZfU0laRSAtIGYtPmJ1Zl9pbmRleDsKICAgICAgICAgaWYgKGwg PiBzaXplKQpAQCAtNjI3MCw5ICs2MjcwLDkgQEAKICAgICAgICAgcWVtdV9mZmx1c2goZik7CiB9 CiAKLWludCBxZW11X2dldF9idWZmZXIoUUVNVUZpbGUgKmYsIHVpbnQ4X3QgKmJ1ZiwgaW50IHNp emUxKQorc2l6ZV90IHFlbXVfZ2V0X2J1ZmZlcihRRU1VRmlsZSAqZiwgdWludDhfdCAqYnVmLCBz aXplX3Qgc2l6ZTEpCiB7Ci0gICAgaW50IHNpemUsIGw7CisgICAgc2l6ZV90IHNpemUsIGw7CiAK ICAgICBzaXplID0gc2l6ZTE7CiAgICAgd2hpbGUgKHNpemUgPiAwKSB7Cg== ------=_Part_659_21404466.1222377276248 Content-Type: plain/text; name=buggy_use_more_accurate_types.diff Content-Transfer-Encoding: base64 X-Attachment-Id: f_fljvu6fk Content-Disposition: attachment; filename=buggy_use_more_accurate_types.diff SW5kZXg6IHFlbXUvaHcvaHcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBxZW11Lm9yaWcvaHcvaHcuaAkyMDA4 LTA5LTI1IDIxOjEyOjA4LjAwMDAwMDAwMCArMDAwMAorKysgcWVtdS9ody9ody5oCTIwMDgtMDkt MjUgMjE6MTI6MzguMDAwMDAwMDAwICswMDAwCkBAIC0xMSwzMCArMTEsMzAgQEAKIHZvaWQgcWVt dV9mZmx1c2goUUVNVUZpbGUgKmYpOwogdm9pZCBxZW11X2ZjbG9zZShRRU1VRmlsZSAqZik7CiB2 b2lkIHFlbXVfcHV0X2J1ZmZlcihRRU1VRmlsZSAqZiwgY29uc3QgdWludDhfdCAqYnVmLCBzaXpl X3Qgc2l6ZSk7Ci12b2lkIHFlbXVfcHV0X2J5dGUoUUVNVUZpbGUgKmYsIGludCB2KTsKK3ZvaWQg cWVtdV9wdXRfYnl0ZShRRU1VRmlsZSAqZiwgaW50OF90IHYpOwogCi1zdGF0aWMgaW5saW5lIHZv aWQgcWVtdV9wdXRfdWJ5dGUoUUVNVUZpbGUgKmYsIHVuc2lnbmVkIGludCB2KQorc3RhdGljIGlu bGluZSB2b2lkIHFlbXVfcHV0X3VieXRlKFFFTVVGaWxlICpmLCB1aW50OF90IHYpCiB7Ci0gICAg cWVtdV9wdXRfYnl0ZShmLCAoaW50KXYpOworICAgIHFlbXVfcHV0X2J5dGUoZiwgKGludDhfdCl2 KTsKIH0KIAogI2RlZmluZSBxZW11X3B1dF9zYnl0ZSBxZW11X3B1dF9ieXRlCiAKLXZvaWQgcWVt dV9wdXRfYmUxNihRRU1VRmlsZSAqZiwgdW5zaWduZWQgaW50IHYpOwotdm9pZCBxZW11X3B1dF9i ZTMyKFFFTVVGaWxlICpmLCB1bnNpZ25lZCBpbnQgdik7Cit2b2lkIHFlbXVfcHV0X2JlMTYoUUVN VUZpbGUgKmYsIHVpbnQxNl90IHYpOwordm9pZCBxZW11X3B1dF9iZTMyKFFFTVVGaWxlICpmLCB1 aW50MzJfdCB2KTsKIHZvaWQgcWVtdV9wdXRfYmU2NChRRU1VRmlsZSAqZiwgdWludDY0X3Qgdik7 CiBzaXplX3QgcWVtdV9nZXRfYnVmZmVyKFFFTVVGaWxlICpmLCB1aW50OF90ICpidWYsIHNpemVf dCBzaXplKTsKLWludCBxZW11X2dldF9ieXRlKFFFTVVGaWxlICpmKTsKK2ludDhfdCBxZW11X2dl dF9ieXRlKFFFTVVGaWxlICpmKTsKIAotc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgcWVtdV9n ZXRfdWJ5dGUoUUVNVUZpbGUgKmYpCitzdGF0aWMgaW5saW5lIHVpbnQ4X3QgcWVtdV9nZXRfdWJ5 dGUoUUVNVUZpbGUgKmYpCiB7Ci0gICAgcmV0dXJuICh1bnNpZ25lZCBpbnQpcWVtdV9nZXRfYnl0 ZShmKTsKKyAgICByZXR1cm4gKHVpbnQ4X3QpcWVtdV9nZXRfYnl0ZShmKTsKIH0KIAogI2RlZmlu ZSBxZW11X2dldF9zYnl0ZSBxZW11X2dldF9ieXRlCiAKLXVuc2lnbmVkIGludCBxZW11X2dldF9i ZTE2KFFFTVVGaWxlICpmKTsKLXVuc2lnbmVkIGludCBxZW11X2dldF9iZTMyKFFFTVVGaWxlICpm KTsKK3VpbnQxNl90IHFlbXVfZ2V0X2JlMTYoUUVNVUZpbGUgKmYpOwordWludDMyX3QgcWVtdV9n ZXRfYmUzMihRRU1VRmlsZSAqZik7CiB1aW50NjRfdCBxZW11X2dldF9iZTY0KFFFTVVGaWxlICpm KTsKIAogc3RhdGljIGlubGluZSB2b2lkIHFlbXVfcHV0X2JlNjRzKFFFTVVGaWxlICpmLCBjb25z dCB1aW50NjRfdCAqcHYpCkBAIC04MywxNCArODMsMTQgQEAKICAgICBxZW11X3B1dF9idWZmZXIo ZiwgKGNvbnN0IHVpbnQ4X3QgKilidWYsIHNpemUpOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQg cWVtdV9wdXRfc2JlMTYoUUVNVUZpbGUgKmYsIGludCB2KQorc3RhdGljIGlubGluZSB2b2lkIHFl bXVfcHV0X3NiZTE2KFFFTVVGaWxlICpmLCBpbnQxNl90IHYpCiB7Ci0gICAgcWVtdV9wdXRfYmUx NihmLCAodW5zaWduZWQgaW50KXYpOworICAgIHFlbXVfcHV0X2JlMTYoZiwgKHVpbnQxNl90KXYp OwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgcWVtdV9wdXRfc2JlMzIoUUVNVUZpbGUgKmYsIGlu dCB2KQorc3RhdGljIGlubGluZSB2b2lkIHFlbXVfcHV0X3NiZTMyKFFFTVVGaWxlICpmLCBpbnQz Ml90IHYpCiB7Ci0gICAgcWVtdV9wdXRfYmUzMihmLCAodW5zaWduZWQgaW50KXYpOworICAgIHFl bXVfcHV0X2JlMzIoZiwgKHVpbnQzMl90KXYpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgcWVt dV9wdXRfc2JlNjQoUUVNVUZpbGUgKmYsIGludDY0X3QgdikKQEAgLTEwMywxMiArMTAzLDEyIEBA CiAgICAgcmV0dXJuIHFlbXVfZ2V0X2J1ZmZlcihmLCAodWludDhfdCAqKWJ1Ziwgc2l6ZSk7CiB9 CiAKLXN0YXRpYyBpbmxpbmUgaW50IHFlbXVfZ2V0X3NiZTE2KFFFTVVGaWxlICpmKQorc3RhdGlj IGlubGluZSBpbnQxNl90IHFlbXVfZ2V0X3NiZTE2KFFFTVVGaWxlICpmKQogewogICAgIHJldHVy biAoaW50KXFlbXVfZ2V0X2JlMTYoZik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgaW50IHFlbXVfZ2V0 X3NiZTMyKFFFTVVGaWxlICpmKQorc3RhdGljIGlubGluZSBpbnQzMl90IHFlbXVfZ2V0X3NiZTMy KFFFTVVGaWxlICpmKQogewogICAgIHJldHVybiAoaW50KXFlbXVfZ2V0X2JlMzIoZik7CiB9Cklu ZGV4OiBxZW11L3ZsLmMKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gcWVtdS5vcmlnL3ZsLmMJMjAwOC0wOS0yNSAy MToxMjowOC4wMDAwMDAwMDAgKzAwMDAKKysrIHFlbXUvdmwuYwkyMDA4LTA5LTI1IDIxOjEyOjM4 LjAwMDAwMDAwMCArMDAwMApAQCAtNjI2Myw3ICs2MjYzLDcgQEAKICAgICB9CiB9CiAKLXZvaWQg cWVtdV9wdXRfYnl0ZShRRU1VRmlsZSAqZiwgaW50IHYpCit2b2lkIHFlbXVfcHV0X2J5dGUoUUVN VUZpbGUgKmYsIGludDhfdCB2KQogewogICAgIGYtPmJ1ZltmLT5idWZfaW5kZXgrK10gPSB2Owog ICAgIGlmIChmLT5idWZfaW5kZXggPj0gSU9fQlVGX1NJWkUpCkBAIC02MjkzLDcgKzYyOTMsNyBA QAogICAgIHJldHVybiBzaXplMSAtIHNpemU7CiB9CiAKLWludCBxZW11X2dldF9ieXRlKFFFTVVG aWxlICpmKQoraW50OF90IHFlbXVfZ2V0X2J5dGUoUUVNVUZpbGUgKmYpCiB7CiAgICAgaWYgKGYt PmJ1Zl9pbmRleCA+PSBmLT5idWZfc2l6ZSkgewogICAgICAgICBxZW11X2ZpbGxfYnVmZmVyKGYp OwpAQCAtNjMyOSwxMyArNjMyOSwxMyBAQAogICAgIHJldHVybiBwb3M7CiB9CiAKLXZvaWQgcWVt dV9wdXRfYmUxNihRRU1VRmlsZSAqZiwgdW5zaWduZWQgaW50IHYpCit2b2lkIHFlbXVfcHV0X2Jl MTYoUUVNVUZpbGUgKmYsIHVpbnQxNl90IHYpCiB7CiAgICAgcWVtdV9wdXRfYnl0ZShmLCB2ID4+ IDgpOwogICAgIHFlbXVfcHV0X2J5dGUoZiwgdik7CiB9CiAKLXZvaWQgcWVtdV9wdXRfYmUzMihR RU1VRmlsZSAqZiwgdW5zaWduZWQgaW50IHYpCit2b2lkIHFlbXVfcHV0X2JlMzIoUUVNVUZpbGUg KmYsIHVpbnQzMl90IHYpCiB7CiAgICAgcWVtdV9wdXRfYnl0ZShmLCB2ID4+IDI0KTsKICAgICBx ZW11X3B1dF9ieXRlKGYsIHYgPj4gMTYpOwpAQCAtNjM0OSwxNyArNjM0OSwxNyBAQAogICAgIHFl bXVfcHV0X2JlMzIoZiwgdik7CiB9CiAKLXVuc2lnbmVkIGludCBxZW11X2dldF9iZTE2KFFFTVVG aWxlICpmKQordWludDE2X3QgcWVtdV9nZXRfYmUxNihRRU1VRmlsZSAqZikKIHsKLSAgICB1bnNp Z25lZCBpbnQgdjsKKyAgICB1aW50MTZfdCB2OwogICAgIHYgPSBxZW11X2dldF9ieXRlKGYpIDw8 IDg7CiAgICAgdiB8PSBxZW11X2dldF9ieXRlKGYpOwogICAgIHJldHVybiB2OwogfQogCi11bnNp Z25lZCBpbnQgcWVtdV9nZXRfYmUzMihRRU1VRmlsZSAqZikKK3VpbnQzMl90IHFlbXVfZ2V0X2Jl MzIoUUVNVUZpbGUgKmYpCiB7Ci0gICAgdW5zaWduZWQgaW50IHY7CisgICAgdWludDMyX3QgdjsK ICAgICB2ID0gcWVtdV9nZXRfYnl0ZShmKSA8PCAyNDsKICAgICB2IHw9IHFlbXVfZ2V0X2J5dGUo ZikgPDwgMTY7CiAgICAgdiB8PSBxZW11X2dldF9ieXRlKGYpIDw8IDg7Cg== ------=_Part_659_21404466.1222377276248--