[RFC PATCH] Add -Werror flag when building GNU/HURD.
Mikhail Karpov <[email protected]> Tue, 28 Jul 2026 17:31:23 +0700
| Newsgroups | gmane.os.hurd.bugs |
|---|---|
| Message-ID | <[email protected]> |
This is a multi-part message in MIME format. --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Hello, When compiling GNU/Hurd, quite a few warnings were generated. I fixed some of them, and now it compiles with flags: CFLAGS += -std=gnu99 $(gnu89-inline-CFLAGS) -Wall -Werror \ -Werror=old-style-definition \ -Werror=implicit-function-declaration \ -Werror=strict-prototypes \ -g -O3 -fno-strict-aliasing $($*-CFLAGS) Completes successfully. I have a few questions: 1. Is this flag even necessary? 2. Should I remove the -fno-strict-aliasing flag? I didn't remove it, so the -Wstrict-aliasing warnings are ignored. 3. Should I add the -Wextra flag? I agree that warnings are sometimes annoying, but I believe that catching a real error at compile time can save a lot of time searching for it in the code. However, I'd still like to hear people's opinions on this matter. Now on to the patches. I'm not sure about some of them, and they probably require more time to study. For example, in pfinet/linux-src/include/linux/in_route.h there was #define RTCF_NAT (RTCF_DNAT|RTCF_SNAT) (0x08000000|0x00800000), but previously in tools-i686/include/net/route.h there was also #define RTCF_NAT 0x00800000. The same problem occurs with #define NET_MAX_FILTER 512 from libbpf/bpf_impl.h and #define NET_MAX_FILTER 128 from tools-i686/include/device/net_status.h. I simply removed unused variables and moved unused functions to #if 0. pfinet encountered a false-positive warning -Werror=array-bounds in the queue handling functions. I couldn't find a simple solution, so I simply added -Wno-array-bounds to the pfinet Makefile. And a few places that were unclear to me: The -Werror=maybe-uninitialized warning was in pfinet/linux-src/net/ipv4/igmp.c because im->loaded = 0 was only set within CONFIG_IP_MULTICAST, and the igmp_group_added function checked im->loaded for 0 when it was called. The -Werror=address warning was in pfinet/linux-src/net/ipv4/devinet.c because ifa->ifa_label is an array, not a pointer, so the if (ifa->ifa_label) condition is always true. I removed this check and left only strcpy(ifr.ifr_name, ifa->ifa_label). The Werror=shift-overflow warning was in the libps/ps.h file: #define PSTAT_USER_BASE 0x20000000, and #define W_PSTAT_LOGIN (PSTAT_USER_BASE << 3), so the result didn't fit into the int type. I added the ULL suffix to 0x20000000 and that solved the problem. The fixing-structure-declaration-inside-parameter-list.patch patch applies to the libtirpc-1.3.6/tirpc/rpc/rpc_msg.h file. It must be applied separately. Thanks, -- Mikhail Karpov --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0001-Fixing-discarded-qualifiers-and-pointer-sign.patch" Content-Disposition: attachment; filename="0001-Fixing-discarded-qualifiers-and-pointer-sign.patch" Content-Transfer-Encoding: base64 RnJvbSBkMTRhOWFiMmRiZTYzZGFjNTRmMGE2NTg4ZjBiY2E5YjU5MTQ1ZDU2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxNDo1MzozNSArMDcwMApTdWJq ZWN0OiBbUEFUQ0hdIEZpeGluZyBkaXNjYXJkZWQgcXVhbGlmaWVycyBhbmQgcG9pbnRlciBz aWduCgotLS0KIGxpYmRpc2tmcy9kaXNrZnMuaCAgICAgICAgICAgICAgICAgICAgICB8ICAy ICstCiBsaWJkaXNrZnMvbG9va3VwLmMgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKy0t CiBsaWJzdG9yZS9kZXZpY2UuYyAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQogbGli c3RvcmUvbmJkLmMgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKystLQogcGZpbmV0 L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jICAgICAgIHwgIDMgKystCiBwZmluZXQvbGlu dXgtc3JjL25ldC9ldGhlcm5ldC9ldGguYyAgICAgfCAgMyArKy0KIHBmaW5ldC9saW51eC1z cmMvbmV0L2lwdjQvYXJwLmMgICAgICAgICB8ICA4ICsrKystLS0tCiBwZmluZXQvbGludXgt c3JjL25ldC9pcHY0L2lnbXAuYyAgICAgICAgfCAgNCArKy0tCiBwZmluZXQvbGludXgtc3Jj L25ldC9pcHY0L2lwX291dHB1dC5jICAgfCAgNCArKy0tCiBwZmluZXQvbGludXgtc3JjL25l dC9pcHY0L2lwX3NvY2tnbHVlLmMgfCAgMiArLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2 NC9yYXcuYyAgICAgICAgIHwgIDQgKystLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90 Y3AuYyAgICAgICAgIHwgIDkgKysrKystLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY0 L3RjcF9pcHY0LmMgICAgfCAgOCArKysrKy0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2 NC90Y3Bfb3V0cHV0LmMgIHwgIDcgKysrKy0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2 NC91ZHAuYyAgICAgICAgIHwgMjAgKysrKysrKysrKysrLS0tLS0tLS0KIHBmaW5ldC9saW51 eC1zcmMvbmV0L2lwdjYvaWNtcHY2LmMgICAgICB8ICA4ICsrKystLS0tCiBwZmluZXQvbGlu dXgtc3JjL25ldC9pcHY2L2lwNl9vdXRwdXQuYyAgfCAgNCArKy0tCiBwZmluZXQvbGludXgt c3JjL25ldC9pcHY2L21jYXN0LmMgICAgICAgfCAgMiArLQogcGZpbmV0L2xpbnV4LXNyYy9u ZXQvaXB2Ni9uZGlzYy5jICAgICAgIHwgIDQgKystLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQv aXB2Ni9yYXdfaXB2Ni5jICAgIHwgIDYgKysrLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9p cHY2L3RjcF9pcHY2LmMgICAgfCAxMSArKysrKystLS0tLQogcGZpbmV0L2xpbnV4LXNyYy9u ZXQvaXB2Ni91ZHBfaXB2Ni5jICAgIHwgIDggKysrKy0tLS0KIHByb2Nmcy9wcm9jZXNzLmMg ICAgICAgICAgICAgICAgICAgICAgICB8ICAyICstCiAyMyBmaWxlcyBjaGFuZ2VkLCA3MCBp bnNlcnRpb25zKCspLCA1OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWJkaXNrZnMv ZGlza2ZzLmggYi9saWJkaXNrZnMvZGlza2ZzLmgKaW5kZXggZDk1ZTFiODAuLmI4MzE2ZDk2 IDEwMDY0NAotLS0gYS9saWJkaXNrZnMvZGlza2ZzLmgKKysrIGIvbGliZGlza2ZzL2Rpc2tm cy5oCkBAIC04OTAsNyArODkwLDcgQEAgZGlza2ZzX2Rpc2tub2RlX25vZGUgKHN0cnVjdCBk aXNrbm9kZSAqZGlza25vZGUpCiAgICBUaGlzIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBmb3Ig ZGlza2ZzX2xvb2t1cF9oYXJkLgogKi8KIGVycm9yX3QgZGlza2ZzX2xvb2t1cCAoc3RydWN0 IG5vZGUgKmRwLAotCQkgICAgICAgY2hhciAqbmFtZSwgbG9va3VwX2ZsYWdzX3QgbF9mbGFn cywKKwkJICAgICAgIGNvbnN0IGNoYXIgKm5hbWUsIGxvb2t1cF9mbGFnc190IGxfZmxhZ3Ms CiAJCSAgICAgICBzdHJ1Y3Qgbm9kZSAqKm5wLCBzdHJ1Y3QgZGlyc3RhdCAqZHMsCiAJCSAg ICAgICBzdHJ1Y3QgcHJvdGlkICpjcmVkKTsKIApkaWZmIC0tZ2l0IGEvbGliZGlza2ZzL2xv b2t1cC5jIGIvbGliZGlza2ZzL2xvb2t1cC5jCmluZGV4IDg3YjU0YzAxLi4wNmIwM2I2OSAx MDA2NDQKLS0tIGEvbGliZGlza2ZzL2xvb2t1cC5jCisrKyBiL2xpYmRpc2tmcy9sb29rdXAu YwpAQCAtNzEsNyArNzEsNyBAQAogCiAgICBUaGlzIGZ1bmN0aW9uIGlzIGEgd3JhcHBlciBm b3IgZGlza2ZzX2xvb2t1cF9oYXJkLiAgKi8KIGVycm9yX3QKLWRpc2tmc19sb29rdXAgKHN0 cnVjdCBub2RlICpkcCwgY2hhciAqbmFtZSwgbG9va3VwX2ZsYWdzX3QgbF9mbGFncywKK2Rp c2tmc19sb29rdXAgKHN0cnVjdCBub2RlICpkcCwgY29uc3QgY2hhciAqbmFtZSwgbG9va3Vw X2ZsYWdzX3QgbF9mbGFncywKIAkgICAgICAgc3RydWN0IG5vZGUgKipucCwgc3RydWN0IGRp cnN0YXQgKmRzLCBzdHJ1Y3QgcHJvdGlkICpjcmVkKQogewogICBlcnJvcl90IGVycjsKQEAg LTk5LDcgKzk5LDcgQEAgZGlza2ZzX2xvb2t1cCAoc3RydWN0IG5vZGUgKmRwLCBjaGFyICpu YW1lLCBsb29rdXBfZmxhZ3NfdCBsX2ZsYWdzLAogICAgIH0KICAgZWxzZQogICAgIHsKLSAg ICAgIGNoYXIgKnAgPSBzdHJjaHIgKG5hbWUsICcvJyk7CisgICAgICBjaGFyICpwID0gKGNo YXIgKikgc3RyY2hyIChuYW1lLCAnLycpOwogICAgICAgaWYgKHAgIT0gMCkKIAl7CiAJICAq cCA9ICdcMCc7CmRpZmYgLS1naXQgYS9saWJzdG9yZS9kZXZpY2UuYyBiL2xpYnN0b3JlL2Rl dmljZS5jCmluZGV4IDU2ZjNkOTNkLi4xNWYzNDZlNCAxMDA2NDQKLS0tIGEvbGlic3RvcmUv ZGV2aWNlLmMKKysrIGIvbGlic3RvcmUvZGV2aWNlLmMKQEAgLTEyOCw3ICsxMjgsNyBAQCBk b3BlbiAoY29uc3QgY2hhciAqbmFtZSwgZGV2aWNlX3QgKmRldmljZSwgaW50ICptb2RfZmxh Z3MpCiAgIGNoYXIgKnJlc3Q7CiAKICAgLyogUGFyc2UgQG1hc3RlcjovZGV2L2hlbGxvICov Ci0gIGlmICggKG5hbWVbMF0gPT0gJ0AnKSAmJiAocG9zID0gc3RyY2hyIChuYW1lLCAnOicp KSApCisgIGlmICggKG5hbWVbMF0gPT0gJ0AnKSAmJiAocG9zID0gKGNoYXIgKikgc3RyY2hy IChuYW1lLCAnOicpKSApCiAgICAgewogICAgICAgbWFzdGVyID0gc3RybmR1cCAobmFtZSsx LCBwb3MtKG5hbWUrMSkpOwogICAgICAgcmVzdCA9IHBvcysxOwpkaWZmIC0tZ2l0IGEvbGli c3RvcmUvbmJkLmMgYi9saWJzdG9yZS9uYmQuYwppbmRleCA1NTYyMjJlMS4uZTI2OTllNzYg MTAwNjQ0Ci0tLSBhL2xpYnN0b3JlL25iZC5jCisrKyBiL2xpYnN0b3JlL25iZC5jCkBAIC0y OTksMTIgKzI5OSwxMiBAQCBzdGF0aWMgZXJyb3JfdAogbmJkX3ZhbGlkYXRlX25hbWUgKGNv bnN0IGNoYXIgKm5hbWUsCiAJCSAgIGNvbnN0IHN0cnVjdCBzdG9yZV9jbGFzcyAqY29uc3Qg KmNsYXNzZXMpCiB7Ci0gIGNoYXIgKnAsICplbmRwOworICBjaGFyICplbmRwOwogCiAgIGlm ICghc3RybmNtcCAobmFtZSwgdXJsX3ByZWZpeCwgc2l6ZW9mIHVybF9wcmVmaXggLSAxKSkK ICAgICBuYW1lICs9IHNpemVvZiB1cmxfcHJlZml4IC0gMTsKIAotICBwID0gc3RyY2hyIChu YW1lLCAnOicpOworICBjb25zdCBjaGFyICpwID0gc3RyY2hyIChuYW1lLCAnOicpOwogICBp ZiAocCA9PSAwKQogICAgIHJldHVybiBFSU5WQUw7CiAgIGVuZHAgPSAwOwpkaWZmIC0tZ2l0 IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jIGIvcGZpbmV0L2xpbnV4LXNy Yy9uZXQvY29yZS9pb3ZlYy5jCmluZGV4IGMyMGY4NTMwLi41Yzk2NjBmOSAxMDA2NDQKLS0t IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9pb3ZlYy5jCisrKyBiL3BmaW5ldC9saW51 eC1zcmMvbmV0L2NvcmUvaW92ZWMuYwpAQCAtMjU5LDcgKzI1OSw4IEBAIGludCBjc3VtX3Bh cnRpYWxfY29weV9mcm9taW92ZWNlbmQodW5zaWduZWQgY2hhciAqa2RhdGEsIHN0cnVjdCBp b3ZlYyAqaW92LAogCQl9CiAKIAkJaWYgKGNvcHkpIHsKLQkJCWNzdW0gPSBjc3VtX2FuZF9j b3B5X2Zyb21fdXNlcihiYXNlLCBrZGF0YSwgY29weSwKKwkJCWNzdW0gPSBjc3VtX2FuZF9j b3B5X2Zyb21fdXNlcigoY29uc3QgY2hhciAqKSBiYXNlLAorCQkJCQkJCShjaGFyICopIGtk YXRhLCBjb3B5LAogCQkJCQkJCWNzdW0sICZlcnIpOwogCQkJaWYgKGVycikKIAkJCQlnb3Rv IG91dDsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2V0aGVybmV0L2V0aC5j IGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvZXRoZXJuZXQvZXRoLmMKaW5kZXggOTQ1ZjRhMDYu LmMzM2MyNWI4IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9ldGhlcm5ldC9l dGguYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9ldGhlcm5ldC9ldGguYwpAQCAtMjkx LDcgKzI5MSw4IEBAIHZvaWQgZXRoX2NvcHlfYW5kX3N1bShzdHJ1Y3Qgc2tfYnVmZiAqZGVz dCwgdW5zaWduZWQgY2hhciAqc3JjLCBpbnQgbGVuZ3RoLCBpbnQKIAlpZiAoKGlwX2xlbmd0 aCA8PSBsZW5ndGgpICYmIChpcF9sZW5ndGggPiA3KSkKIAkJbGVuZ3RoPWlwX2xlbmd0aDsK IAotCWRlc3QtPmNzdW09Y3N1bV9wYXJ0aWFsX2NvcHkoc3JjK3NpemVvZihzdHJ1Y3QgaXBo ZHIpK0VUSF9ITEVOLGRlc3QtPmRhdGErc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRIX0hMRU4s bGVuZ3RoLGJhc2UpOworCWRlc3QtPmNzdW09Y3N1bV9wYXJ0aWFsX2NvcHkoKGNvbnN0IGNo YXIgKilzcmMrc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRIX0hMRU4sCisJCQkJICAgICAoY2hh ciAqKWRlc3QtPmRhdGErc2l6ZW9mKHN0cnVjdCBpcGhkcikrRVRIX0hMRU4sbGVuZ3RoLGJh c2UpOwogCWRlc3QtPmlwX3N1bW1lZD0xOwogfQogCmRpZmYgLS1naXQgYS9wZmluZXQvbGlu dXgtc3JjL25ldC9pcHY0L2FycC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9hcnAu YwppbmRleCA1M2QxNTVhOS4uNTMyOWViYjQgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1z cmMvbmV0L2lwdjQvYXJwLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9hcnAu YwpAQCAtMTk3LDEzICsxOTcsMTMgQEAgaW50IGFycF9tY19tYXAodTMyIGFkZHIsIHU4ICpo YWRkciwgc3RydWN0IGRldmljZSAqZGV2LCBpbnQgZGlyKQogCXN3aXRjaCAoZGV2LT50eXBl KSB7CiAJY2FzZSBBUlBIUkRfRVRIRVI6CiAJY2FzZSBBUlBIUkRfRkRESToKLQkJaXBfZXRo X21jX21hcChhZGRyLCBoYWRkcikgOyAKKwkJaXBfZXRoX21jX21hcChhZGRyLCAoY2hhciAq KSBoYWRkcik7CiAJCXJldHVybiAwIDsgCiAJY2FzZSBBUlBIUkRfSUVFRTgwMjoKIAkJaWYg KCAoZGV2LT5uYW1lWzBdID09ICd0JykgJiYgKGRldi0+bmFtZVsxXSA9PSAncicpKSAvKiBU b2tlbiBSaW5nICovCi0JCQlpcF90cl9tY19tYXAoYWRkcixoYWRkcikgOyAKKwkJCWlwX3Ry X21jX21hcChhZGRyLCAoY2hhciAqKSBoYWRkcik7CiAJCWVsc2UgIAotCQkJaXBfZXRoX21j X21hcChhZGRyLCBoYWRkcik7CisJCQlpcF9ldGhfbWNfbWFwKGFkZHIsIChjaGFyICopIGhh ZGRyKTsKIAkJcmV0dXJuIDA7CiAJZGVmYXVsdDoKIAkJaWYgKGRpcikgewpAQCAtODI1LDcg KzgyNSw3IEBAIGludCBhcnBfcmVxX3NldChzdHJ1Y3QgYXJwcmVxICpyLCBzdHJ1Y3QgZGV2 aWNlICogZGV2KQogCQlpZiAoci0+YXJwX2ZsYWdzICYgQVRGX1BFUk0pCiAJCQlzdGF0ZSA9 IE5VRF9QRVJNQU5FTlQ7CiAJCWVyciA9IG5laWdoX3VwZGF0ZShuZWlnaCwgKHItPmFycF9m bGFncyZBVEZfQ09NKSA/Ci0JCQkJICAgci0+YXJwX2hhLnNhX2RhdGEgOiBOVUxMLCBzdGF0 ZSwgMSwgMCk7CisJCQkJICAgKHVuc2lnbmVkIGNoYXIgKikgci0+YXJwX2hhLnNhX2RhdGEg OiBOVUxMLCBzdGF0ZSwgMSwgMCk7CiAJCW5laWdoX3JlbGVhc2UobmVpZ2gpOwogCX0KIAll bmRfYmhfYXRvbWljKCk7CmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0 L2lnbXAuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvaWdtcC5jCmluZGV4IDQ2MjY5 MTA2Li5hZDVjMGE5NyAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9p Z21wLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pZ21wLmMKQEAgLTM1Miw3 ICszNTIsNyBAQCBzdGF0aWMgdm9pZCBpcF9tY19maWx0ZXJfYWRkKHN0cnVjdCBpbl9kZXZp Y2UgKmluX2RldiwgdTMyIGFkZHIpCiAJICAgaWYgKGRldi0+bWNfbGlzdCAmJiBkZXYtPmZs YWdzJklGRl9NVUxUSUNBU1QpIHsgZG8gaXQ7IH0KIAkgICAtLUFOSwogCSAqLwotCWlmIChh cnBfbWNfbWFwKGFkZHIsIGJ1ZiwgZGV2LCAwKSA9PSAwKQorCWlmIChhcnBfbWNfbWFwKGFk ZHIsICh1bnNpZ25lZCBjaGFyICopIGJ1ZiwgZGV2LCAwKSA9PSAwKQogCQlkZXZfbWNfYWRk KGRldixidWYsZGV2LT5hZGRyX2xlbiwwKTsKIH0KIApAQCAtMzY1LDcgKzM2NSw3IEBAIHN0 YXRpYyB2b2lkIGlwX21jX2ZpbHRlcl9kZWwoc3RydWN0IGluX2RldmljZSAqaW5fZGV2LCB1 MzIgYWRkcikKIAljaGFyIGJ1ZltNQVhfQUREUl9MRU5dOwogCXN0cnVjdCBkZXZpY2UgKmRl diA9IGluX2Rldi0+ZGV2OwogCi0JaWYgKGFycF9tY19tYXAoYWRkciwgYnVmLCBkZXYsIDAp ID09IDApCisJaWYgKGFycF9tY19tYXAoYWRkciwgKHVuc2lnbmVkIGNoYXIgKikgYnVmLCBk ZXYsIDApID09IDApCiAJCWRldl9tY19kZWxldGUoZGV2LGJ1ZixkZXYtPmFkZHJfbGVuLDAp OwogfQogCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2lwX291dHB1 dC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9vdXRwdXQuYwppbmRleCBmNDNm NGZmZC4uNzU1NjA0MmEgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQv aXBfb3V0cHV0LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9vdXRwdXQu YwpAQCAtNDg4LDcgKzQ4OCw3IEBAIGludCBpcF9idWlsZF94bWl0X3Nsb3coc3RydWN0IHNv Y2sgKnNrLAogCSAqLwogCSAKIAlkbyB7Ci0JCWNoYXIgKmRhdGE7CisJCXVuc2lnbmVkIGNo YXIgKmRhdGE7CiAJCXN0cnVjdCBza19idWZmICogc2tiOwogCiAJCS8qCkBAIC01NTUsNyAr NTU1LDcgQEAgaW50IGlwX2J1aWxkX3htaXRfc2xvdyhzdHJ1Y3Qgc29jayAqc2ssCiAJCSAq CVVzZXIgZGF0YSBjYWxsYmFjawogCQkgKi8KIAotCQlpZiAoZ2V0ZnJhZyhmcmFnLCBkYXRh LCBvZmZzZXQsIGZyYWdsZW4tZnJhZ2hlYWRlcmxlbikpIHsKKwkJaWYgKGdldGZyYWcoZnJh ZywgKGNoYXIgKikgZGF0YSwgb2Zmc2V0LCBmcmFnbGVuLWZyYWdoZWFkZXJsZW4pKSB7CiAJ CQllcnIgPSAtRUZBVUxUOwogCQkJa2ZyZWVfc2tiKHNrYik7CiAJCQlnb3RvIGVycm9yOwpk aWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9zb2NrZ2x1ZS5jIGIv cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9zb2NrZ2x1ZS5jCmluZGV4IDM2OWE2Nzcw Li5iYWM5MDc2NiAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9z b2NrZ2x1ZS5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvaXBfc29ja2dsdWUu YwpAQCAtNDA1LDcgKzQwNSw3IEBAIGludCBpcF9zZXRzb2Nrb3B0KHN0cnVjdCBzb2NrICpz aywgaW50IGxldmVsLCBpbnQgb3B0bmFtZSwgY2hhciAqb3B0dmFsLCBpbnQgb3B0CiAJCQlz dHJ1Y3QgaXBfb3B0aW9ucyAqIG9wdCA9IE5VTEw7CiAJCQlpZiAob3B0bGVuID4gNDAgfHwg b3B0bGVuIDwgMCkKIAkJCQlyZXR1cm4gLUVJTlZBTDsKLQkJCWVyciA9IGlwX29wdGlvbnNf Z2V0KCZvcHQsIG9wdHZhbCwgb3B0bGVuLCAxKTsKKwkJCWVyciA9IGlwX29wdGlvbnNfZ2V0 KCZvcHQsICh1bnNpZ25lZCBjaGFyICopIG9wdHZhbCwgb3B0bGVuLCAxKTsKIAkJCWlmIChl cnIpCiAJCQkJcmV0dXJuIGVycjsKIAkJCWxvY2tfc29jayhzayk7CmRpZmYgLS1naXQgYS9w ZmluZXQvbGludXgtc3JjL25ldC9pcHY0L3Jhdy5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQv aXB2NC9yYXcuYwppbmRleCBhMGFhYTgyZS4uNTQ2MGZmMzUgMTAwNjQ0Ci0tLSBhL3BmaW5l dC9saW51eC1zcmMvbmV0L2lwdjQvcmF3LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQv aXB2NC9yYXcuYwpAQCAtMjEwLDcgKzIxMCw3IEBAIHN0cnVjdCByYXdmYWtlaGRyCiBzdGF0 aWMgaW50IHJhd19nZXRmcmFnKGNvbnN0IHZvaWQgKnAsIGNoYXIgKnRvLCB1bnNpZ25lZCBp bnQgb2Zmc2V0LCB1bnNpZ25lZCBpbnQgZnJhZ2xlbikKIHsKIAlzdHJ1Y3QgcmF3ZmFrZWhk ciAqcmZoID0gKHN0cnVjdCByYXdmYWtlaGRyICopIHA7Ci0JcmV0dXJuIG1lbWNweV9mcm9t aW92ZWNlbmQodG8sIHJmaC0+aW92LCBvZmZzZXQsIGZyYWdsZW4pOworCXJldHVybiBtZW1j cHlfZnJvbWlvdmVjZW5kKCh1bnNpZ25lZCBjaGFyICopIHRvLCByZmgtPmlvdiwgb2Zmc2V0 LCBmcmFnbGVuKTsKIH0KIAogLyoKQEAgLTIyMSw3ICsyMjEsNyBAQCBzdGF0aWMgaW50IHJh d19nZXRyYXdmcmFnKGNvbnN0IHZvaWQgKnAsIGNoYXIgKnRvLCB1bnNpZ25lZCBpbnQgb2Zm c2V0LCB1bnNpZ25lZAogewogCXN0cnVjdCByYXdmYWtlaGRyICpyZmggPSAoc3RydWN0IHJh d2Zha2VoZHIgKikgcDsKIAotCWlmIChtZW1jcHlfZnJvbWlvdmVjZW5kKHRvLCByZmgtPmlv diwgb2Zmc2V0LCBmcmFnbGVuKSkKKwlpZiAobWVtY3B5X2Zyb21pb3ZlY2VuZCgodW5zaWdu ZWQgY2hhciAqKSB0bywgcmZoLT5pb3YsIG9mZnNldCwgZnJhZ2xlbikpCiAJCXJldHVybiAt RUZBVUxUOwogCiAJaWYgKG9mZnNldD09MCkgewpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4 LXNyYy9uZXQvaXB2NC90Y3AuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwLmMK aW5kZXggMTNlNTc5NTQuLjVhMDRjMmQyIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3Jj L25ldC9pcHY0L3RjcC5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwLmMK QEAgLTg2Myw3ICs4NjMsOCBAQCBpbnQgdGNwX2RvX3NlbmRtc2coc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3QgbXNnaGRyICptc2cpCiAJCQkJCX0gZWxzZSB7CiAJCQkJCQlza2ItPmNzdW0g PQogCQkJCQkJCWNzdW1fYW5kX2NvcHlfZnJvbV91c2VyKAotCQkJCQkJCWZyb20sIHNrYl9w dXQoc2tiLCBjb3B5KSwKKwkJCQkJCQkoY29uc3QgY2hhciAqKSBmcm9tLAorCQkJCQkJCShj aGFyICopIHNrYl9wdXQoc2tiLCBjb3B5KSwKIAkJCQkJCQljb3B5LCBza2ItPmNzdW0sICZl cnIpOwogCQkJCQl9CiAKQEAgLTk3Niw4ICs5NzcsOCBAQCBpbnQgdGNwX2RvX3NlbmRtc2co c3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3QgbXNnaGRyICptc2cpCiAJCQkgKiBSZXNlcnZlIGhl YWRlciBzcGFjZSBhbmQgY2hlY2tzdW0gdGhlIGRhdGEuCiAJCQkgKi8KIAkJCXNrYl9yZXNl cnZlKHNrYiwgTUFYX0hFQURFUiArIHNrLT5wcm90LT5tYXhfaGVhZGVyKTsKLQkJCXNrYi0+ Y3N1bSA9IGNzdW1fYW5kX2NvcHlfZnJvbV91c2VyKGZyb20sCi0JCQkJCXNrYl9wdXQoc2ti LCBjb3B5KSwgY29weSwgMCwgJmVycik7CisJCQlza2ItPmNzdW0gPSBjc3VtX2FuZF9jb3B5 X2Zyb21fdXNlcigoY29uc3QgY2hhciAqKSBmcm9tLAorCQkJCQkoY2hhciAqKSBza2JfcHV0 KHNrYiwgY29weSksIGNvcHksIDAsICZlcnIpOwogCiAJCQlpZiAoZXJyKQogCQkJCWdvdG8g ZG9fZmF1bHQ7CkBAIC0xMDY5LDcgKzEwNzAsNyBAQCBzdGF0aWMgaW50IHRjcF9yZWN2X3Vy ZyhzdHJ1Y3Qgc29jayAqIHNrLCBpbnQgbm9uYmxvY2ssCiAJbG9ja19zb2NrKHNrKTsKIAlp ZiAodHAtPnVyZ19kYXRhICYgVVJHX1ZBTElEKSB7CiAJCWludCBlcnIgPSAwOwotCQljaGFy IGMgPSB0cC0+dXJnX2RhdGE7CisJCXVuc2lnbmVkIGNoYXIgYyA9IHRwLT51cmdfZGF0YTsK IAogCQlpZiAoIShmbGFncyAmIE1TR19QRUVLKSkKIAkJCXRwLT51cmdfZGF0YSA9IFVSR19S RUFEOwpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3BfaXB2NC5j IGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3BfaXB2NC5jCmluZGV4IGFjNTU1NDdh Li44Mjk2NmIzMCAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3Bf aXB2NC5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNwX2lwdjQuYwpAQCAt OTY1LDcgKzk2NSw4IEBAIHZvaWQgdGNwX3Y0X3NlbmRfY2hlY2soc3RydWN0IHNvY2sgKnNr LCBzdHJ1Y3QgdGNwaGRyICp0aCwgaW50IGxlbiwKIHsKIAl0aC0+Y2hlY2sgPSAwOwogCXRo LT5jaGVjayA9IHRjcF92NF9jaGVjayh0aCwgbGVuLCBzay0+c2FkZHIsIHNrLT5kYWRkciwK LQkJCQkgY3N1bV9wYXJ0aWFsKChjaGFyICopdGgsIHRoLT5kb2ZmPDwyLCBza2ItPmNzdW0p KTsKKwkJCQkgY3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFyICopIHRoLAorCQkJ CQkgICAgICB0aC0+ZG9mZjw8Miwgc2tiLT5jc3VtKSk7CiB9CiAKIC8qCkBAIC0xMTc3LDcg KzExNzgsOCBAQCBzdGF0aWMgdm9pZCB0Y3BfdjRfc2VuZF9zeW5hY2soc3RydWN0IHNvY2sg KnNrLCBzdHJ1Y3Qgb3Blbl9yZXF1ZXN0ICpyZXEpCiAKIAkJdGgtPmNoZWNrID0gdGNwX3Y0 X2NoZWNrKHRoLCBza2ItPmxlbiwKIAkJCQkJIHJlcS0+YWYudjRfcmVxLmxvY19hZGRyLCBy ZXEtPmFmLnY0X3JlcS5ybXRfYWRkciwKLQkJCQkJIGNzdW1fcGFydGlhbCgoY2hhciAqKXRo LCBza2ItPmxlbiwgc2tiLT5jc3VtKSk7CisJCQkJCSBjc3VtX3BhcnRpYWwoKGNvbnN0IHVu c2lnbmVkIGNoYXIgKikgdGgsIHNrYi0+bGVuLAorCQkJCQkJICAgICAgc2tiLT5jc3VtKSk7 CiAKIAkJaXBfYnVpbGRfYW5kX3NlbmRfcGt0KHNrYiwgc2ssIHJlcS0+YWYudjRfcmVxLmxv Y19hZGRyLAogCQkJCSAgICAgIHJlcS0+YWYudjRfcmVxLnJtdF9hZGRyLCByZXEtPmFmLnY0 X3JlcS5vcHQpOwpAQCAtMTcyMyw3ICsxNzI1LDcgQEAgaW50IHRjcF92NF9yY3Yoc3RydWN0 IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgc2hvcnQgbGVuKQogCS8qIFRyeSB0byB1c2UgdGhl IGRldmljZSBjaGVja3N1bSBpZiBwcm92aWRlZC4gKi8KIAlzd2l0Y2ggKHNrYi0+aXBfc3Vt bWVkKSB7CiAJY2FzZSBDSEVDS1NVTV9OT05FOgotCQlza2ItPmNzdW0gPSBjc3VtX3BhcnRp YWwoKGNoYXIgKil0aCwgbGVuLCAwKTsKKwkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsKChj b25zdCB1bnNpZ25lZCBjaGFyICopIHRoLCBsZW4sIDApOwogCWNhc2UgQ0hFQ0tTVU1fSFc6 CiAJCWlmICh0Y3BfdjRfY2hlY2sodGgsbGVuLHNrYi0+bmguaXBoLT5zYWRkcixza2ItPm5o LmlwaC0+ZGFkZHIsc2tiLT5jc3VtKSkgewogCQkJTkVUREVCVUcocHJpbnRrKEtFUk5fREVC VUcgIlRDUHY0IGJhZCBjaGVja3N1bSAiCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3Jj L25ldC9pcHY0L3RjcF9vdXRwdXQuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdGNw X291dHB1dC5jCmluZGV4IGExNWI3YjMwLi5jZGI0MjA0YSAxMDA2NDQKLS0tIGEvcGZpbmV0 L2xpbnV4LXNyYy9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNy Yy9uZXQvaXB2NC90Y3Bfb3V0cHV0LmMKQEAgLTIzMCw3ICsyMzAsOCBAQCBzdGF0aWMgaW50 IHRjcF9mcmFnbWVudChzdHJ1Y3Qgc29jayAqc2ssIHN0cnVjdCBza19idWZmICpza2IsIHUz MiBsZW4pCiAJVENQX1NLQl9DQihidWZmKS0+c2Fja2VkID0gMDsKIAogCS8qIENvcHkgYW5k IGNoZWNrc3VtIGRhdGEgdGFpbCBpbnRvIHRoZSBuZXcgYnVmZmVyLiAqLwotCWJ1ZmYtPmNz dW0gPSBjc3VtX3BhcnRpYWxfY29weShza2ItPmRhdGEgKyBsZW4sIHNrYl9wdXQoYnVmZiwg bnNpemUpLAorCWJ1ZmYtPmNzdW0gPSBjc3VtX3BhcnRpYWxfY29weSgoY29uc3QgY2hhciAq KSBza2ItPmRhdGEgKyBsZW4sCisJCQkJICAgICAgIChjaGFyICopIHNrYl9wdXQoYnVmZiwg bnNpemUpLAogCQkJCSAgICAgICBuc2l6ZSwgMCk7CiAKIAkvKiBUaGlzIHRha2VzIGNhcmUg b2YgdGhlIEZJTiBzZXF1ZW5jZSBudW1iZXIgdG9vLiAqLwpAQCAtNDk1LDggKzQ5Niw4IEBA IHN0YXRpYyB2b2lkIHRjcF9yZXRyYW5zX3RyeV9jb2xsYXBzZShzdHJ1Y3Qgc29jayAqc2ss IHN0cnVjdCBza19idWZmICpza2IsIGludCBtCiAJCQkvKiBPcHRpbWl6ZSwgYWN0dWFsbHkg d2UgY291bGQgYWxzbyBjb21iaW5lIG5leHRfc2tiLT5jc3VtCiAJCQkgKiB0byBza2ItPmNz dW0gdXNpbmcgYSBzaW5nbGUgYWRkIHcvY2Fycnkgb3BlcmF0aW9uIHRvby4KIAkJCSAqLwot CQkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsX2NvcHkobmV4dF9za2ItPmRhdGEsCi0JCQkJ CQkgICAgICBza2JfcHV0KHNrYiwgbmV4dF9za2Jfc2l6ZSksCisJCQlza2ItPmNzdW0gPSBj c3VtX3BhcnRpYWxfY29weSgoY29uc3QgY2hhciAqKSBuZXh0X3NrYi0+ZGF0YSwKKwkJCQkJ CSAgICAgIChjaGFyICopIHNrYl9wdXQoc2tiLCBuZXh0X3NrYl9zaXplKSwKIAkJCQkJCSAg ICAgIG5leHRfc2tiX3NpemUsIHNrYi0+Y3N1bSk7CiAJCX0KIAkKZGlmZiAtLWdpdCBhL3Bm aW5ldC9saW51eC1zcmMvbmV0L2lwdjQvdWRwLmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9p cHY0L3VkcC5jCmluZGV4IDUyYmFlMThlLi42Yzc3NDEyYiAxMDA2NDQKLS0tIGEvcGZpbmV0 L2xpbnV4LXNyYy9uZXQvaXB2NC91ZHAuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9p cHY0L3VkcC5jCkBAIC01MDYsMTAgKzUwNiwxMiBAQCBzdGF0aWMgaW50IHVkcF9nZXRmcmFn KGNvbnN0IHZvaWQgKnAsIGNoYXIgKiB0bywgdW5zaWduZWQgaW50IG9mZnNldCwgdW5zaWdu ZWQgaQogewogCXN0cnVjdCB1ZHBmYWtlaGRyICp1ZmggPSAoc3RydWN0IHVkcGZha2VoZHIg KilwOwogCWlmIChvZmZzZXQ9PTApIHsKLQkJaWYgKGNzdW1fcGFydGlhbF9jb3B5X2Zyb21p b3ZlY2VuZCh0bytzaXplb2Yoc3RydWN0IHVkcGhkciksIHVmaC0+aW92LCBvZmZzZXQsCi0J CQkJCQkgICBmcmFnbGVuLXNpemVvZihzdHJ1Y3QgdWRwaGRyKSwgJnVmaC0+d2NoZWNrKSkK KwkJaWYgKGNzdW1fcGFydGlhbF9jb3B5X2Zyb21pb3ZlY2VuZCgodW5zaWduZWQgY2hhciAq KSB0bytzaXplb2Yoc3RydWN0IHVkcGhkciksCisJCQkJCQkgICB1ZmgtPmlvdiwgb2Zmc2V0 LAorCQkJCQkJICAgZnJhZ2xlbi1zaXplb2Yoc3RydWN0IHVkcGhkciksCisJCQkJCQkgICAo aW50ICopICZ1ZmgtPndjaGVjaykpCiAJCQlyZXR1cm4gLUVGQVVMVDsKLSAJCXVmaC0+d2No ZWNrID0gY3N1bV9wYXJ0aWFsKChjaGFyICopdWZoLCBzaXplb2Yoc3RydWN0IHVkcGhkciks CisJCXVmaC0+d2NoZWNrID0gY3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFyICop IHVmaCwgc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAogCQkJCQkgICB1ZmgtPndjaGVjayk7CiAJ CXVmaC0+dWguY2hlY2sgPSBjc3VtX3RjcHVkcF9tYWdpYyh1ZmgtPnNhZGRyLCB1ZmgtPmRh ZGRyLAogCQkJCQkgIG50b2hzKHVmaC0+dWgubGVuKSwKQEAgLTUxOSw4ICs1MjEsOSBAQCBz dGF0aWMgaW50IHVkcF9nZXRmcmFnKGNvbnN0IHZvaWQgKnAsIGNoYXIgKiB0bywgdW5zaWdu ZWQgaW50IG9mZnNldCwgdW5zaWduZWQgaQogCQltZW1jcHkodG8sIHVmaCwgc2l6ZW9mKHN0 cnVjdCB1ZHBoZHIpKTsKIAkJcmV0dXJuIDA7CiAJfQotCWlmIChjc3VtX3BhcnRpYWxfY29w eV9mcm9taW92ZWNlbmQodG8sIHVmaC0+aW92LCBvZmZzZXQtc2l6ZW9mKHN0cnVjdCB1ZHBo ZHIpLAotCQkJCQkgICBmcmFnbGVuLCAmdWZoLT53Y2hlY2spKQorCWlmIChjc3VtX3BhcnRp YWxfY29weV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgdG8sIHVmaC0+aW92LAor CQkJCQkgICBvZmZzZXQtc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAorCQkJCQkgICBmcmFnbGVu LCAoaW50ICopICZ1ZmgtPndjaGVjaykpCiAJCXJldHVybiAtRUZBVUxUOwogCXJldHVybiAw OwogfQpAQCAtNTM4LDEwICs1NDEsMTEgQEAgc3RhdGljIGludCB1ZHBfZ2V0ZnJhZ19ub3N1 bShjb25zdCB2b2lkICpwLCBjaGFyICogdG8sIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2kK IAogCWlmIChvZmZzZXQ9PTApIHsKIAkJbWVtY3B5KHRvLCB1ZmgsIHNpemVvZihzdHJ1Y3Qg dWRwaGRyKSk7Ci0JCXJldHVybiBtZW1jcHlfZnJvbWlvdmVjZW5kKHRvK3NpemVvZihzdHJ1 Y3QgdWRwaGRyKSwgdWZoLT5pb3YsIG9mZnNldCwKKwkJcmV0dXJuIG1lbWNweV9mcm9taW92 ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikgdG8rc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAorCQkJ CQkgICB1ZmgtPmlvdiwgb2Zmc2V0LAogCQkJCQkgICBmcmFnbGVuLXNpemVvZihzdHJ1Y3Qg dWRwaGRyKSk7CiAJfQotCXJldHVybiBtZW1jcHlfZnJvbWlvdmVjZW5kKHRvLCB1ZmgtPmlv diwgb2Zmc2V0LXNpemVvZihzdHJ1Y3QgdWRwaGRyKSwKKwlyZXR1cm4gbWVtY3B5X2Zyb21p b3ZlY2VuZCgodW5zaWduZWQgY2hhciAqKSB0bywgdWZoLT5pb3YsIG9mZnNldC1zaXplb2Yo c3RydWN0IHVkcGhkciksCiAJCQkJICAgZnJhZ2xlbik7CiB9CiAKQEAgLTExMDIsNyArMTEw Niw3IEBAIGludCB1ZHBfcmN2KHN0cnVjdCBza19idWZmICpza2IsIHVuc2lnbmVkIHNob3J0 IGxlbikKIAlpZiAodWgtPmNoZWNrICYmCiAJICAgICgoKHNrYi0+aXBfc3VtbWVkPT1DSEVD S1NVTV9IVykmJnVkcF9jaGVjayh1aCx1bGVuLHNhZGRyLGRhZGRyLHNrYi0+Y3N1bSkpIHx8 CiAJICAgICAoKHNrYi0+aXBfc3VtbWVkPT1DSEVDS1NVTV9OT05FKSAmJgotCSAgICAgICh1 ZHBfY2hlY2sodWgsdWxlbixzYWRkcixkYWRkciwgY3N1bV9wYXJ0aWFsKChjaGFyKil1aCwg dWxlbiwgMCkpKSkpKQorCSAgICAgICh1ZHBfY2hlY2sodWgsdWxlbixzYWRkcixkYWRkciwg Y3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFyKikgdWgsIHVsZW4sIDApKSkpKSkK IAkJZ290byBjc3VtX2Vycm9yOwogI2Vsc2UKIAlpZiAodWgtPmNoZWNrPT0wKQpkaWZmIC0t Z2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pY21wdjYuYyBiL3BmaW5ldC9saW51 eC1zcmMvbmV0L2lwdjYvaWNtcHY2LmMKaW5kZXggOWQ3MDE3NjQuLjM4ZDkzZmFhIDEwMDY0 NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L2ljbXB2Ni5jCisrKyBiL3BmaW5l dC9saW51eC1zcmMvbmV0L2lwdjYvaWNtcHY2LmMKQEAgLTM2NCw3ICszNjQsNyBAQCBzdGF0 aWMgdm9pZCBpY21wdjZfZWNob19yZXBseShzdHJ1Y3Qgc2tfYnVmZiAqc2tiKQogCXVuc2ln bmVkIGNoYXIgKmRhdGE7CiAJaW50IGxlbjsKIAotCWRhdGEgPSAoY2hhciAqKSAoaWNtcGgg KyAxKTsKKwlkYXRhID0gKHVuc2lnbmVkIGNoYXIgKikgKGljbXBoICsgMSk7CiAKIAlzYWRk ciA9ICZoZHItPmRhZGRyOwogCkBAIC00NzQsNyArNDc0LDcgQEAgaW50IGljbXB2Nl9yY3Yo c3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgbG9uZyBsZW4pCiAJLyogUGVyZm9ybSBj aGVja3N1bS4gKi8KIAlzd2l0Y2ggKHNrYi0+aXBfc3VtbWVkKSB7CQogCWNhc2UgQ0hFQ0tT VU1fTk9ORToKLQkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsKChjaGFyICopaGRyLCBsZW4s IDApOworCQlza2ItPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIg KikgaGRyLCBsZW4sIDApOwogCWNhc2UgQ0hFQ0tTVU1fSFc6CiAJCWlmIChjc3VtX2lwdjZf bWFnaWMoc2FkZHIsIGRhZGRyLCBsZW4sIElQUFJPVE9fSUNNUFY2LCAKIAkJCQkgICAgc2ti LT5jc3VtKSkgewpAQCAtNTQzLDcgKzU0Myw3IEBAIGludCBpY21wdjZfcmN2KHN0cnVjdCBz a19idWZmICpza2IsIHVuc2lnbmVkIGxvbmcgbGVuKQogCWNhc2UgSUNNUFY2X1RJTUVfRVhD RUVEOgogCWNhc2UgSUNNUFY2X1BBUkFNUFJPQjoKIAkJaWNtcHY2X25vdGlmeShza2IsIHR5 cGUsIGhkci0+aWNtcDZfY29kZSwgaGRyLT5pY21wNl9tdHUsCi0JCQkgICAgICAoY2hhciAq KSAoaGRyICsgMSksIHVsZW4pOworCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKikgKGhkciAr IDEpLCB1bGVuKTsKIAkJYnJlYWs7CiAKIAljYXNlIE5ESVNDX1JPVVRFUl9TT0xJQ0lUQVRJ T046CkBAIC01NzksNyArNTc5LDcgQEAgaW50IGljbXB2Nl9yY3Yoc3RydWN0IHNrX2J1ZmYg KnNrYiwgdW5zaWduZWQgbG9uZyBsZW4pCiAJCSAqLwogCiAJCWljbXB2Nl9ub3RpZnkoc2ti LCB0eXBlLCBoZHItPmljbXA2X2NvZGUsIGhkci0+aWNtcDZfbXR1LAotCQkJICAgICAgKGNo YXIgKikgKGhkciArIDEpLCB1bGVuKTsKKwkJCSAgICAgICh1bnNpZ25lZCBjaGFyICopICho ZHIgKyAxKSwgdWxlbik7CiAJfTsKIAlrZnJlZV9za2Ioc2tiKTsKIAlyZXR1cm4gMDsKZGlm ZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvaXA2X291dHB1dC5jIGIvcGZp bmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pcDZfb3V0cHV0LmMKaW5kZXggZTA2YWQ1OWEuLjdi MmI1N2UyIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L2lwNl9vdXRw dXQuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L2lwNl9vdXRwdXQuYwpAQCAt MzQ0LDcgKzM0NCw3IEBAIHN0YXRpYyBpbnQgaXA2X2ZyYWdfeG1pdChzdHJ1Y3Qgc29jayAq c2ssIGluZXRfZ2V0ZnJhZ190IGdldGZyYWcsCiAJcHJldl9oZHIgPSBpcHY2X2J1aWxkX2Zy YWdoZHIobGFzdF9za2IsIHByZXZfaGRyLCBmcmFnX29mZik7CiAJZmhkcl9kaXN0ID0gcHJl dl9oZHIgLSBsYXN0X3NrYi0+ZGF0YTsKIAotCWVyciA9IGdldGZyYWcoZGF0YSwgJmhkci0+ c2FkZHIsIGxhc3Rfc2tiLT50YWlsLCBkYXRhX29mZiwgbGFzdF9sZW4pOworCWVyciA9IGdl dGZyYWcoZGF0YSwgJmhkci0+c2FkZHIsIChjaGFyICopIGxhc3Rfc2tiLT50YWlsLCBkYXRh X29mZiwgbGFzdF9sZW4pOwogCiAJaWYgKCFlcnIpIHsKIAkJd2hpbGUgKG5mcmFncy0tKSB7 CkBAIC0zNzUsNyArMzc1LDcgQEAgc3RhdGljIGludCBpcDZfZnJhZ194bWl0KHN0cnVjdCBz b2NrICpzaywgaW5ldF9nZXRmcmFnX3QgZ2V0ZnJhZywKIAkJCQlkYXRhX29mZiA9IDA7CiAJ CQl9CiAKLQkJCWVyciA9IGdldGZyYWcoZGF0YSwgJmhkci0+c2FkZHIsc2tiX3B1dChza2Is IGZyYWdfbGVuKSwKKwkJCWVyciA9IGdldGZyYWcoZGF0YSwgJmhkci0+c2FkZHIsIChjaGFy ICopIHNrYl9wdXQoc2tiLCBmcmFnX2xlbiksCiAJCQkJICAgICAgZGF0YV9vZmYsIGZyYWdf bGVuKTsKIAogCQkJaWYgKGVycikgewpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9u ZXQvaXB2Ni9tY2FzdC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9tY2FzdC5jCmlu ZGV4IDg3ZTllOTA5Li5jZDQ0OGQzMSAxMDA2NDQKLS0tIGEvcGZpbmV0L2xpbnV4LXNyYy9u ZXQvaXB2Ni9tY2FzdC5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvbWNhc3Qu YwpAQCAtNDU2LDcgKzQ1Niw3IEBAIHZvaWQgaWdtcDZfc2VuZChzdHJ1Y3QgaW42X2FkZHIg KmFkZHIsIHN0cnVjdCBkZXZpY2UgKmRldiwgaW50IHR5cGUpCiAJc2tiX3Jlc2VydmUoc2ti LCAoZGV2LT5oYXJkX2hlYWRlcl9sZW4gKyAxNSkgJiB+MTUpOwogCWlmIChkZXYtPmhhcmRf aGVhZGVyKSB7CiAJCXVuc2lnbmVkIGNoYXIgaGFbTUFYX0FERFJfTEVOXTsKLQkJbmRpc2Nf bWNfbWFwKHNuZF9hZGRyLCBoYSwgZGV2LCAxKTsKKwkJbmRpc2NfbWNfbWFwKHNuZF9hZGRy LCAoY2hhciAqKSBoYSwgZGV2LCAxKTsKIAkJZGV2LT5oYXJkX2hlYWRlcihza2IsIGRldiwg RVRIX1BfSVBWNiwgaGEsIE5VTEwsIGZ1bGxfbGVuKTsKIAl9CiAKZGlmZiAtLWdpdCBhL3Bm aW5ldC9saW51eC1zcmMvbmV0L2lwdjYvbmRpc2MuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0 L2lwdjYvbmRpc2MuYwppbmRleCA2MWY5NTBkMi4uZjA0NzgxZDQgMTAwNjQ0Ci0tLSBhL3Bm aW5ldC9saW51eC1zcmMvbmV0L2lwdjYvbmRpc2MuYworKysgYi9wZmluZXQvbGludXgtc3Jj L25ldC9pcHY2L25kaXNjLmMKQEAgLTE5Miw3ICsxOTIsNyBAQCBzdGF0aWMgaW50IG5kaXNj X2NvbnN0cnVjdG9yKHN0cnVjdCBuZWlnaGJvdXIgKm5laWdoKQogCX0gZWxzZSB7CiAJCWlm IChhZGRyX3R5cGUmSVBWNl9BRERSX01VTFRJQ0FTVCkgewogCQkJbmVpZ2gtPm51ZF9zdGF0 ZSA9IE5VRF9OT0FSUDsKLQkJCW5kaXNjX21jX21hcChhZGRyLCBuZWlnaC0+aGEsIGRldiwg MSk7CisJCQluZGlzY19tY19tYXAoYWRkciwgKGNoYXIgKikgbmVpZ2gtPmhhLCBkZXYsIDEp OwogCQl9IGVsc2UgaWYgKGRldi0+ZmxhZ3MmKElGRl9OT0FSUHxJRkZfTE9PUEJBQ0spKSB7 CiAJCQluZWlnaC0+bnVkX3N0YXRlID0gTlVEX05PQVJQOwogCQkJbWVtY3B5KG5laWdoLT5o YSwgZGV2LT5kZXZfYWRkciwgZGV2LT5hZGRyX2xlbik7CkBAIC0yNjUsNyArMjY1LDcgQEAg bmRpc2NfYnVpbGRfbGxfaGRyKHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBkZXZpY2Ug KmRldiwKIAogCWlmIChkZXYtPmhhcmRfaGVhZGVyKSB7CiAJCWlmIChpcHY2X2FkZHJfdHlw ZShkYWRkcikgJiBJUFY2X0FERFJfTVVMVElDQVNUKSB7Ci0JCQluZGlzY19tY19tYXAoZGFk ZHIsIGhhLCBkZXYsIDEpOworCQkJbmRpc2NfbWNfbWFwKGRhZGRyLCAoY2hhciAqKSBoYSwg ZGV2LCAxKTsKIAkJCWhfZGVzdCA9IGhhOwogCQl9IGVsc2UgaWYgKG5laWdoKSB7CiAJCQlo X2Rlc3QgPSBuZWlnaC0+aGE7CmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9p cHY2L3Jhd19pcHY2LmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3Jhd19pcHY2LmMK aW5kZXggNjRiYzI0N2MuLmU5YTY0MTcwIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3Jj L25ldC9pcHY2L3Jhd19pcHY2LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9y YXdfaXB2Ni5jCkBAIC0zMDgsNyArMzA4LDcgQEAgc3RhdGljIGludCByYXd2Nl9nZXRmcmFn KGNvbnN0IHZvaWQgKmRhdGEsIHN0cnVjdCBpbjZfYWRkciAqc2FkZHIsCiB7CiAJc3RydWN0 IGlvdmVjICppb3YgPSAoc3RydWN0IGlvdmVjICopIGRhdGE7CiAKLQlyZXR1cm4gbWVtY3B5 X2Zyb21pb3ZlY2VuZChidWZmLCBpb3YsIG9mZnNldCwgbGVuKTsKKwlyZXR1cm4gbWVtY3B5 X2Zyb21pb3ZlY2VuZCgodW5zaWduZWQgY2hhciAqKSBidWZmLCBpb3YsIG9mZnNldCwgbGVu KTsKIH0KIAogc3RhdGljIGludCByYXd2Nl9mcmFnX2Nrc3VtKGNvbnN0IHZvaWQgKmRhdGEs IHN0cnVjdCBpbjZfYWRkciAqYWRkciwKQEAgLTMxNyw4ICszMTcsOCBAQCBzdGF0aWMgaW50 IHJhd3Y2X2ZyYWdfY2tzdW0oY29uc3Qgdm9pZCAqZGF0YSwgc3RydWN0IGluNl9hZGRyICph ZGRyLAogewogCXN0cnVjdCByYXd2Nl9mYWtlaGRyICpoZHIgPSAoc3RydWN0IHJhd3Y2X2Zh a2VoZHIgKikgZGF0YTsKIAkKLQlpZiAoY3N1bV9wYXJ0aWFsX2NvcHlfZnJvbWlvdmVjZW5k KGJ1ZmYsIGhkci0+aW92LCBvZmZzZXQsIAotCQkJCQkJICAgIGxlbiwgJmhkci0+Y2tzdW0p KQorCWlmIChjc3VtX3BhcnRpYWxfY29weV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIg KikgYnVmZiwgaGRyLT5pb3YsIG9mZnNldCwKKwkJCQkJCSAgICBsZW4sIChpbnQgKikgJmhk ci0+Y2tzdW0pKQogCQlyZXR1cm4gLUVGQVVMVDsKIAkKIAlpZiAob2Zmc2V0ID09IDApIHsK ZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdGNwX2lwdjYuYyBiL3Bm aW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdGNwX2lwdjYuYwppbmRleCBjY2E1YWJmNC4uMjY0 MDRiMDAgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdGNwX2lwdjYu YworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3RjcF9pcHY2LmMKQEAgLTgxNiw3 ICs4MTYsOCBAQCBzdGF0aWMgdm9pZCB0Y3BfdjZfc2VuZF9zeW5hY2soc3RydWN0IHNvY2sg KnNrLCBzdHJ1Y3Qgb3Blbl9yZXF1ZXN0ICpyZXEpCiAKIAkJdGgtPmNoZWNrID0gdGNwX3Y2 X2NoZWNrKHRoLCBza2ItPmxlbiwKIAkJCQkJICZyZXEtPmFmLnY2X3JlcS5sb2NfYWRkciwg JnJlcS0+YWYudjZfcmVxLnJtdF9hZGRyLAotCQkJCQkgY3N1bV9wYXJ0aWFsKChjaGFyICop dGgsIHNrYi0+bGVuLCBza2ItPmNzdW0pKTsKKwkJCQkJIGNzdW1fcGFydGlhbCgoY29uc3Qg dW5zaWduZWQgY2hhciAqKSB0aCwgc2tiLT5sZW4sCisJCQkJCQkgICAgICBza2ItPmNzdW0p KTsKIAogCQlmbC5ubF91LmlwNl91LmRhZGRyID0gJnJlcS0+YWYudjZfcmVxLnJtdF9hZGRy OwogCQlpcDZfeG1pdChzaywgc2tiLCAmZmwsIG9wdCk7CkBAIC05NjAsNyArOTYxLDcgQEAg c3RhdGljIHZvaWQgdGNwX3Y2X3NlbmRfY2hlY2soc3RydWN0IHNvY2sgKnNrLCBzdHJ1Y3Qg dGNwaGRyICp0aCwgaW50IGxlbiwKIAl0aC0+Y2hlY2sgPSAwOwogCQogCXRoLT5jaGVjayA9 IGNzdW1faXB2Nl9tYWdpYygmbnAtPnNhZGRyLCAmbnAtPmRhZGRyLCBsZW4sIElQUFJPVE9f VENQLCAKLQkJCQkgICAgY3N1bV9wYXJ0aWFsKChjaGFyICopdGgsIHRoLT5kb2ZmPDwyLCAK KwkJCQkgICAgY3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFyICopIHRoLCB0aC0+ ZG9mZjw8MiwKIAkJCQkJCSBza2ItPmNzdW0pKTsKIH0KIApAQCAtMTE1MCw3ICsxMTUxLDcg QEAgc3RhdGljIHZvaWQgdGNwX3Y2X3NlbmRfcmVzZXQoc3RydWN0IHNrX2J1ZmYgKnNrYikK IAkJCXQxLT5hY2tfc2VxID0gaHRvbmwobnRvaGwodGgtPnNlcSkrMSk7CiAJfQogCi0JYnVm Zi0+Y3N1bSA9IGNzdW1fcGFydGlhbCgoY2hhciAqKXQxLCBzaXplb2YoKnQxKSwgMCk7CisJ YnVmZi0+Y3N1bSA9IGNzdW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAqKSB0MSwg c2l6ZW9mKCp0MSksIDApOwogCiAJZmwubmxfdS5pcDZfdS5kYWRkciA9ICZza2ItPm5oLmlw djZoLT5zYWRkcjsKIAlmbC5ubF91LmlwNl91LnNhZGRyID0gJnNrYi0+bmguaXB2NmgtPmRh ZGRyOwpAQCAtMTIwNCw3ICsxMjA1LDcgQEAgc3RhdGljIHZvaWQgdGNwX3Y2X3NlbmRfYWNr KHN0cnVjdCBza19idWZmICpza2IsIF9fdTMyIHNlcSwgX191MzIgYWNrLCBfX3UxNiB3aW4K IAogCXQxLT53aW5kb3cgPSBodG9ucyh3aW5kb3cpOwogCi0JYnVmZi0+Y3N1bSA9IGNzdW1f cGFydGlhbCgoY2hhciAqKXQxLCBzaXplb2YoKnQxKSwgMCk7CisJYnVmZi0+Y3N1bSA9IGNz dW1fcGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAqKSB0MSwgc2l6ZW9mKCp0MSksIDAp OwogCiAJZmwubmxfdS5pcDZfdS5kYWRkciA9ICZza2ItPm5oLmlwdjZoLT5zYWRkcjsKIAlm bC5ubF91LmlwNl91LnNhZGRyID0gJnNrYi0+bmguaXB2NmgtPmRhZGRyOwpAQCAtMTQ3Miw3 ICsxNDczLDcgQEAgaW50IHRjcF92Nl9yY3Yoc3RydWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWdu ZWQgbG9uZyBsZW4pCiAKIAlzd2l0Y2ggKHNrYi0+aXBfc3VtbWVkKSB7CiAJY2FzZSBDSEVD S1NVTV9OT05FOgotCQlza2ItPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNoYXIgKil0aCwgbGVu LCAwKTsKKwkJc2tiLT5jc3VtID0gY3N1bV9wYXJ0aWFsKChjb25zdCB1bnNpZ25lZCBjaGFy ICopIHRoLCBsZW4sIDApOwogCWNhc2UgQ0hFQ0tTVU1fSFc6CiAJCWlmICh0Y3BfdjZfY2hl Y2sodGgsbGVuLHNhZGRyLGRhZGRyLHNrYi0+Y3N1bSkpIHsKIAkJCXByaW50ayhLRVJOX0RF QlVHICJ0Y3AgY3N1bSBmYWlsZWRcbiIpOwpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNy Yy9uZXQvaXB2Ni91ZHBfaXB2Ni5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni91ZHBf aXB2Ni5jCmluZGV4IDZkNGJiZGI5Li45MDk5OTljNSAxMDA2NDQKLS0tIGEvcGZpbmV0L2xp bnV4LXNyYy9uZXQvaXB2Ni91ZHBfaXB2Ni5jCisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0 L2lwdjYvdWRwX2lwdjYuYwpAQCAtNjkxLDcgKzY5MSw3IEBAIGludCB1ZHB2Nl9yY3Yoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgdW5zaWduZWQgbG9uZyBsZW4pCiAjaWZuZGVmIENPTkZJR19V RFBfREVMQVlfQ1NVTQogCXN3aXRjaCAoc2tiLT5pcF9zdW1tZWQpIHsKIAljYXNlIENIRUNL U1VNX05PTkU6Ci0JCXNrYi0+Y3N1bSA9IGNzdW1fcGFydGlhbCgoY2hhciopdWgsIHVsZW4s IDApOworCQlza2ItPmNzdW0gPSBjc3VtX3BhcnRpYWwoKGNvbnN0IHVuc2lnbmVkIGNoYXIq KSB1aCwgdWxlbiwgMCk7CiAJY2FzZSBDSEVDS1NVTV9IVzoKIAkJaWYgKGNzdW1faXB2Nl9t YWdpYyhzYWRkciwgZGFkZHIsIHVsZW4sIElQUFJPVE9fVURQLCBza2ItPmNzdW0pKSB7CiAJ CQlwcmludGsoS0VSTl9ERUJVRyAiSVB2NjogdWRwIGNoZWNrc3VtIGVycm9yXG4iKTsKQEAg LTc4NywxNCArNzg3LDE0IEBAIHN0YXRpYyBpbnQgdWRwdjZfZ2V0ZnJhZyhjb25zdCB2b2lk ICpkYXRhLCBzdHJ1Y3QgaW42X2FkZHIgKmFkZHIsCiAJCWNsZW4gLT0gc2l6ZW9mKHN0cnVj dCB1ZHBoZHIpOwogCX0KIAotCWlmIChjc3VtX3BhcnRpYWxfY29weV9mcm9taW92ZWNlbmQo ZHN0LCB1ZGgtPmlvdiwgb2Zmc2V0LAotCQkJCQkgICBjbGVuLCAmdWRoLT53Y2hlY2spKQor CWlmIChjc3VtX3BhcnRpYWxfY29weV9mcm9taW92ZWNlbmQoKHVuc2lnbmVkIGNoYXIgKikg ZHN0LCB1ZGgtPmlvdiwgb2Zmc2V0LAorCQkJCQkgICBjbGVuLCAoaW50ICopICZ1ZGgtPndj aGVjaykpCiAJCXJldHVybiAtRUZBVUxUOwogCiAJaWYgKGZpbmFsKSB7CiAJCXN0cnVjdCBp bjZfYWRkciAqZGFkZHI7CiAJCQotCQl1ZGgtPndjaGVjayA9IGNzdW1fcGFydGlhbCgoY2hh ciAqKXVkaCwgc2l6ZW9mKHN0cnVjdCB1ZHBoZHIpLAorCQl1ZGgtPndjaGVjayA9IGNzdW1f cGFydGlhbCgoY29uc3QgdW5zaWduZWQgY2hhciAqKSB1ZGgsIHNpemVvZihzdHJ1Y3QgdWRw aGRyKSwKIAkJCQkJICAgdWRoLT53Y2hlY2spOwogCiAJCWlmICh1ZGgtPmRhZGRyKSB7CmRp ZmYgLS1naXQgYS9wcm9jZnMvcHJvY2Vzcy5jIGIvcHJvY2ZzL3Byb2Nlc3MuYwppbmRleCAz MTcwYjc3NS4uNTlkMWFhZWMgMTAwNjQ0Ci0tLSBhL3Byb2Nmcy9wcm9jZXNzLmMKKysrIGIv cHJvY2ZzL3Byb2Nlc3MuYwpAQCAtODMsNyArODMsNyBAQCBzdGF0aWMgbG9uZyBsb25nIGlu dCB0aW1ldmFsX2ppZmZpZXMgKHRpbWVfdmFsdWVfdCB0dikKIAogc3RhdGljIGNvbnN0IGNo YXIgKmFyZ3NfZmlsZW5hbWUgKGNvbnN0IGNoYXIgKm5hbWUpCiB7Ci0gIGNoYXIgKnNwID0g c3RycmNociAobmFtZSwgJy8nKTsKKyAgY29uc3QgY2hhciAqc3AgPSBzdHJyY2hyIChuYW1l LCAnLycpOwogICByZXR1cm4gc3AgIT0gTlVMTCAmJiAqKHNwICsgMSkgIT0gJ1wwJyA/IHNw ICsgMSA6IG5hbWU7CiB9CiAKLS0gCjIuNDMuMAoK --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0002-Using-pragma-message-instead-of-warning.patch" Content-Disposition: attachment; filename="0002-Using-pragma-message-instead-of-warning.patch" Content-Transfer-Encoding: base64 RnJvbSA0N2U2NjQyYzUyMjNiODhjMDVkMjRkNWViOGIzNGM5YWE2ZmEyZjkyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxMjozODoyNSArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMi8yXSBVc2luZyAjcHJhZ21hIG1lc3NhZ2UgaW5zdGVhZCBvZiAjd2Fy bmluZwoKLS0tCiBsaWJzdG9yZS9wYXJ0LmMgfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBp bnNlcnRpb24oKyksIDEgZGVsZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJzdG9yZS9wYXJ0 LmMgYi9saWJzdG9yZS9wYXJ0LmMKaW5kZXggZTA5MzdjNjYuLmIzZWEyZWFkIDEwMDY0NAot LS0gYS9saWJzdG9yZS9wYXJ0LmMKKysrIGIvbGlic3RvcmUvcGFydC5jCkBAIC0yOSw3ICsy OSw3IEBACiAKIC8qIFhYWCBVbnRpbCB0aGUgSHVyZCBzcGVjaWZpYyBoZWFkZXIgaXMgYXZh aWxhYmxlLCBwcm92aWRlIHRoZQogICAgZGVjbGFyYXRpb24gb2YgcGVkX2RldmljZV9uZXdf ZnJvbV9zdG9yZSBoZXJlLiAgKi8KLSN3YXJuaW5nICJVc2luZyBsb2NhbCBkZWNsYXJhdGlv biBvZiBwZWRfZGV2aWNlX25ld19mcm9tX3N0b3JlLiIKKyNwcmFnbWEgbWVzc2FnZSAiVXNp bmcgbG9jYWwgZGVjbGFyYXRpb24gb2YgcGVkX2RldmljZV9uZXdfZnJvbV9zdG9yZS4iCiAK IC8qIEluaXRpYWxpemUgYSBQZWREZXZpY2UgdXNpbmcgU09VUkNFLiAgVGhlIFNPVVJDRSB3 aWxsIE5PVCBiZSBkZXN0cm95ZWQ7CiAgICB0aGUgY2FsbGVyIGNyZWF0ZWQgaXQsIGl0IGlz IHRoZSBjYWxsZXIncyByZXNwb25zaWxiaWxpdHkgdG8gZnJlZSBpdAotLSAKMi40My4wCgo= --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0003-Fixing-Werror.patch" Content-Disposition: attachment; filename="0003-Fixing-Werror.patch" Content-Transfer-Encoding: base64 RnJvbSAyNTFmMmE4YjU1MDU3MjdmNzIwYWRmYjI3YjBiNzkxMmY3MmVmZWNjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxMzowMToxNSArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMy8zXSBGaXhpbmcgLVdlcnJvcgoKLS0tCiBib290L3VzZXJsYW5kLWJv b3QuYyAgICAgICAgICAgICAgICAgICAgICB8IDIgKy0KIGZhdGZzL21haW4uYyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHwgMiArLQogbGliYnBmL2JwZl9pbXBsLmggICAgICAg ICAgICAgICAgICAgICAgICAgfCAyIC0tCiBwZmluZXQvZ2x1ZS1pbmNsdWRlL2FzbS91YWNj ZXNzLmggICAgICAgICB8IDEgLQogcGZpbmV0L2xpbnV4LXNyYy9pbmNsdWRlL2xpbnV4L2lu X3JvdXRlLmggfCA0IC0tLS0KIHBmaW5ldC9saW51eC1zcmMvaW5jbHVkZS9uZXQvZmxvdy5o ICAgICAgIHwgMiArKwogNiBmaWxlcyBjaGFuZ2VkLCA0IGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvYm9vdC91c2VybGFuZC1ib290LmMgYi9ib290L3Vz ZXJsYW5kLWJvb3QuYwppbmRleCAxNzM5ZWI5MS4uMmM5MmY2YmQgMTAwNjQ0Ci0tLSBhL2Jv b3QvdXNlcmxhbmQtYm9vdC5jCisrKyBiL2Jvb3QvdXNlcmxhbmQtYm9vdC5jCkBAIC0yMTIs NyArMjEyLDcgQEAgbG9hZF9pbWFnZSAodGFza190IHQsCiAKIAkgICAgYnVmID0gKHZtX2Fk ZHJlc3NfdCkgbW1hcCAoMCwgYnVmc3osCiAJCQkJICAgICAgIFBST1RfUkVBRHxQUk9UX1dS SVRFLCBNQVBfQU5PTiwgMCwgMCk7Ci0JICAgIGFzc2VydF9iYWNrdHJhY2UgKGJ1ZiAhPSBN QVBfRkFJTEVEKTsKKwkgICAgYXNzZXJ0X2JhY2t0cmFjZSAoKHZvaWQgKikgYnVmICE9IE1B UF9GQUlMRUQpOwogCiAJICAgIGxzZWVrIChmZCwgcGgtPnBfb2Zmc2V0LCBTRUVLX1NFVCk7 CiAJICAgIGVyciA9IHJlYWQgKGZkLCAodm9pZCAqKShidWYgKyBvZmZzKSwgcGgtPnBfZmls ZXN6KTsKZGlmZiAtLWdpdCBhL2ZhdGZzL21haW4uYyBiL2ZhdGZzL21haW4uYwppbmRleCA4 ZjQ0ZWQ4Yi4uYWI1ZGIwM2UgMTAwNjQ0Ci0tLSBhL2ZhdGZzL21haW4uYworKysgYi9mYXRm cy9tYWluLmMKQEAgLTIzNSw3ICsyMzUsNyBAQCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFy Z3YpCiAKICAgemVyb2NsdXN0ZXIgPSAodm1fYWRkcmVzc190KSBtbWFwICgwLCBieXRlc19w ZXJfY2x1c3RlciwgUFJPVF9SRUFEfFBST1RfV1JJVEUsCiAJCQkJICAgICBNQVBfQU5PTiwg MCwgMCk7Ci0gIGFzc2VydF9iYWNrdHJhY2UgKHplcm9jbHVzdGVyICE9IE1BUF9GQUlMRUQp OworICBhc3NlcnRfYmFja3RyYWNlICgodm9pZCAqKSB6ZXJvY2x1c3RlciAhPSBNQVBfRkFJ TEVEKTsKIAogICBmZXRjaF9yb290ICgpOwogCmRpZmYgLS1naXQgYS9saWJicGYvYnBmX2lt cGwuaCBiL2xpYmJwZi9icGZfaW1wbC5oCmluZGV4IGZiMGZiNDkwLi5kODBlMDA1OCAxMDA2 NDQKLS0tIGEvbGliYnBmL2JwZl9pbXBsLmgKKysrIGIvbGliYnBmL2JwZl9pbXBsLmgKQEAg LTUxLDggKzUxLDYgQEAgdHlwZWRlZiBzdHJ1Y3QKIHR5cGVkZWYJdW5zaWduZWQgc2hvcnQJ ZmlsdGVyX3Q7CiB0eXBlZGVmIGZpbHRlcl90CSpmaWx0ZXJfYXJyYXlfdDsKIAotI2RlZmlu ZQlORVRfTUFYX0ZJTFRFUgkJNTEyIC8qIGJwZiBwcm9ncmFtcyBhcmUgYmlnICovCi0KICNk ZWZpbmUgTkVUX0hBU0hfU0laRSAgIDI1NgogI2RlZmluZSBOX05FVF9IQVNIICAgICAgNAog I2RlZmluZSBOX05FVF9IQVNIX0tFWVMgNApkaWZmIC0tZ2l0IGEvcGZpbmV0L2dsdWUtaW5j bHVkZS9hc20vdWFjY2Vzcy5oIGIvcGZpbmV0L2dsdWUtaW5jbHVkZS9hc20vdWFjY2Vzcy5o CmluZGV4IDc1MmM2MWMwLi43ZjQ3NjMyYiAxMDA2NDQKLS0tIGEvcGZpbmV0L2dsdWUtaW5j bHVkZS9hc20vdWFjY2Vzcy5oCisrKyBiL3BmaW5ldC9nbHVlLWluY2x1ZGUvYXNtL3VhY2Nl c3MuaApAQCAtNDEsNyArNDEsNiBAQCBzdHJ1Y3QgX19sYXJnZV9zdHJ1Y3QgeyB1bnNpZ25l ZCBsb25nIGJ1ZlsxMDBdOyB9OwogI2RlZmluZSBnZXRfdXNlcl9yZXQoeCxwdHIscmV0KSAo eyBpZiAoZ2V0X3VzZXIoeCxwdHIpKSByZXR1cm4gcmV0OyB9KQogCiAKLSNkZWZpbmUgY29w eV90b191c2VyKHRvLGZyb20sbikJCShtZW1jcHkgKCh0byksIChmcm9tKSwgKG4pKSwgMCkK ICNkZWZpbmUgY29weV9mcm9tX3VzZXIodG8sZnJvbSxuKQkobWVtY3B5ICgodG8pLCAoZnJv bSksIChuKSksIDApCiAjZGVmaW5lCWNsZWFyX3VzZXIobWVtLCBsZW4pCQkobWVtc2V0ICgo bWVtKSwgMCwgKGxlbikpLCAwKQogCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL2lu Y2x1ZGUvbGludXgvaW5fcm91dGUuaCBiL3BmaW5ldC9saW51eC1zcmMvaW5jbHVkZS9saW51 eC9pbl9yb3V0ZS5oCmluZGV4IDYxZjI1YzMwLi40MDdkYmVjYyAxMDA2NDQKLS0tIGEvcGZp bmV0L2xpbnV4LXNyYy9pbmNsdWRlL2xpbnV4L2luX3JvdXRlLmgKKysrIGIvcGZpbmV0L2xp bnV4LXNyYy9pbmNsdWRlL2xpbnV4L2luX3JvdXRlLmgKQEAgLTI1LDggKzI1LDQgQEAKICNk ZWZpbmUgUlRDRl9SRUpFQ1QJMHg0MDAwMDAwMAogI2RlZmluZSBSVENGX0xPQ0FMCTB4ODAw MDAwMDAKIAotI2RlZmluZSBSVENGX05BVAkoUlRDRl9ETkFUfFJUQ0ZfU05BVCkKLQotI2Rl ZmluZSBSVF9UT1ModG9zKQkoKHRvcykmSVBUT1NfVE9TX01BU0spCi0KICNlbmRpZiAvKiBf TElOVVhfSU5fUk9VVEVfSCAqLwpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9pbmNs dWRlL25ldC9mbG93LmggYi9wZmluZXQvbGludXgtc3JjL2luY2x1ZGUvbmV0L2Zsb3cuaApp bmRleCBlMWNlMWIyYS4uMmNiNmNkOTEgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMv aW5jbHVkZS9uZXQvZmxvdy5oCisrKyBiL3BmaW5ldC9saW51eC1zcmMvaW5jbHVkZS9uZXQv Zmxvdy5oCkBAIC05MSw2ICs5MSw4IEBAIHN0cnVjdCBmbG93X3J1bGUgewogCXVuc2lnbmVk IGNoYXIJCQlwcml2YXRlWzBdOwogfTsKIAorc3RydWN0IHJ0Nl9pbmZvOworCiBzdHJ1Y3Qg Zmxvd19ydWxlX29wcyB7CiAJaW50CQkJKCphY2NlcHQpKHN0cnVjdCBydDZfaW5mbyAqcnQs CiAJCQkJCSAgc3RydWN0IHJ0Nl9pbmZvICpydWxlLAotLSAKMi40My4wCgo= --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0004-Fixing-Werror-shift-overflow.patch" Content-Disposition: attachment; filename="0004-Fixing-Werror-shift-overflow.patch" Content-Transfer-Encoding: base64 RnJvbSA5ZjZjOTRmOTBmOTg1MTYzODA2ODQyZjQxMTc5Yzc2NmFjZTE1ZjJmIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxMzo0MzoxNSArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggNC80XSBGaXhpbmctV2Vycm9yPXNoaWZ0LW92ZXJmbG93CgotLS0KIGxp YnBzL3BzLmggfCAyICstCiAxIGZpbGUgY2hhbmdlZCwgMSBpbnNlcnRpb24oKyksIDEgZGVs ZXRpb24oLSkKCmRpZmYgLS1naXQgYS9saWJwcy9wcy5oIGIvbGlicHMvcHMuaAppbmRleCAz ZTU5YzY2YS4uYWQwYWFiNzcgMTAwNjQ0Ci0tLSBhL2xpYnBzL3BzLmgKKysrIGIvbGlicHMv cHMuaApAQCAtMzU2LDcgKzM1Niw3IEBAIHN0cnVjdCBwcm9jX3N0YXQKICNkZWZpbmUgUFNU QVRfTk9fTVNHUE9SVCAgICAgMHgxMDAwMDAwIC8qIERvbid0IHVzZSB0aGUgbXNncG9ydCBh dCBhbGwgKi8KIAogLyogQml0cyBmcm9tIFBTVEFUX1VTRVJfQkFTRSBvbiB1cCBhcmUgYXZh aWxhYmxlIGZvciB1c2VyLXVzZS4gICovCi0jZGVmaW5lIFBTVEFUX1VTRVJfQkFTRSAgICAg IDB4MjAwMDAwMDAKKyNkZWZpbmUgUFNUQVRfVVNFUl9CQVNFICAgICAgMHgyMDAwMDAwMFVM TAogI2RlZmluZSBQU1RBVF9VU0VSX01BU0sgICAgICB+KFBTVEFUX1VTRVJfQkFTRSAtIDEp CiAMCiAvKiBJZiB0aGUgUFNUQVRfU1RBVEUgZmxhZyBpcyBzZXQsIHRoZW4gdGhlIHByb2Nf c3RhdHMgc3RhdGUgZmllbGQgaG9sZHMgYQotLSAKMi40My4wCgo= --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0005-Suppressing-Werror-array-bounds-warning-for-pfinet.patch" Content-Disposition: attachment; filename*0="0005-Suppressing-Werror-array-bounds-warning-for-pfinet.patc"; filename*1="h" Content-Transfer-Encoding: base64 RnJvbSAyMGYzOWI2YjgwMDBiYzlkMWI0Zjg5MjljYzNlMDU3ZWUxODU5OWE2IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxNDowMDozOCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggNS81XSBTdXBwcmVzc2luZyAtV2Vycm9yPWFycmF5LWJvdW5kcyB3YXJu aW5nIGZvciBwZmluZXQKCi0tLQogcGZpbmV0L01ha2VmaWxlIHwgMiArLQogMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCgpkaWZmIC0tZ2l0IGEvcGZp bmV0L01ha2VmaWxlIGIvcGZpbmV0L01ha2VmaWxlCmluZGV4IDIyYzNhMTcxLi5lMTVhYTU5 ZCAxMDA2NDQKLS0tIGEvcGZpbmV0L01ha2VmaWxlCisrKyBiL3BmaW5ldC9NYWtlZmlsZQpA QCAtMTMxLDcgKzEzMSw3IEBAIENQUEZMQUdTICs9IC1pbWFjcm9zICQoc3JjZGlyKS9jb25m aWcuaAkJXAogCiAjIERvbid0IGFzay4uLiAgV2UgdXNlIExpbnV4IGNvZGUuICBUaGUgcHJv YmxlbSB3YXMgZmlyc3Qgbm90aWNlZCB3aGVuCiAjIGNvbXBpbGluZyBgcGZpbmV0JyB3aXRo IEdDQyA0LjIuCi1DRkxBR1MgKz0gLWZuby1zdHJpY3QtYWxpYXNpbmcKK0NGTEFHUyArPSAt Zm5vLXN0cmljdC1hbGlhc2luZyAtV25vLWFycmF5LWJvdW5kcwogCiBhc20vY2hlY2tzdW0u aDogLi4vY29uZmlnLnN0YXR1cwogCW1rZGlyIC1wICQoQEQpCi0tIAoyLjQzLjAKCg== --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0006-Removing-unused-variables-and-functions.patch" Content-Disposition: attachment; filename="0006-Removing-unused-variables-and-functions.patch" Content-Transfer-Encoding: base64 RnJvbSBhOTI1NmIyMzNkOGE0OTYxNTU5YTZhNDkwZmRhOWU0ZGZhMDhkYzI3IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxNDo0NToxNCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggMi8yXSBSZW1vdmluZyB1bnVzZWQgdmFyaWFibGVzIGFuZCBmdW5jdGlv bnMKCi0tLQogY29uc29sZS1jbGllbnQvbmN1cnNlc3cuYyAgICAgICAgICAgICAgfCAxMSAr KysrKysrKystLQogcGZpbmV0L2dsdWUtaW5jbHVkZS9saW51eC9zb2NrZXQuaCAgICAgfCAg MiArLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvY29yZS9kZXYuYyAgICAgICAgfCAgMiArKwog cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9hcnAuYyAgICAgICAgfCAgNyArKysrKy0tCiBw ZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2ZpYl9oYXNoLmMgICB8ICAxIC0KIHBmaW5ldC9s aW51eC1zcmMvbmV0L2lwdjQvaXBfb3V0cHV0LmMgIHwgIDUgKystLS0KIHBmaW5ldC9saW51 eC1zcmMvbmV0L2lwdjYvYWRkcmNvbmYuYyAgIHwgIDIgKysKIHBmaW5ldC9saW51eC1zcmMv bmV0L2lwdjYvaXA2X291dHB1dC5jIHwgIDMgLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9p cHY2L25kaXNjLmMgICAgICB8ICAzIC0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni90 Y3BfaXB2Ni5jICAgfCAgMSAtCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY2L3VkcF9pcHY2 LmMgICB8ICAxIC0KIHBmaW5ldC9wZmluZXQtb3BzLmMgICAgICAgICAgICAgICAgICAgIHwg IDEgLQogdHJhbnMvbmV3LWZpZm8uYyAgICAgICAgICAgICAgICAgICAgICAgfCAgNSArKysr KwogMTMgZmlsZXMgY2hhbmdlZCwgMjYgaW5zZXJ0aW9ucygrKSwgMTggZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvY29uc29sZS1jbGllbnQvbmN1cnNlc3cuYyBiL2NvbnNvbGUtY2xp ZW50L25jdXJzZXN3LmMKaW5kZXggMTE2Zjg2Y2MuLmM1NTZhYmE2IDEwMDY0NAotLS0gYS9j b25zb2xlLWNsaWVudC9uY3Vyc2Vzdy5jCisrKyBiL2NvbnNvbGUtY2xpZW50L25jdXJzZXN3 LmMKQEAgLTQ1Myw3ICs0NTMsOSBAQCBtdndwdXRzbiAoY29uY2hhcl90ICpzdHIsIHNpemVf dCBsZW4sIG9mZl90IHgsIG9mZl90IHkpCiAgIHdtb3ZlIChjb25zcGFkLCB5LCB4KTsKICAg d2hpbGUgKGxlbikKICAgICB7CisjaWYgMAogICAgICAgaW50IHJldDsKKyNlbmRpZgogICAg ICAgY2h0eXBlIGFjOwogCiAgICAgICBpZiAobGFzdF9hdHRyICE9ICoodWludDMyX3QgKikg JnN0ci0+YXR0cikKQEAgLTQ2OCwyMyArNDcwLDI4IEBAIG12d3B1dHNuIChjb25jaGFyX3Qg KnN0ciwgc2l6ZV90IGxlbiwgb2ZmX3QgeCwgb2ZmX3QgeSkKICAgICAgIGVsc2UKIAl7ICAg ICAgCiAJICB3Y2hbMF0gPSBzdHItPmNocjsKLQkgIHJldCA9IHNldGNjaGFyICgmY2hyLCB3 Y2gsIGF0dHIsIGNvbG9yX3BhaXIsIE5VTEwpOwogI2lmIDAKKwkgIHJldCA9IHNldGNjaGFy ICgmY2hyLCB3Y2gsIGF0dHIsIGNvbG9yX3BhaXIsIE5VTEwpOwogCSAgaWYgKHJldCA9PSBF UlIpCiAJICAgIHsKIAkgICAgICBwcmludGYgKCJzZXRjY2hhciBmYWlsZWQ6ICVzXG4iLCBz dHJlcnJvciAoZXJybm8pKTsKIAkgICAgICBwcmludGYgKCJbJWxjXVxuIiwgd2NoWzBdKTsK IAkgICAgICBhc3NlcnRfYmFja3RyYWNlICghIkRvIHNvbWV0aGluZyBpZiBzZXRjY2hhciBm YWlscy4iKTsKIAkgICAgfQorI2Vsc2UKKwkgIHNldGNjaGFyICgmY2hyLCB3Y2gsIGF0dHIs IGNvbG9yX3BhaXIsIE5VTEwpOwogI2VuZGlmCi0JICByZXQgPSB3YWRkX3djaCAoY29uc3Bh ZCwgJmNocik7CisKICNpZiAwCisJICByZXQgPSB3YWRkX3djaCAoY29uc3BhZCwgJmNocik7 CiAJICBpZiAocmV0ID09IEVSUikKIAkgICAgewogCSAgICAgIHByaW50ZiAoImFkZF93Y2gg ZmFpbGVkOiAlaSwgJXNcbiIsIHJldCwgc3RyZXJyb3IgKGVycm5vKSk7CiAJICAgICAgcHJp bnRmICgiWyVsY11cbiIsIHdjaFswXSk7CiAJICAgICAgYXNzZXJ0X2JhY2t0cmFjZSAoISJE byBzb21ldGhpbmcgaWYgYWRkX3djaHIgZmFpbHMuIik7CiAJICAgIH0KKyNlbHNlCisJICB3 YWRkX3djaCAoY29uc3BhZCwgJmNocik7CiAjZW5kaWYKIAl9CiAgICAgICBsZW4tLTsKZGlm ZiAtLWdpdCBhL3BmaW5ldC9nbHVlLWluY2x1ZGUvbGludXgvc29ja2V0LmggYi9wZmluZXQv Z2x1ZS1pbmNsdWRlL2xpbnV4L3NvY2tldC5oCmluZGV4IDU4ZmMyYzdhLi4yMDJkNmNjYyAx MDA2NDQKLS0tIGEvcGZpbmV0L2dsdWUtaW5jbHVkZS9saW51eC9zb2NrZXQuaAorKysgYi9w ZmluZXQvZ2x1ZS1pbmNsdWRlL2xpbnV4L3NvY2tldC5oCkBAIC03OSw3ICs3OSw3IEBAIHB1 dF9jbXNnKHN0cnVjdCBtc2doZHIgKm1zZywgaW50IGxldmVsLCBpbnQgdHlwZSwgaW50IGxl biwgdm9pZCAqZGF0YSkKICNkZWZpbmUgQ01TR19BTElHTihzaXplKQkoMCkKICNkZWZpbmUg Q01TR19MRU4oc2l6ZSkgCQkoMCkKICNlbHNlCi0jZGVmaW5lIGNvcHlfdG9fdXNlcih0byxm cm9tLG4pCQkobWVtY3B5ICgodG8pLCAoZnJvbSksIChuKSksIDApCisjZGVmaW5lIGNvcHlf dG9fdXNlcih0byxmcm9tLG4pCQkoe21lbWNweSAoKHRvKSwgKGZyb20pLCAobikpOyAwO30p CiBzdGF0aWMgaW5saW5lIGludAogcHV0X2Ntc2coc3RydWN0IG1zZ2hkciAqIG1zZywgaW50 IGxldmVsLCBpbnQgdHlwZSwgaW50IGxlbiwgdm9pZCAqZGF0YSkKIHsKZGlmZiAtLWdpdCBh L3BmaW5ldC9saW51eC1zcmMvbmV0L2NvcmUvZGV2LmMgYi9wZmluZXQvbGludXgtc3JjL25l dC9jb3JlL2Rldi5jCmluZGV4IGI0N2M1MDI3Li4yYjVmZjRlMiAxMDA2NDQKLS0tIGEvcGZp bmV0L2xpbnV4LXNyYy9uZXQvY29yZS9kZXYuYworKysgYi9wZmluZXQvbGludXgtc3JjL25l dC9jb3JlL2Rldi5jCkBAIC0xMDYyLDYgKzEwNjIsNyBAQCBpbnQgcmVnaXN0ZXJfZ2lmY29u Zih1bnNpZ25lZCBpbnQgZmFtaWx5LCBnaWZjb25mX2Z1bmNfdCAqIGdpZmNvbmYpCiAgKglN YXAgYW4gaW50ZXJmYWNlIGluZGV4IHRvIGl0cyBuYW1lIChTSU9DR0lGTkFNRSkKICAqLwog CisjaWYgMAogLyoKICAqCVRoaXMgY2FsbCBpcyB1c2VmdWwsIGJ1dCBJJ2QgcmVtb3ZlIGl0 IHRvby4KICAqCkBAIC0xMTAwLDYgKzExMDEsNyBAQCBzdGF0aWMgaW50IGRldl9pZm5hbWUo c3RydWN0IGlmcmVxICphcmcpCiAJZXJyID0gY29weV90b191c2VyKGFyZywgJmlmciwgc2l6 ZW9mKHN0cnVjdCBpZnJlcSkpOwogCXJldHVybiAoZXJyKT8tRUZBVUxUOjA7CiB9CisjZW5k aWYKIAogLyoKICAqCVBlcmZvcm0gYSBTSU9DR0lGQ09ORiBjYWxsLiBUaGlzIHN0cnVjdHVy ZSB3aWxsIGNoYW5nZQpkaWZmIC0tZ2l0IGEvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9h cnAuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvYXJwLmMKaW5kZXggNTMyOWViYjQu LmMwOWRlYmRmIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2FycC5j CisrKyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvYXJwLmMKQEAgLTU0NSw3ICs1NDUs NyBAQCBpbnQgYXJwX3JjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBwYWNrZXRfdHlwZSAqcHQpCiAJc3RydWN0IGFycGhkciAqYXJwID0gc2ti LT5uaC5hcnBoOwogCXVuc2lnbmVkIGNoYXIgKmFycF9wdHI9ICh1bnNpZ25lZCBjaGFyICop KGFycCsxKTsKIAlzdHJ1Y3QgcnRhYmxlICpydDsKLQl1bnNpZ25lZCBjaGFyICpzaGEsICp0 aGE7CisJdW5zaWduZWQgY2hhciAqc2hhOwogCXUzMiBzaXAsIHRpcDsKIAl1MTYgZGV2X3R5 cGUgPSBkZXYtPnR5cGU7CiAJaW50IGFkZHJfdHlwZTsKQEAgLTYzMiw3ICs2MzIsNiBAQCBp bnQgYXJwX3JjdihzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0 cnVjdCBwYWNrZXRfdHlwZSAqcHQpCiAJYXJwX3B0ciArPSBkZXYtPmFkZHJfbGVuOwogCW1l bWNweSgmc2lwLCBhcnBfcHRyLCA0KTsKIAlhcnBfcHRyICs9IDQ7Ci0JdGhhPWFycF9wdHI7 CiAJYXJwX3B0ciArPSBkZXYtPmFkZHJfbGVuOwogCW1lbWNweSgmdGlwLCBhcnBfcHRyLCA0 KTsKIC8qCkBAIC04MzIsNiArODMxLDcgQEAgaW50IGFycF9yZXFfc2V0KHN0cnVjdCBhcnBy ZXEgKnIsIHN0cnVjdCBkZXZpY2UgKiBkZXYpCiAJcmV0dXJuIGVycjsKIH0KIAorI2lmIDAK IHN0YXRpYyB1bnNpZ25lZCBhcnBfc3RhdGVfdG9fZmxhZ3Moc3RydWN0IG5laWdoYm91ciAq bmVpZ2gpCiB7CiAJdW5zaWduZWQgZmxhZ3MgPSAwOwpAQCAtODQxLDExICs4NDEsMTMgQEAg c3RhdGljIHVuc2lnbmVkIGFycF9zdGF0ZV90b19mbGFncyhzdHJ1Y3QgbmVpZ2hib3VyICpu ZWlnaCkKIAkJZmxhZ3MgPSBBVEZfQ09NOwogCXJldHVybiBmbGFnczsKIH0KKyNlbmRpZgog CiAvKgogICoJR2V0IGFuIEFSUCBjYWNoZSBlbnRyeS4KICAqLwogCisjaWYgMAogc3RhdGlj IGludCBhcnBfcmVxX2dldChzdHJ1Y3QgYXJwcmVxICpyLCBzdHJ1Y3QgZGV2aWNlICpkZXYp CiB7CiAJdTMyIGlwID0gKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgJnItPmFycF9wYSktPnNp bl9hZGRyLnNfYWRkcjsKQEAgLTg2NSw2ICs4NjcsNyBAQCBzdGF0aWMgaW50IGFycF9yZXFf Z2V0KHN0cnVjdCBhcnByZXEgKnIsIHN0cnVjdCBkZXZpY2UgKmRldikKIAllbmRfYmhfYXRv bWljKCk7CiAJcmV0dXJuIGVycjsKIH0KKyNlbmRpZgogCiBpbnQgYXJwX3JlcV9kZWxldGUo c3RydWN0IGFycHJlcSAqciwgc3RydWN0IGRldmljZSAqIGRldikKIHsKZGlmZiAtLWdpdCBh L3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvZmliX2hhc2guYyBiL3BmaW5ldC9saW51eC1z cmMvbmV0L2lwdjQvZmliX2hhc2guYwppbmRleCA0OTVmMTY4Mi4uNDAxNmU3MGEgMTAwNjQ0 Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvZmliX2hhc2guYworKysgYi9wZmlu ZXQvbGludXgtc3JjL25ldC9pcHY0L2ZpYl9oYXNoLmMKQEAgLTg4Nyw3ICs4ODcsNiBAQCBf X2luaXRmdW5jKHN0cnVjdCBmaWJfdGFibGUgKiBmaWJfaGFzaF9pbml0KGludCBpZCkpCiBz dGF0aWMgdm9pZAogZmliX25vZGVfZ2V0X3JvdXRlKGludCB0eXBlLCBpbnQgZGVhZCwgc3Ry dWN0IGZpYl9pbmZvICpmaSwgdTMyIHByZWZpeCwgdTMyIG1hc2ssIGlmcnRyZXFfdCAqcikK IHsKLQlpbnQgbGVuOwogCXN0YXRpYyB1bnNpZ25lZCB0eXBlMmZsYWdzW1JUTl9NQVgrMV0g PSB7CiAJCVtSVE5fVU5SRUFDSEFCTEVdID0gUlRGX1JFSkVDVCwKIAkJW1JUTl9QUk9ISUJJ VF0gPSBSVEZfUkVKRUNUCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0 L2lwX291dHB1dC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pcF9vdXRwdXQuYwpp bmRleCA3NTU2MDQyYS4uMDcyM2Q1YjUgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1zcmMv bmV0L2lwdjQvaXBfb3V0cHV0LmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9p cF9vdXRwdXQuYwpAQCAtMTAxLDcgKzEwMSw2IEBAIHZvaWQgaXBfYnVpbGRfYW5kX3NlbmRf cGt0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBzb2NrICpzaywKIHsKIAlzdHJ1Y3Qg cnRhYmxlICpydCA9IChzdHJ1Y3QgcnRhYmxlICopc2tiLT5kc3Q7CiAJc3RydWN0IGlwaGRy ICppcGg7Ci0Jc3RydWN0IGRldmljZSAqZGV2OwogCQogCS8qIEJ1aWxkIHRoZSBJUCBoZWFk ZXIuICovCiAJaWYgKG9wdCkKQEAgLTEyOCwxMCArMTI3LDEwIEBAIHZvaWQgaXBfYnVpbGRf YW5kX3NlbmRfcGt0KHN0cnVjdCBza19idWZmICpza2IsIHN0cnVjdCBzb2NrICpzaywKIAkJ aXBfb3B0aW9uc19idWlsZChza2IsIG9wdCwgZGFkZHIsIHJ0LCAwKTsKIAl9CiAKLQlkZXYg PSBydC0+dS5kc3QuZGV2OwotCiAjaWZkZWYgQ09ORklHX0ZJUkVXQUxMCiAJLyogTm93IHdl IGhhdmUgbm8gYmV0dGVyIG1lY2hhbmlzbSB0byBub3RpZnkgYWJvdXQgZXJyb3IuICovCisJ c3RydWN0IGRldmljZSAqZGV2ID0gcnQtPnUuZHN0LmRldjsKKwogCXN3aXRjaCAoY2FsbF9v dXRfZmlyZXdhbGwoUEZfSU5FVCwgZGV2LCBpcGgsIE5VTEwsICZza2IpKSB7CiAJY2FzZSBG V19SRUpFQ1Q6CiAJCWljbXBfc2VuZChza2IsIElDTVBfREVTVF9VTlJFQUNILCBJQ01QX1BP UlRfVU5SRUFDSCwgMCk7CmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2 L2FkZHJjb25mLmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L2FkZHJjb25mLmMKaW5k ZXggZDM5MmIzZmQuLjYxYTMzM2NiIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25l dC9pcHY2L2FkZHJjb25mLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9hZGRy Y29uZi5jCkBAIC0yNjQsNiArMjY0LDcgQEAgc3RydWN0IGluZXQ2X2RldiAqIGlwdjZfZmlu ZF9pZGV2KHN0cnVjdCBkZXZpY2UgKmRldikKIAlyZXR1cm4gaWRldjsKIH0KIAorI2lmIDAK IHN0YXRpYyB2b2lkIGFkZHJjb25mX2ZvcndhcmRfY2hhbmdlKHN0cnVjdCBpbmV0Nl9kZXYg KmlkZXYpCiB7CiAJaW50IGk7CkBAIC0yNzYsNiArMjc3LDcgQEAgc3RhdGljIHZvaWQgYWRk cmNvbmZfZm9yd2FyZF9jaGFuZ2Uoc3RydWN0IGluZXQ2X2RldiAqaWRldikKIAkJCWlkZXYt PmNuZi5mb3J3YXJkaW5nID0gaXB2Nl9kZXZjb25mLmZvcndhcmRpbmc7CiAJfQogfQorI2Vu ZGlmCiAKIHN0cnVjdCBpbmV0Nl9kZXYgKiBpcHY2X2dldF9pZGV2KHN0cnVjdCBkZXZpY2Ug KmRldikKIHsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvaXA2X291 dHB1dC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9pcDZfb3V0cHV0LmMKaW5kZXgg N2IyYjU3ZTIuLmIyZTc4MTEzIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9p cHY2L2lwNl9vdXRwdXQuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L2lwNl9v dXRwdXQuYwpAQCAtMTgxLDEzICsxODEsMTAgQEAgaW50IGlwNl9uZF9oZHIoc3RydWN0IHNv Y2sgKnNrLCBzdHJ1Y3Qgc2tfYnVmZiAqc2tiLCBzdHJ1Y3QgZGV2aWNlICpkZXYsCiB7CiAJ c3RydWN0IGlwdjZfcGluZm8gKm5wID0gJnNrLT5uZXRfcGluZm8uYWZfaW5ldDY7CiAJc3Ry dWN0IGlwdjZoZHIgKmhkcjsKLQlpbnQgdG90bGVuOwogCiAJc2tiLT5wcm90b2NvbCA9IF9f Y29uc3RhbnRfaHRvbnMoRVRIX1BfSVBWNik7CiAJc2tiLT5kZXYgPSBkZXY7CiAKLQl0b3Rs ZW4gPSBsZW4gKyBzaXplb2Yoc3RydWN0IGlwdjZoZHIpOwotCiAJaGRyID0gKHN0cnVjdCBp cHY2aGRyICopIHNrYl9wdXQoc2tiLCBzaXplb2Yoc3RydWN0IGlwdjZoZHIpKTsKIAlza2It Pm5oLmlwdjZoID0gaGRyOwogCmRpZmYgLS1naXQgYS9wZmluZXQvbGludXgtc3JjL25ldC9p cHY2L25kaXNjLmMgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2L25kaXNjLmMKaW5kZXgg ZjA0NzgxZDQuLmQ5ZmE0N2MxIDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9p cHY2L25kaXNjLmMKKysrIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2Ni9uZGlzYy5jCkBA IC03ODIsNyArNzgyLDYgQEAgdm9pZCBuZGlzY19zZW5kX3JlZGlyZWN0KHN0cnVjdCBza19i dWZmICpza2IsIHN0cnVjdCBuZWlnaGJvdXIgKm5laWdoLAogCXU4ICpvcHQ7CiAJaW50IHJk X2xlbjsKIAlpbnQgZXJyOwotCWludCBobGVuOwogCiAJZGV2ID0gc2tiLT5kZXY7CiAJcnQg PSBydDZfbG9va3VwKCZza2ItPm5oLmlwdjZoLT5zYWRkciwgTlVMTCwgZGV2LT5pZmluZGV4 LCAxKTsKQEAgLTgzMSw4ICs4MzAsNiBAQCB2b2lkIG5kaXNjX3NlbmRfcmVkaXJlY3Qoc3Ry dWN0IHNrX2J1ZmYgKnNrYiwgc3RydWN0IG5laWdoYm91ciAqbmVpZ2gsCiAJCXJldHVybjsK IAl9CiAKLQlobGVuID0gMDsKLQogCWlmIChuZGlzY19idWlsZF9sbF9oZHIoYnVmZiwgZGV2 LCAmc2tiLT5uaC5pcHY2aC0+c2FkZHIsIE5VTEwsIGxlbikgPT0gMCkgewogCQlrZnJlZV9z a2IoYnVmZik7CiAJCXJldHVybjsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0 L2lwdjYvdGNwX2lwdjYuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdGNwX2lwdjYu YwppbmRleCAyNjQwNGIwMC4uZGY4MzIwOTggMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1z cmMvbmV0L2lwdjYvdGNwX2lwdjYuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2 L3RjcF9pcHY2LmMKQEAgLTE2OSw3ICsxNjksNiBAQCBzdGF0aWMgaW50IHRjcF92Nl9nZXRf cG9ydChzdHJ1Y3Qgc29jayAqc2ssIHVuc2lnbmVkIHNob3J0IHNudW0pCiAJCX0gZWxzZSB7 CiAJCQlzdHJ1Y3Qgc29jayAqc2syID0gdGItPm93bmVyczsKIAkJCWludCBza19yZXVzZSA9 IHNrLT5yZXVzZTsKLQkJCWludCBhZGRyX3R5cGUgPSBpcHY2X2FkZHJfdHlwZSgmc2stPm5l dF9waW5mby5hZl9pbmV0Ni5yY3Zfc2FkZHIpOwogCiAJCQlmb3IoIDsgc2syICE9IE5VTEw7 IHNrMiA9IHNrMi0+YmluZF9uZXh0KSB7CiAJCQkJaWYgKHNrLT5ib3VuZF9kZXZfaWYgPT0g c2syLT5ib3VuZF9kZXZfaWYpIHsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0 L2lwdjYvdWRwX2lwdjYuYyBiL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjYvdWRwX2lwdjYu YwppbmRleCA5MDk5OTljNS4uZjU5YzAwMTQgMTAwNjQ0Ci0tLSBhL3BmaW5ldC9saW51eC1z cmMvbmV0L2lwdjYvdWRwX2lwdjYuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY2 L3VkcF9pcHY2LmMKQEAgLTEzNCw3ICsxMzQsNiBAQCBnb3RpdDoKIAkJc251bSA9IHJlc3Vs dDsKIAl9IGVsc2UgewogCQlzdHJ1Y3Qgc29jayAqc2syOwotCQlpbnQgYWRkcl90eXBlID0g aXB2Nl9hZGRyX3R5cGUoJnNrLT5uZXRfcGluZm8uYWZfaW5ldDYucmN2X3NhZGRyKTsKIAog CQlmb3IgKHNrMiA9IHVkcF9oYXNoW3NudW0gJiAoVURQX0hUQUJMRV9TSVpFIC0gMSldOwog CQkgICAgIHNrMiAhPSBOVUxMOwpkaWZmIC0tZ2l0IGEvcGZpbmV0L3BmaW5ldC1vcHMuYyBi L3BmaW5ldC9wZmluZXQtb3BzLmMKaW5kZXggOWIwYzcyM2YuLjNiNjQ1YTBkIDEwMDY0NAot LS0gYS9wZmluZXQvcGZpbmV0LW9wcy5jCisrKyBiL3BmaW5ldC9wZmluZXQtb3BzLmMKQEAg LTEzMyw3ICsxMzMsNiBAQCBTX3BmaW5ldF9nZXRyb3V0ZXMgKGlvX3QgcG9ydCwKIAkJICAg IG1hY2hfbXNnX3R5cGVfbnVtYmVyX3QgKmxlbiwKIAkJICAgIGJvb2xlYW5fdCAqZGVhbGxv Y19kYXRhKQogewotICBlcnJvcl90IGVyciA9IDA7CiAgIGlmcnRyZXFfdCByc1tNQVhfUk9V VEVTXTsKICAgaW50IG47CiAgIGlmcnRyZXFfdCAqcnRhYmxlID0gTlVMTDsKZGlmZiAtLWdp dCBhL3RyYW5zL25ldy1maWZvLmMgYi90cmFucy9uZXctZmlmby5jCmluZGV4IDc4ODBlYjI0 Li4zYzE2NTdiNyAxMDA2NDQKLS0tIGEvdHJhbnMvbmV3LWZpZm8uYworKysgYi90cmFucy9u ZXctZmlmby5jCkBAIC0xMjksMTEgKzEyOSwxMyBAQCBmaWZvX3RyYW5zX2NyZWF0ZSAoc3Ry dWN0IGZpZm9fdHJhbnMgKmZyb20sIHN0cnVjdCBmaWZvX3RyYW5zICoqdHJhbnMpCiAgICp0 cmFucyA9IG5ldzsKIH0KIAorI2lmIDAKIHN0YXRpYyB2b2lkCiBmaWZvX3RyYW5zX2ZyZWUg KHN0cnVjdCBmaWZvX3RyYW5zICp0cmFucykKIHsKICAgZnJlZSAodHJhbnMpOwogfQorI2Vu ZGlmCiAKIHN0YXRpYyBlcnJvcl90CiBmaWZvX3RyYW5zX3N0YXJ0IChzdHJ1Y3QgZmlmb190 cmFucyAqdHJhbnMsIG1hY2hfcG9ydF90IHJlcXVlc3RvcikKQEAgLTE4Miw2ICsxODQsOCBA QCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgIGVycm9yX3QgZXJyOwogICBtYWNo X3BvcnRfdCBib290c3RyYXA7CiAgIHN0cnVjdCBmaWZvX3RyYW5zICp0cmFuczsKKworI2lm IDAKICAgLyogQ2xlYW4gdXAgYSBmc3lzIGNvbnRyb2wgbm9kZS4gICovCiAgIHZvaWQgY2xl YW5fZnN5cyAodm9pZCAqdmZzeXMpCiAgICAgewpAQCAtMTkwLDYgKzE5NCw3IEBAIG1haW4g KGludCBhcmdjLCBjaGFyICoqYXJndikKIAlmaWZvX3RyYW5zX2ZyZWUgKGZzeXMtPmhvb2sp OwogICAgICAgdHJpdmZzX2NsZWFuX2NudGwgKGZzeXMpOwogICAgIH0KKyNlbmRpZgogCiAg IGZpZm9fdHJhbnNfY3JlYXRlICgwLCAmdHJhbnMpOwogCi0tIAoyLjQzLjAKCg== --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="0007-Fixing-Werror-address-and-Werror-maybe-uninitialized.patch" Content-Disposition: attachment; filename*0="0007-Fixing-Werror-address-and-Werror-maybe-uninitialized.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAxNDNjYzhmMzg3ZjRlMmFhNzgxMzU0MWQwMDgzNzI4OTZhMjdhYWY5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBNaWtoYWlsIEthcnBvdiA8a2FycG92Lm1peGFpbDI0 QGdtYWlsLmNvbT4KRGF0ZTogVHVlLCAyOCBKdWwgMjAyNiAxNDozMjo1OCArMDcwMApTdWJq ZWN0OiBbUEFUQ0ggNy83XSBGaXhpbmcgLVdlcnJvcj1hZGRyZXNzIGFuZCAtV2Vycm9yPW1h eWJlLXVuaW5pdGlhbGl6ZWQKCi0tLQogcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9kZXZp bmV0LmMgfCA1ICstLS0tCiBwZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2lnbXAuYyAgICB8 IDIgKy0KIDIgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygt KQoKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1zcmMvbmV0L2lwdjQvZGV2aW5ldC5jIGIv cGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9kZXZpbmV0LmMKaW5kZXggYTU2Njc0M2EuLjgy OGE4ODI4IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2RldmluZXQu YworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2RldmluZXQuYwpAQCAtNzA1LDEw ICs3MDUsNyBAQCBpbmV0X2dpZmNvbmYoc3RydWN0IGRldmljZSAqZGV2LCBjaGFyICpidWYs IGludCBsZW4pCiAJCWlmIChsZW4gPCAoaW50KSBzaXplb2YoaWZyKSkKIAkJCXJldHVybiBk b25lOwogCQltZW1zZXQoJmlmciwgMCwgc2l6ZW9mKHN0cnVjdCBpZnJlcSkpOwotCQlpZiAo aWZhLT5pZmFfbGFiZWwpCi0JCQlzdHJjcHkoaWZyLmlmcl9uYW1lLCBpZmEtPmlmYV9sYWJl bCk7Ci0JCWVsc2UKLQkJCXN0cmNweShpZnIuaWZyX25hbWUsIGRldi0+bmFtZSk7CisJCXN0 cmNweShpZnIuaWZyX25hbWUsIGlmYS0+aWZhX2xhYmVsKTsKIAogI2lmZGVmIF9IVVJEXwog CQkoKihzdHJ1Y3Qgc29ja2FkZHJfaW4gKikgJmlmci5pZnJfYWRkcikuc2luX2xlbiA9IHNp emVvZiAoc3RydWN0IHNvY2thZGRyX2luKTsKZGlmZiAtLWdpdCBhL3BmaW5ldC9saW51eC1z cmMvbmV0L2lwdjQvaWdtcC5jIGIvcGZpbmV0L2xpbnV4LXNyYy9uZXQvaXB2NC9pZ21wLmMK aW5kZXggYWQ1YzBhOTcuLjdiZjQ1MDM0IDEwMDY0NAotLS0gYS9wZmluZXQvbGludXgtc3Jj L25ldC9pcHY0L2lnbXAuYworKysgYi9wZmluZXQvbGludXgtc3JjL25ldC9pcHY0L2lnbXAu YwpAQCAtNDQyLDggKzQ0Miw4IEBAIHZvaWQgaXBfbWNfaW5jX2dyb3VwKHN0cnVjdCBpbl9k ZXZpY2UgKmluX2RldiwgdTMyIGFkZHIpCiAJaW0tPnRpbWVyLmZ1bmN0aW9uPSZpZ21wX3Rp bWVyX2V4cGlyZTsKIAlpbS0+dW5zb2xpY2l0X2NvdW50ID0gSUdNUF9VbnNvbGljaXRlZF9S ZXBvcnRfQ291bnQ7CiAJaW0tPnJlcG9ydGVyID0gMDsKLQlpbS0+bG9hZGVkID0gMDsKICNl bmRpZgorCWltLT5sb2FkZWQgPSAwOwogCWltLT5uZXh0PWluX2Rldi0+bWNfbGlzdDsKIAlp bl9kZXYtPm1jX2xpc3Q9aW07CiAJaWdtcF9ncm91cF9hZGRlZChpbSk7Ci0tIAoyLjQzLjAK Cg== --------------xhhyVw6uycbUbYZOk4oScp9d Content-Type: text/x-patch; charset=UTF-8; name="fixing-structure-declaration-inside-parameter-list.patch" Content-Disposition: attachment; filename="fixing-structure-declaration-inside-parameter-list.patch" Content-Transfer-Encoding: base64 LS0tIHJwY19tc2cuaAkyMDI2LTA3LTI4IDEzOjEyOjQ0LjI0OTU2Nzk4MCArMDcwMAorKysg cnBjX21zZ19uZXcuaAkyMDI2LTA3LTI4IDEzOjEzOjM3LjU2NDMwNDUwMCArMDcwMApAQCAt MTY1LDYgKzE2NSwxMSBAQAogZXh0ZXJuICJDIiB7CiAjZW5kaWYKIC8qCisgKiBUaGUgcmNw IGVycm9yCisgKi8KK3N0cnVjdCBycGNfZXJyOworCisvKgogICogWERSIHJvdXRpbmUgdG8g aGFuZGxlIGEgcnBjIG1lc3NhZ2UuCiAgKiB4ZHJfY2FsbG1zZyh4ZHJzLCBjbXNnKQogICog CVhEUiAqeGRyczsK --------------xhhyVw6uycbUbYZOk4oScp9d--