[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--