Re: [PATCH] Changes in Drivers for New Wait Queue Handling

Jeremy Katz (katzj@linuxpower.org)
Sat, 15 May 1999 15:08:35 -0700 (PDT)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1244721415-1110229163-926806115=:18469
Content-Type: TEXT/PLAIN; charset=US-ASCII

On Sat, 15 May 1999, Linus Torvalds wrote:
> On Fri, 14 May 1999, Jeremy Katz wrote:
> > Linus -- if you'd rather I break the patch up into smaller parts, let me
> > know and I can do this.
>
> The only problem I have with this patch is that at least a small portion
> of it is in 2.3.2, so I'd ask you to check that part out. Other than that
> this looks fine,

I noticed that 2.3.2 was out about 30 minutes after I sent it. Here's an
updated version which patches cleanly into 2.3.2.

Jeremy

---1244721415-1110229163-926806115=:18469
Content-Type: TEXT/PLAIN; charset=US-ASCII; name="wait_queues.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.4.10.9905151508350.18469@bach.greenwitch.com>
Content-Description: patch against 2.3.2
Content-Disposition: attachment; filename="wait_queues.patch"

ZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvYXJjaC9tNjhrL2F0YXJp
L3N0ZG1hLmMgbGludXguZGV2ZWwvYXJjaC9tNjhrL2F0YXJpL3N0ZG1hLmMN
Ci0tLSBsaW51eC5kZXZlbC52YW5pbGxhL2FyY2gvbTY4ay9hdGFyaS9zdGRt
YS5jCVRodSBGZWIgMTIgMTk6MzA6MTIgMTk5OA0KKysrIGxpbnV4LmRldmVs
L2FyY2gvbTY4ay9hdGFyaS9zdGRtYS5jCUZyaSBNYXkgMTQgMjM6MzA6NDcg
MTk5OQ0KQEAgLTQzLDcgKzQzLDcgQEANCiAJCQkJCQkvKiBpbnQgZnVuYyB0
byBiZSBjYWxsZWQgKi8NCiBzdGF0aWMgdm9pZCAoKnN0ZG1hX2lzcikoaW50
LCB2b2lkICosIHN0cnVjdCBwdF9yZWdzICopID0gTlVMTDsNCiBzdGF0aWMg
dm9pZAkqc3RkbWFfaXNyX2RhdGEgPSBOVUxMOwkJLyogZGF0YSBwYXNzZWQg
dG8gaXNyICovDQotc3RhdGljIHN0cnVjdCB3YWl0X3F1ZXVlICpzdGRtYV93
YWl0ID0gTlVMTDsJLyogd2FpdCBxdWV1ZSBmb3IgU1QtRE1BICovDQorc3Rh
dGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKHN0ZG1hX3dhaXQpOwkvKiB3
YWl0IHF1ZXVlIGZvciBTVC1ETUEgKi8NCiANCiANCiANCmRpZmYgLXVyTiBs
aW51eC5kZXZlbC52YW5pbGxhL2FyY2gvbTY4ay9tYWMvYWRiLWJ1cy5jIGxp
bnV4LmRldmVsL2FyY2gvbTY4ay9tYWMvYWRiLWJ1cy5jDQotLS0gbGludXgu
ZGV2ZWwudmFuaWxsYS9hcmNoL202OGsvbWFjL2FkYi1idXMuYwlNb24gT2N0
ICA1IDE2OjU0OjM5IDE5OTgNCisrKyBsaW51eC5kZXZlbC9hcmNoL202OGsv
bWFjL2FkYi1idXMuYwlGcmkgTWF5IDE0IDIzOjMyOjAwIDE5OTkNCkBAIC0y
MzI4LDEyICsyMzI4LDEyIEBADQogCXN0cnVjdCBhZGJfcmVxdWVzdCByZXE7
DQogfTsNCiANCi1zdGF0aWMgc3RydWN0IHdhaXRfcXVldWUgKmFkYl93YWl0
Ow0KK3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChhZGJfd2FpdCk7
DQogDQogc3RhdGljIGludCBhZGJfd2FpdF9yZXBseShzdHJ1Y3QgYWRiZGV2
X3N0YXRlICpzdGF0ZSwgc3RydWN0IGZpbGUgKmZpbGUpDQogew0KIAlpbnQg
cmV0ID0gMDsNCi0Jc3RydWN0IHdhaXRfcXVldWUgd2FpdCA9IHsgY3VycmVu
dCwgTlVMTCB9Ow0KKwlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LGN1cnJlbnQp
Ow0KIA0KIAlhZGRfd2FpdF9xdWV1ZSgmYWRiX3dhaXQsICZ3YWl0KTsNCiAJ
Y3VycmVudC0+c3RhdGUgPSBUQVNLX0lOVEVSUlVQVElCTEU7DQpAQCAtMjU1
MiwxMiArMjU1MiwxMiBAQA0KIAlzdHJ1Y3QgYWRiX3JlcXVlc3QgcmVxOw0K
IH07DQogDQotc3RhdGljIHN0cnVjdCB3YWl0X3F1ZXVlICphZGJfd2FpdDsN
CitzdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQoYWRiX3dhaXQpOw0K
IA0KIHN0YXRpYyBpbnQgYWRiX3dhaXRfcmVwbHkoc3RydWN0IGFkYmRldl9z
dGF0ZSAqc3RhdGUsIHN0cnVjdCBmaWxlICpmaWxlKQ0KIHsNCiAJaW50IHJl
dCA9IDA7DQotCXN0cnVjdCB3YWl0X3F1ZXVlIHdhaXQgPSB7IGN1cnJlbnQs
IE5VTEwgfTsNCisJREVDTEFSRV9XQUlUUVVFVUUod2FpdCwgY3VycmVudCk7
DQogDQogI2lmIChBREJERUJVRyAmIEFEQkRFQlVHX0RFVklDRSkNCiAJcHJp
bnRrKCJBREIgcmVxdWVzdDogd2FpdF9yZXBseSAoYmxvY2tpbmcgLi4uIFxu
Iik7DQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9hcmNoL21pcHMv
a2VybmVsL2lyaXhzaWcuYyBsaW51eC5kZXZlbC9hcmNoL21pcHMva2VybmVs
L2lyaXhzaWcuYw0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvYXJjaC9taXBz
L2tlcm5lbC9pcml4c2lnLmMJVGh1IE5vdiAgNSAxMjo1ODoyOSAxOTk4DQor
KysgbGludXguZGV2ZWwvYXJjaC9taXBzL2tlcm5lbC9pcml4c2lnLmMJRnJp
IE1heSAxNCAyMzoyOTozOSAxOTk5DQpAQCAtNjY2LDcgKzY2Niw3IEBADQog
CQkJICAgIGludCBvcHRpb25zLCBzdHJ1Y3QgcnVzYWdlICpydSkNCiB7DQog
CWludCBmbGFnLCByZXR2YWw7DQotCXN0cnVjdCB3YWl0X3F1ZXVlIHdhaXQg
PSB7IGN1cnJlbnQsIE5VTEwgfTsNCisJREVDTEFSRV9XQUlUUVVFVUUod2Fp
dCxjdXJyZW50KTsNCiAJc3RydWN0IHRhc2tfc3RydWN0ICpwOw0KIA0KIAls
b2NrX2tlcm5lbCgpOw0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEv
YXJjaC9wcGMvOHh4X2lvL3VhcnQuYyBsaW51eC5kZXZlbC9hcmNoL3BwYy84
eHhfaW8vdWFydC5jDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9hcmNoL3Bw
Yy84eHhfaW8vdWFydC5jCVdlZCBEZWMgMjMgMTI6NDQ6NDAgMTk5OA0KKysr
IGxpbnV4LmRldmVsL2FyY2gvcHBjLzh4eF9pby91YXJ0LmMJRnJpIE1heSAx
NCAyMzozMDoxOCAxOTk5DQpAQCAtMTU1LDggKzE1NSw4IEBADQogCWxvbmcJ
CQlwZ3JwOyAvKiBwZ3JwIG9mIG9wZW5pbmcgcHJvY2VzcyAqLw0KIAlzdHJ1
Y3QgdHFfc3RydWN0CXRxdWV1ZTsNCiAJc3RydWN0IHRxX3N0cnVjdAl0cXVl
dWVfaGFuZ3VwOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqb3Blbl93YWl0Ow0K
LQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqY2xvc2Vfd2FpdDsNCisJd2FpdF9xdWV1
ZV9oZWFkX3QJb3Blbl93YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdAljbG9z
ZV93YWl0Ow0KIA0KIAkvKiBDUE0gQnVmZmVyIERlc2NyaXB0b3IgcG9pbnRl
cnMuDQogCSovDQpAQCAtMTczMyw3ICsxNzMzLDcgQEANCiAJCQkgICBzZXJf
aW5mb190ICppbmZvKQ0KIHsNCiAjaWZkZWYgRE9fVEhJU19MQVRFUg0KLQlz
dHJ1Y3Qgd2FpdF9xdWV1ZSB3YWl0ID0geyBjdXJyZW50LCBOVUxMIH07DQor
CURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOw0KICNlbmRpZg0K
IAlzdHJ1Y3Qgc2VyaWFsX3N0YXRlICpzdGF0ZSA9IGluZm8tPnN0YXRlOw0K
IAlpbnQJCXJldHZhbDsNCmRpZmYgLXVyTiBsaW51eC5kZXZlbC52YW5pbGxh
L2RyaXZlcnMvYWNvcm4vYmxvY2svZmQxNzcyLmMgbGludXguZGV2ZWwvZHJp
dmVycy9hY29ybi9ibG9jay9mZDE3NzIuYw0KLS0tIGxpbnV4LmRldmVsLnZh
bmlsbGEvZHJpdmVycy9hY29ybi9ibG9jay9mZDE3NzIuYwlUaHUgSmFuICA3
IDExOjQ2OjU4IDE5OTkNCisrKyBsaW51eC5kZXZlbC9kcml2ZXJzL2Fjb3Ju
L2Jsb2NrL2ZkMTc3Mi5jCUZyaSBNYXkgMTQgMjM6Mjg6MzkgMTk5OQ0KQEAg
LTI2Nyw3ICsyNjcsNyBAQA0KIA0KIC8qIFN5bmNocm9uaXphdGlvbiBvZiBG
REMxNzcyIGFjY2Vzcy4gKi8NCiBzdGF0aWMgdm9sYXRpbGUgaW50IGZkY19i
dXN5ID0gMDsNCi1zdGF0aWMgc3RydWN0IHdhaXRfcXVldWUgKmZkY193YWl0
ID0gTlVMTDsNCitzdGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQoZmRj
X3dhaXQpOw0KIA0KIA0KIHN0YXRpYyB1bnNpZ25lZCBpbnQgY2hhbmdlZF9m
bG9wcGllcyA9IDB4ZmYsIGZha2VfY2hhbmdlID0gMDsNCmRpZmYgLXVyTiBs
aW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvYWNvcm4vYmxvY2svbWZtaGQu
YyBsaW51eC5kZXZlbC9kcml2ZXJzL2Fjb3JuL2Jsb2NrL21mbWhkLmMNCi0t
LSBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvYWNvcm4vYmxvY2svbWZt
aGQuYwlNb24gQXVnIDI0IDE2OjE0OjA5IDE5OTgNCisrKyBsaW51eC5kZXZl
bC9kcml2ZXJzL2Fjb3JuL2Jsb2NrL21mbWhkLmMJRnJpIE1heSAxNCAyMzoy
OTowMyAxOTk5DQpAQCAtMTk1LDcgKzE5NSw3IEBADQogc3RhdGljIGludCBt
Zm1fc2l6ZXNbTUZNX01BWERSSVZFUyA8PCA2XTsNCiBzdGF0aWMgaW50IG1m
bV9ibG9ja3NpemVzW01GTV9NQVhEUklWRVMgPDwgNl07DQogc3RhdGljIGlu
dCBtZm1fc2VjdHNpemVzW01GTV9NQVhEUklWRVMgPDwgNl07DQotc3RhdGlj
IHN0cnVjdCB3YWl0X3F1ZXVlICptZm1fd2FpdF9vcGVuID0gTlVMTDsNCitz
dGF0aWMgREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQobWZtX3dhaXRfb3Blbik7
DQogDQogLyogU3R1ZmYgZnJvbSB0aGUgYXNzZW1ibHkgcm91dGluZXMgKi8N
CiBleHRlcm4gdW5zaWduZWQgaW50IGhkYzYzNDYzX2Jhc2VhZGRyZXNzOwkv
KiBDb250cm9sbGVyIGJhc2UgYWRkcmVzcyAqLw0KZGlmZiAtdXJOIGxpbnV4
LmRldmVsLnZhbmlsbGEvZHJpdmVycy9hcDEwMDAvYXAuYyBsaW51eC5kZXZl
bC9kcml2ZXJzL2FwMTAwMC9hcC5jDQotLS0gbGludXguZGV2ZWwudmFuaWxs
YS9kcml2ZXJzL2FwMTAwMC9hcC5jCU1vbiBBdWcgMjQgMTY6NDU6NTEgMTk5
OA0KKysrIGxpbnV4LmRldmVsL2RyaXZlcnMvYXAxMDAwL2FwLmMJRnJpIE1h
eSAxNCAyMzoyNDoyNCAxOTk5DQpAQCAtMzYsNyArMzYsNyBAQA0KICNkZWZp
bmUgTlVNX0FQREVWUyA4DQogI2RlZmluZSBNQVhfUkVRVUVTVFMgMQ0KIA0K
LXN0YXRpYyBzdHJ1Y3Qgd2FpdF9xdWV1ZSAqIGJ1c3lfd2FpdCA9IE5VTEw7
DQorc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGJ1c3lfd2FpdCk7
DQogDQogc3RhdGljIGludCBhcF9ibG9ja3NpemVzW05VTV9BUERFVlNdOw0K
IHN0YXRpYyBpbnQgYXBfbGVuZ3RoW05VTV9BUERFVlNdOw0KZGlmZiAtdXJO
IGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9hcDEwMDAvZGR2LmMgbGlu
dXguZGV2ZWwvZHJpdmVycy9hcDEwMDAvZGR2LmMNCi0tLSBsaW51eC5kZXZl
bC52YW5pbGxhL2RyaXZlcnMvYXAxMDAwL2Rkdi5jCU1vbiBBdWcgMjQgMTY6
MDI6NDQgMTk5OA0KKysrIGxpbnV4LmRldmVsL2RyaXZlcnMvYXAxMDAwL2Rk
di5jCUZyaSBNYXkgMTQgMjM6MjU6MDYgMTk5OQ0KQEAgLTg0LDcgKzg0LDcg
QEANCiBzdGF0aWMgY2hhciAqZGR2X29wY29kZXAgPSBOVUxMOw0KIHN0YXRp
YyBzdHJ1Y3QgcmVxdWVzdCAqbmV4dF9yZXF1ZXN0ID0gTlVMTDsNCiANCi1z
dGF0aWMgc3RydWN0IHdhaXRfcXVldWUgKiBidXN5X3dhaXQgPSBOVUxMOw0K
K3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChidXN5X3dhaXQpOw0K
IA0KIHN0YXRpYyBpbnQgZGR2X2Jsb2Nrc2l6ZXNbTlVNX0REVkRFVlNdOyAv
KiBpbiBieXRlcyAqLw0KIGludCBkZHZfc2VjdF9sZW5ndGhbTlVNX0REVkRF
VlNdOyAvKiBpbiBzZWN0b3JzICovDQpAQCAtOTMsNyArOTMsNyBAQA0KIC8q
IHRoZXNlIGFyZSB1c2VkIGJ5IHRoZSBkZHZfZGFlbW9uLCB3aGljaCBzZXJ2
aWNlcyByZW1vdGUgZGlzayByZXF1ZXN0cyAqLw0KIHN0YXRpYyBzdHJ1Y3Qg
cmVtb3RlX3JlcXVlc3QgKnJlbV9xdWV1ZSA9IE5VTEw7DQogc3RhdGljIHN0
cnVjdCByZW1vdGVfcmVxdWVzdCAqcmVtX3F1ZXVlX2VuZDsNCi1zdGF0aWMg
c3RydWN0IHdhaXRfcXVldWUgKmRkdl9kYWVtb25fd2FpdCA9IE5VTEw7DQor
c3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGRkdl9kYWVtb25fd2Fp
dCk7DQogDQogc3RhdGljIGludCBvcGl1X2tlcm5lbF9sb2FkZWQgPSAwOw0K
IA0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9ibG9j
ay9wYXJpZGUvcGQuYyBsaW51eC5kZXZlbC9kcml2ZXJzL2Jsb2NrL3Bhcmlk
ZS9wZC5jDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2Jsb2Nr
L3BhcmlkZS9wZC5jCU1vbiBTZXAgMjggMTM6NTE6MTYgMTk5OA0KKysrIGxp
bnV4LmRldmVsL2RyaXZlcnMvYmxvY2svcGFyaWRlL3BkLmMJRnJpIE1heSAx
NCAyMzoxMjozMiAxOTk5DQpAQCAtMzMxLDcgKzMzMSw3IEBADQogc3RhdGlj
IGludCBwZF9wb2ZmczsJCQkvKiBwYXJ0aXRpb24gb2Zmc2V0IG9mIGN1cnJl
bnQgbWlub3IgKi8NCiBzdGF0aWMgY2hhciAqIHBkX2J1ZjsgICAgICAgICAg
ICAgICAgICAgLyogYnVmZmVyIGZvciByZXF1ZXN0IGluIHByb2dyZXNzICov
DQogDQotc3RhdGljIHN0cnVjdCB3YWl0X3F1ZXVlICpwZF93YWl0X29wZW4g
PSBOVUxMOw0KK3N0YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChwZF93
YWl0X29wZW4pOw0KIA0KIHN0YXRpYyBjaGFyICpwZF9lcnJzWzE3XSA9IHsg
IkVSUiIsIklOREVYIiwiRUNDIiwiRFJRIiwiU0VFSyIsIldSRVJSIiwNCiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJSRUFEWSIsIkJVU1kiLCJB
TU5GIiwiVEswTkYiLCJBQlJUIiwiTUNSIiwNCmRpZmYgLXVyTiBsaW51eC5k
ZXZlbC52YW5pbGxhL2RyaXZlcnMvY2Ryb20vZ3NjZC5jIGxpbnV4LmRldmVs
L2RyaXZlcnMvY2Ryb20vZ3NjZC5jDQotLS0gbGludXguZGV2ZWwudmFuaWxs
YS9kcml2ZXJzL2Nkcm9tL2dzY2QuYwlTYXQgT2N0IDMxIDEzOjI4OjI1IDE5
OTgNCisrKyBsaW51eC5kZXZlbC9kcml2ZXJzL2Nkcm9tL2dzY2QuYwlGcmkg
TWF5IDE0IDIzOjQzOjI1IDE5OTkNCkBAIC03Niw3ICs3Niw3IEBADQogTU9E
VUxFX1BBUk0oZ3NjZCwgImgiKTsNCiANCiAvKiBLb21tdCBzcGFldGVyIHZp
ZWxsZWljaHQgbm9jaCBtYWwgZHJhbiAuLi4NCi0gKiAgICBzdGF0aWMgc3Ry
dWN0IHdhaXRfcXVldWUgKmdzY2Rfd2FpdHEgPSBOVUxMOw0KKyAqICAgIHN0
YXRpYyBERUNMQVJFX1dBSVRfUVVFVUVfSEVBRChnc2NkX3dhaXRxKTsNCiAg
Ki8gDQogDQogc3RhdGljIHZvaWQgZ3NjZF90cmFuc2ZlciAgICAgICAgICh2
b2lkKTsNCmRpZmYgLXVyTiBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMv
Y2Ryb20vc2JwY2QuYyBsaW51eC5kZXZlbC9kcml2ZXJzL2Nkcm9tL3NicGNk
LmMNCi0tLSBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvY2Ryb20vc2Jw
Y2QuYwlGcmkgTWF5IDE0IDIzOjAxOjQwIDE5OTkNCisrKyBsaW51eC5kZXZl
bC9kcml2ZXJzL2Nkcm9tL3NicGNkLmMJRnJpIE1heSAxNCAyMzoyMzowOCAx
OTk5DQpAQCAtNTg1LDcgKzU4NSw3IEBADQogLyo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PSovDQogDQogI2lmIEZVVFVSRQ0KLXN0YXRpYyBzdHJ1
Y3Qgd2FpdF9xdWV1ZSAqc2JwX3dhaXRxID0gTlVMTDsNCitzdGF0aWMgREVD
TEFSRV9XQUlUX1FVRVVFX0hFQUQoc2JwX3dhaXRxKTsNCiAjZW5kaWYgRlVU
VVJFDQogDQogc3RhdGljIGludCB0ZWFjPVNCUF9URUFDX1NQRUVEOw0KZGlm
ZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9jaGFyL2RuX2tl
eWIuYyBsaW51eC5kZXZlbC9kcml2ZXJzL2NoYXIvZG5fa2V5Yi5jDQotLS0g
bGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2NoYXIvZG5fa2V5Yi5jCU1v
biBBcHIgMjYgMTY6Mjg6MDcgMTk5OQ0KKysrIGxpbnV4LmRldmVsL2RyaXZl
cnMvY2hhci9kbl9rZXliLmMJRnJpIE1heSAxNCAyMzoxNzoyNCAxOTk5DQpA
QCAtNDcsNyArNDcsNyBAQA0KIHN0YXRpYyB1bnNpZ25lZCBpbnQga2JkX21v
ZGU9QVBPTExPX0tCRF9NT0RFX0tFWUI7DQogc3RhdGljIHNob3J0IG1vdXNl
X2R4LG1vdXNlX2R5LG1vdXNlX2J1dHRvbnM7DQogc3RhdGljIGludCBtb3Vz
ZV9yZWFkeT0wLG1vdXNlX3VwZGF0ZV9hbGxvd2VkPTAsbW91c2VfYWN0aXZl
PTA7DQotc3RhdGljIHN0cnVjdCB3YWl0X3F1ZXVlICptb3VzZV93YWl0PU5V
TEw7DQorc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKG1vdXNlX3dh
aXQpOw0KIHN0YXRpYyBzdHJ1Y3QgZmFzeW5jX3N0cnVjdCAqbW91c2VfZmFz
eW5jcHRyPU5VTEw7DQogDQogI2lmIDANCmRpZmYgLXVyTiBsaW51eC5kZXZl
bC52YW5pbGxhL2RyaXZlcnMvY2hhci9oOC5jIGxpbnV4LmRldmVsL2RyaXZl
cnMvY2hhci9oOC5jDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJz
L2NoYXIvaDguYwlNb24gQXVnIDI0IDE2OjAyOjQ0IDE5OTgNCisrKyBsaW51
eC5kZXZlbC9kcml2ZXJzL2NoYXIvaDguYwlGcmkgTWF5IDE0IDIzOjE2OjM1
IDE5OTkNCkBAIC0xNjAsNyArMTYwLDcgQEANCiAgKi8NCiBpbnQgY3B1X3Nw
ZWVkX2Rpdmlzb3IgPSAtMTsJCQkNCiBpbnQgaDhfZXZlbnRfbWFzayA9IDA7
CQkJDQotc3RydWN0IHdhaXRfcXVldWUgKmg4X21vbml0b3Jfd2FpdCA9IE5V
TEw7DQorREVDTEFSRV9XQUlUX1FVRVVFX0hFQUQoaDhfbW9uaXRvcl93YWl0
KTsNCiB1bnNpZ25lZCBpbnQgaDhfY29tbWFuZF9tYXNrID0gMDsNCiBpbnQg
aDhfdXRoZXJtYWxfdGhyZXNob2xkID0gREVGQVVMVF9VVEhFUk1BTF9USFJF
U0hPTEQ7DQogaW50IGg4X3V0aGVybWFsX3dpbmRvdyA9IFVUSF9IWVNURVJF
U0lTOwkJICAgICAgDQpAQCAtMTcwLDcgKzE3MCw3IEBADQogdV9jaGFyIGg4
X2N1cnJlbnRfdGVtcCA9IDA7DQogdV9jaGFyIGg4X3N5c3RlbV90ZW1wID0g
MDsNCiBpbnQgaDhfc3luY19jaGFubmVsID0gMDsNCi1zdHJ1Y3Qgd2FpdF9x
dWV1ZSAqaDhfc3luY193YWl0ID0gTlVMTDsNCitERUNMQVJFX1dBSVRfUVVF
VUVfSEVBRChoOF9zeW5jX3dhaXQpOw0KIGludCBoOF9pbml0X3BlcmZvcm1l
ZDsNCiANCiAvKiBDUFUgc3BlZWRzIGFuZCBjbG9jayBkaXZpc29yIHZhbHVl
cyAqLw0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9j
aGFyL3BjeHguYyBsaW51eC5kZXZlbC9kcml2ZXJzL2NoYXIvcGN4eC5jDQot
LS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2NoYXIvcGN4eC5jCVdl
ZCBNYXIgMTAgMTk6NTE6MzUgMTk5OQ0KKysrIGxpbnV4LmRldmVsL2RyaXZl
cnMvY2hhci9wY3h4LmMJRnJpIE1heSAxNCAyMzoxMzo1MyAxOTk5DQpAQCAt
MzI2LDcgKzMyNiw3IEBADQogDQogc3RhdGljIGludCBwY3h4X3dhaXRjYXJy
aWVyKHN0cnVjdCB0dHlfc3RydWN0ICp0dHksc3RydWN0IGZpbGUgKmZpbHAs
c3RydWN0IGNoYW5uZWwgKmluZm8pDQogew0KLQlzdHJ1Y3Qgd2FpdF9xdWV1
ZSB3YWl0ID0geyBjdXJyZW50LCBOVUxMIH07DQorCURFQ0xBUkVfV0FJVFFV
RVVFKHdhaXQsIGN1cnJlbnQpOw0KIAlpbnQJcmV0dmFsID0gMDsNCiAJaW50
CWRvX2Nsb2NhbCA9IDA7DQogDQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFu
aWxsYS9kcml2ZXJzL2NoYXIvcGN4eC5oIGxpbnV4LmRldmVsL2RyaXZlcnMv
Y2hhci9wY3h4LmgNCi0tLSBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMv
Y2hhci9wY3h4LmgJU3VuIEFwciAxMyAxMzoxODoyMCAxOTk3DQorKysgbGlu
dXguZGV2ZWwvZHJpdmVycy9jaGFyL3BjeHguaAlGcmkgTWF5IDE0IDIzOjE0
OjA5IDE5OTkNCkBAIC04OCw4ICs4OCw4IEBADQogCWludAkJCQkJCQlibG9j
a2VkX29wZW47DQogCWludAkJCQkJCQljbG9zZV9kZWxheTsNCiAJaW50CQkJ
CQkJCWV2ZW50Ow0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkJCSpvcGVuX3dhaXQ7
DQotCXN0cnVjdCB3YWl0X3F1ZXVlCQkJKmNsb3NlX3dhaXQ7DQorCXdhaXRf
cXVldWVfaGVhZF90CQkJb3Blbl93YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRf
dAkJCWNsb3NlX3dhaXQ7DQogCXN0cnVjdCB0cV9zdHJ1Y3QJCQl0cXVldWU7
DQogCQkJCQkJCS8qIC0tLS0tLS0tLS0tLSBBc3luYyBjb250cm9sIGRhdGEg
LS0tLS0tLS0tLS0tLSAqLw0KIAl1bmNoYXIJCQkJCQltb2RlbWZha2U7ICAg
ICAgLyogTW9kZW0gdmFsdWVzIHRvIGJlIGZvcmNlZCAqLw0KZGlmZiAtdXJO
IGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9jaGFyL3BsYW5iLmMgbGlu
dXguZGV2ZWwvZHJpdmVycy9jaGFyL3BsYW5iLmMNCi0tLSBsaW51eC5kZXZl
bC52YW5pbGxhL2RyaXZlcnMvY2hhci9wbGFuYi5jCU1vbiBNYXkgMTAgMTM6
MTc6MjggMTk5OQ0KKysrIGxpbnV4LmRldmVsL2RyaXZlcnMvY2hhci9wbGFu
Yi5jCUZyaSBNYXkgMTQgMjM6MTg6MjMgMTk5OQ0KQEAgLTM3OSw3ICszNzks
NyBAQA0KIA0KIHN0YXRpYyB2b2lkIF9fcGxhbmJfd2FpdChzdHJ1Y3QgcGxh
bmIgKnBiKQ0KIHsNCi0Jc3RydWN0IHdhaXRfcXVldWUgd2FpdCA9IHsgY3Vy
cmVudCwgTlVMTCB9Ow0KKwlERUNMQVJFX1dBSVRRVUVVRSh3YWl0LCBjdXJy
ZW50KTsNCiANCiAJYWRkX3dhaXRfcXVldWUoJnBiLT5sb2NrcSwgJndhaXQp
Ow0KIHJlcGVhdDoNCmRpZmYgLXVyTiBsaW51eC5kZXZlbC52YW5pbGxhL2Ry
aXZlcnMvY2hhci9wbGFuYi5oIGxpbnV4LmRldmVsL2RyaXZlcnMvY2hhci9w
bGFuYi5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2NoYXIv
cGxhbmIuaAlGcmkgTWF5ICA3IDE0OjA1OjMwIDE5OTkNCisrKyBsaW51eC5k
ZXZlbC9kcml2ZXJzL2NoYXIvcGxhbmIuaAlGcmkgTWF5IDE0IDIzOjE5OjE2
IDE5OTkNCkBAIC0xNzUsNyArMTc1LDcgQEANCiAJdW5zaWduZWQgaW50IHRh
Yl9zaXplOw0KIAlpbnQgICAgIG1heGxpbmVzOw0KIAlpbnQgbG9jazsNCi0J
c3RydWN0IHdhaXRfcXVldWUgKmxvY2txOw0KKwl3YWl0X3F1ZXVlX2hlYWRf
dCBsb2NrcTsNCiAJdW5zaWduZWQgaW50CWlycTsJCQkvKiBpbnRlcnJ1cHQg
bnVtYmVyICovDQogCXZvbGF0aWxlIHVuc2lnbmVkIGludCBpbnRyX21hc2s7
DQogDQpAQCAtMTkwLDEzICsxOTAsMTMgQEANCiAJdW5zaWduZWQgbG9uZyBj
aDFfY21kX3BoeXM7DQogCXZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKm1hc2s7
CQkvKiBDbGlwbWFzayBidWZmZXIgKi8NCiAJaW50IHN1c3BlbmQ7DQotCXN0
cnVjdCB3YWl0X3F1ZXVlICpzdXNwZW5kcTsNCisJd2FpdF9xdWV1ZV9oZWFk
X3Qgc3VzcGVuZHE7DQogCXN0cnVjdCBwbGFuYl9zdXNwZW5kIHN1c3BlbmRl
ZDsNCiAJaW50CWNtZF9idWZmX2luaXRlZDsJCS8qIGNtZCBidWZmZXIgaW5p
dGVkPyAqLw0KIA0KIAlpbnQgZ3JhYmJpbmc7DQogCXVuc2lnbmVkIGludCBn
Y291bnQ7DQotCXN0cnVjdCB3YWl0X3F1ZXVlICpjYXBxOw0KKwl3YWl0X3F1
ZXVlX2hlYWRfdCBjYXBxOw0KIAlpbnQgbGFzdF9mcjsNCiAJaW50IHByZXZf
bGFzdF9mcjsNCiAgICAgICAgIHVuc2lnbmVkIGNoYXIgKmZidWZmZXI7DQpk
aWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2NoYXIvc2Vy
aWFsMTY3LmMgbGludXguZGV2ZWwvZHJpdmVycy9jaGFyL3NlcmlhbDE2Ny5j
DQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2NoYXIvc2VyaWFs
MTY3LmMJVGh1IE5vdiAgNSAxMjo1ODo0MyAxOTk4DQorKysgbGludXguZGV2
ZWwvZHJpdmVycy9jaGFyL3NlcmlhbDE2Ny5jCUZyaSBNYXkgMTQgMjM6MTg6
MDYgMTk5OQ0KQEAgLTIwMDcsNyArMjAwNyw3IEBADQogYmxvY2tfdGlsX3Jl
YWR5KHN0cnVjdCB0dHlfc3RydWN0ICp0dHksIHN0cnVjdCBmaWxlICogZmls
cCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgY3ljbGFk
ZXNfcG9ydCAqaW5mbykNCiB7DQotICBzdHJ1Y3Qgd2FpdF9xdWV1ZSB3YWl0
ID0geyBjdXJyZW50LCBOVUxMIH07DQorICBERUNMQVJFX1dBSVRRVUVVRSh3
YWl0LCBjdXJyZW50KTsNCiAgIHVuc2lnbmVkIGxvbmcgZmxhZ3M7DQogICBp
bnQgY2hhbm5lbDsNCiAgIGludCByZXR2YWw7DQpkaWZmIC11ck4gbGludXgu
ZGV2ZWwudmFuaWxsYS9kcml2ZXJzL2lzZG4vYXZtYjEvY2FwaWRldi5oIGxp
bnV4LmRldmVsL2RyaXZlcnMvaXNkbi9hdm1iMS9jYXBpZGV2LmgNCi0tLSBs
aW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvaXNkbi9hdm1iMS9jYXBpZGV2
LmgJRnJpIE1heSAzMCAwMDo1MzowNSAxOTk3DQorKysgbGludXguZGV2ZWwv
ZHJpdmVycy9pc2RuL2F2bWIxL2NhcGlkZXYuaAlGcmkgTWF5IDE0IDIzOjIz
OjM4IDE5OTkNCkBAIC0yMiw3ICsyMiw3IEBADQogCWludCBpc19yZWdpc3Rl
cmVkOw0KIAlfX3UxNiBhcHBsaWQ7DQogCXN0cnVjdCBza19idWZmX2hlYWQg
cmVjdl9xdWV1ZTsNCi0Jc3RydWN0IHdhaXRfcXVldWUgKnJlY3Zfd2FpdDsN
CisJd2FpdF9xdWV1ZV9oZWFkX3QgcmVjdl93YWl0Ow0KIAlfX3UxNiBlcnJj
b2RlOw0KIH07DQogDQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9k
cml2ZXJzL2lzZG4vcGNiaXQvcGNiaXQuaCBsaW51eC5kZXZlbC9kcml2ZXJz
L2lzZG4vcGNiaXQvcGNiaXQuaA0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEv
ZHJpdmVycy9pc2RuL3BjYml0L3BjYml0LmgJVHVlIEF1ZyAgNCAxMzozMTo1
OSAxOTk4DQorKysgbGludXguZGV2ZWwvZHJpdmVycy9pc2RuL3BjYml0L3Bj
Yml0LmgJRnJpIE1heSAxNCAyMzoyMzo1OCAxOTk5DQpAQCAtNjgsNyArNjgs
NyBAQA0KIAlzdHJ1Y3QgZnJhbWVfYnVmICp3cml0ZV9xdWV1ZTsNCiANCiAJ
LyogUHJvdG9jb2wgc3RhcnQgKi8NCi0Jc3RydWN0IHdhaXRfcXVldWUgKnNl
dF9ydW5uaW5nX3dxOw0KKwl3YWl0X3F1ZXVlX2hlYWRfdCBzZXRfcnVubmlu
Z193cTsNCiAJc3RydWN0IHRpbWVyX2xpc3Qgc2V0X3J1bm5pbmdfdGltZXI7
DQogDQogCXN0cnVjdCB0aW1lcl9saXN0IGVycm9yX3JlY292ZXJfdGltZXI7
DQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL21hY2lu
dG9zaC9hZGIuYyBsaW51eC5kZXZlbC9kcml2ZXJzL21hY2ludG9zaC9hZGIu
Yw0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9tYWNpbnRvc2gv
YWRiLmMJVGh1IEFwciAyOSAxNTo1Mzo0OCAxOTk5DQorKysgbGludXguZGV2
ZWwvZHJpdmVycy9tYWNpbnRvc2gvYWRiLmMJRnJpIE1heSAxNCAyMzo0Mzo1
NCAxOTk5DQpAQCAtMzc1LDcgKzM3NSw3IEBADQogCXNwaW5sb2NrX3QJbG9j
azsNCiAJYXRvbWljX3QJbl9wZW5kaW5nOw0KIAlzdHJ1Y3QgYWRiX3JlcXVl
c3QgKmNvbXBsZXRlZDsNCi0Jc3RydWN0IHdhaXRfcXVldWUgKndhaXRfcXVl
dWU7DQorCXdhaXRfcXVldWVfaGVhZF90IHdhaXRfcXVldWU7DQogCWludAkJ
aW51c2U7DQogfTsNCiANCkBAIC00NTgsNyArNDU4LDcgQEANCiAJaW50IHJl
dDsNCiAJc3RydWN0IGFkYmRldl9zdGF0ZSAqc3RhdGUgPSBmaWxlLT5wcml2
YXRlX2RhdGE7DQogCXN0cnVjdCBhZGJfcmVxdWVzdCAqcmVxOw0KLQlzdHJ1
Y3Qgd2FpdF9xdWV1ZSB3YWl0ID0geyBjdXJyZW50LCBOVUxMIH07DQorCURF
Q0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOw0KIAl1bnNpZ25lZCBs
b25nIGZsYWdzOw0KIA0KIAlpZiAoY291bnQgPCAyKQ0KZGlmZiAtdXJOIGxp
bnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9tYWNpbnRvc2gvbWFjX2tleWIu
YyBsaW51eC5kZXZlbC9kcml2ZXJzL21hY2ludG9zaC9tYWNfa2V5Yi5jDQot
LS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL21hY2ludG9zaC9tYWNf
a2V5Yi5jCVRodSBBcHIgMjkgMTU6NTM6NDggMTk5OQ0KKysrIGxpbnV4LmRl
dmVsL2RyaXZlcnMvbWFjaW50b3NoL21hY19rZXliLmMJRnJpIE1heSAxNCAy
MzoyNjoxNyAxOTk5DQpAQCAtMjUxLDcgKzI1MSw3IEBADQogZXh0ZXJuIGlu
dCBjb25zb2xlX2xvZ2xldmVsOw0KIA0KIGV4dGVybiBzdHJ1Y3Qga2JkX3N0
cnVjdCBrYmRfdGFibGVbXTsNCi1leHRlcm4gc3RydWN0IHdhaXRfcXVldWUg
KiBrZXlwcmVzc193YWl0Ow0KK2V4dGVybiBzdHJ1Y3Qgd2FpdF9xdWV1ZV9o
ZWFkX3Qga2V5cHJlc3Nfd2FpdDsNCiANCiBleHRlcm4gdm9pZCBoYW5kbGVf
c2NhbmNvZGUodW5zaWduZWQgY2hhciwgaW50KTsNCiANCmRpZmYgLXVyTiBs
aW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvbWFjaW50b3NoL21hY3Nlcmlh
bC5jIGxpbnV4LmRldmVsL2RyaXZlcnMvbWFjaW50b3NoL21hY3NlcmlhbC5j
DQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL21hY2ludG9zaC9t
YWNzZXJpYWwuYwlUaHUgQXByIDI5IDE1OjUzOjQ4IDE5OTkNCisrKyBsaW51
eC5kZXZlbC9kcml2ZXJzL21hY2ludG9zaC9tYWNzZXJpYWwuYwlGcmkgTWF5
IDE0IDIzOjI1OjU2IDE5OTkNCkBAIC0xNTk1LDcgKzE1OTUsNyBAQA0KIHN0
YXRpYyBpbnQgYmxvY2tfdGlsX3JlYWR5KHN0cnVjdCB0dHlfc3RydWN0ICp0
dHksIHN0cnVjdCBmaWxlICogZmlscCwNCiAJCQkgICBzdHJ1Y3QgbWFjX3Nl
cmlhbCAqaW5mbykNCiB7DQotCXN0cnVjdCB3YWl0X3F1ZXVlIHdhaXQgPSB7
IGN1cnJlbnQsIE5VTEwgfTsNCisJREVDTEFSRV9XQUlUUVVFVUUod2FpdCxj
dXJyZW50KTsNCiAJaW50CQlyZXR2YWw7DQogCWludAkJZG9fY2xvY2FsID0g
MDsNCiANCmRpZmYgLXVyTiBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMv
bWFjaW50b3NoL21hY3NlcmlhbC5oIGxpbnV4LmRldmVsL2RyaXZlcnMvbWFj
aW50b3NoL21hY3NlcmlhbC5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9k
cml2ZXJzL21hY2ludG9zaC9tYWNzZXJpYWwuaAlUaHUgTWFyIDExIDAwOjQ4
OjQ2IDE5OTkNCisrKyBsaW51eC5kZXZlbC9kcml2ZXJzL21hY2ludG9zaC9t
YWNzZXJpYWwuaAlGcmkgTWF5IDE0IDIzOjI2OjM4IDE5OTkNCkBAIC0xNTMs
OCArMTUzLDggQEANCiAJc3RydWN0IHRxX3N0cnVjdAl0cXVldWVfaGFuZ3Vw
Ow0KIAlzdHJ1Y3QgdGVybWlvcwkJbm9ybWFsX3Rlcm1pb3M7DQogCXN0cnVj
dCB0ZXJtaW9zCQljYWxsb3V0X3Rlcm1pb3M7DQotCXN0cnVjdCB3YWl0X3F1
ZXVlCSpvcGVuX3dhaXQ7DQotCXN0cnVjdCB3YWl0X3F1ZXVlCSpjbG9zZV93
YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdAlvcGVuX3dhaXQ7DQorCXdhaXRf
cXVldWVfaGVhZF90CWNsb3NlX3dhaXQ7DQogfTsNCiANCiANCmRpZmYgLXVy
TiBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvbmV0L2Nvc2EuYyBsaW51
eC5kZXZlbC9kcml2ZXJzL25ldC9jb3NhLmMNCi0tLSBsaW51eC5kZXZlbC52
YW5pbGxhL2RyaXZlcnMvbmV0L2Nvc2EuYwlTdW4gTWFyICA3IDE4OjQ3OjQ2
IDE5OTkNCisrKyBsaW51eC5kZXZlbC9kcml2ZXJzL25ldC9jb3NhLmMJRnJp
IE1heSAxNCAyMzoxMjoxMiAxOTk5DQpAQCAtMTI2LDcgKzEyNiw4IEBADQog
CXN0cnVjdCBzZW1hcGhvcmUgcnNlbSwgd3NlbTsNCiAJY2hhciAqcnhkYXRh
Ow0KIAlpbnQgcnhzaXplOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZSAqdHh3YWl0
cSwgKnJ4d2FpdHE7DQorCXdhaXRfcXVldWVfaGVhZF90IHR4d2FpdHE7IA0K
Kwl3YWl0X3F1ZXVlX2hlYWRfdCByeHdhaXRxOw0KIAlpbnQgdHhfc3RhdHVz
LCByeF9zdGF0dXM7DQogDQogCS8qIFNQUFAvSERMQyBkZXZpY2UgcGFydHMg
Ki8NCkBAIC03NjIsNyArNzYzLDcgQEANCiBzdGF0aWMgc3NpemVfdCBjb3Nh
X3JlYWQoc3RydWN0IGZpbGUgKmZpbGUsDQogCWNoYXIgKmJ1Ziwgc2l6ZV90
IGNvdW50LCBsb2ZmX3QgKnBwb3MpDQogew0KLQlzdHJ1Y3Qgd2FpdF9xdWV1
ZSB3YWl0ID0geyBjdXJyZW50LCBOVUxMIH07DQorCURFQ0xBUkVfV0FJVFFV
RVVFKHdhaXQsIGN1cnJlbnQpOw0KIAlpbnQgZmxhZ3M7DQogCXN0cnVjdCBj
aGFubmVsX2RhdGEgKmNoYW4gPSAoc3RydWN0IGNoYW5uZWxfZGF0YSAqKWZp
bGUtPnByaXZhdGVfZGF0YTsNCiAJc3RydWN0IGNvc2FfZGF0YSAqY29zYSA9
IGNoYW4tPmNvc2E7DQpAQCAtODMzLDcgKzgzNCw3IEBADQogCWNvbnN0IGNo
YXIgKmJ1Ziwgc2l6ZV90IGNvdW50LCBsb2ZmX3QgKnBwb3MpDQogew0KIAlz
dHJ1Y3QgY2hhbm5lbF9kYXRhICpjaGFuID0gKHN0cnVjdCBjaGFubmVsX2Rh
dGEgKilmaWxlLT5wcml2YXRlX2RhdGE7DQotCXN0cnVjdCB3YWl0X3F1ZXVl
IHdhaXQgPSB7IGN1cnJlbnQsIE5VTEwgfTsNCisJREVDTEFSRV9XQUlUUVVF
VUUod2FpdCwgY3VycmVudCk7DQogCXN0cnVjdCBjb3NhX2RhdGEgKmNvc2Eg
PSBjaGFuLT5jb3NhOw0KIAl1bnNpZ25lZCBpbnQgZmxhZ3M7DQogCWNoYXIg
KmtidWY7DQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJz
L25ldC96ODUyMzAuaCBsaW51eC5kZXZlbC9kcml2ZXJzL25ldC96ODUyMzAu
aA0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9uZXQvejg1MjMw
LmgJU2F0IE9jdCAxNyAxODozMzo0NSAxOTk4DQorKysgbGludXguZGV2ZWwv
ZHJpdmVycy9uZXQvejg1MjMwLmgJRnJpIE1heSAxNCAyMzowOToyNyAxOTk5
DQpAQCAtMzMxLDggKzMzMSw4IEBADQogCWludAkJCWxpbmU7CQkvKiBNaW5v
ciBudW1iZXIgKi8NCiAJc3RydWN0IHRlcm1pb3MJCW5vcm1hbF90ZXJtaW9z
OwkvKiBUZXJtaW5hbCBzZXR0aW5ncyAqLw0KIAlzdHJ1Y3QgdGVybWlvcwkJ
Y2FsbG91dF90ZXJtaW9zOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqb3Blbl93
YWl0OwkvKiBUYXNrcyB3YWl0aW5nIHRvIG9wZW4gKi8NCi0Jc3RydWN0IHdh
aXRfcXVldWUJKmNsb3NlX3dhaXQ7CS8qIGFuZCBmb3IgY2xvc2UgdG8gZW5k
ICovDQorCXdhaXRfcXVldWVfaGVhZF90CW9wZW5fd2FpdDsJLyogVGFza3Mg
d2FpdGluZyB0byBvcGVuICovDQorCXdhaXRfcXVldWVfaGVhZF90CWNsb3Nl
X3dhaXQ7CS8qIGFuZCBmb3IgY2xvc2UgdG8gZW5kICovDQogCXVuc2lnbmVk
IGxvbmcJCWV2ZW50OwkJLyogUGVuZGluZyBldmVudHMgKi8NCiAJaW50CQkJ
ZmRjb3VudDsgICAgCS8qICMgb2YgZmQgb24gZGV2aWNlICovDQogCWludAkJ
CWJsb2NrZWRfb3BlbjsJLyogIyBvZiBibG9ja2VkIG9wZW5zICovDQpkaWZm
IC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL3Njc2kvc3QuaCBs
aW51eC5kZXZlbC9kcml2ZXJzL3Njc2kvc3QuaA0KLS0tIGxpbnV4LmRldmVs
LnZhbmlsbGEvZHJpdmVycy9zY3NpL3N0LmgJU3VuIFNlcCAgNiAxMjo0ODoz
MCAxOTk4DQorKysgbGludXguZGV2ZWwvZHJpdmVycy9zY3NpL3N0LmgJRnJp
IE1heSAxNCAyMzoxOTozNCAxOTk5DQpAQCAtNjUsNyArNjUsNyBAQA0KIHR5
cGVkZWYgc3RydWN0IHsNCiAgIGtkZXZfdCBkZXZ0Ow0KICAgdW5zaWduZWQg
Y2FwYWNpdHk7DQotICBzdHJ1Y3Qgd2FpdF9xdWV1ZSAqIHdhaXRpbmc7DQor
ICB3YWl0X3F1ZXVlX2hlYWRfdCB3YWl0aW5nOw0KICAgU2NzaV9EZXZpY2Uq
IGRldmljZTsNCiAgIHN0cnVjdCBzZW1hcGhvcmUgc2VtOw0KICAgU1RfYnVm
ZmVyICogYnVmZmVyOw0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEv
ZHJpdmVycy9zZ2kvY2hhci9zZ2lzZXJpYWwuYyBsaW51eC5kZXZlbC9kcml2
ZXJzL3NnaS9jaGFyL3NnaXNlcmlhbC5jDQotLS0gbGludXguZGV2ZWwudmFu
aWxsYS9kcml2ZXJzL3NnaS9jaGFyL3NnaXNlcmlhbC5jCVRodSBOb3YgIDUg
MTI6NTg6NDQgMTk5OA0KKysrIGxpbnV4LmRldmVsL2RyaXZlcnMvc2dpL2No
YXIvc2dpc2VyaWFsLmMJRnJpIE1heSAxNCAyMzoyNzoyNCAxOTk5DQpAQCAt
MzMsNyArMzMsNyBAQA0KICNkZWZpbmUgTlVNX1NFUklBTCAxICAgICAvKiBP
bmUgY2hpcCBvbiBib2FyZC4gKi8NCiAjZGVmaW5lIE5VTV9DSEFOTkVMUyAo
TlVNX1NFUklBTCAqIDIpDQogDQotZXh0ZXJuIHN0cnVjdCB3YWl0X3F1ZXVl
ICoga2V5cHJlc3Nfd2FpdDsNCitleHRlcm4gc3RydWN0IHdhaXRfcXVldWVf
aGVhZF90IGtleXByZXNzX3dhaXQ7DQogDQogc3RydWN0IHNnaV96c2xheW91
dCAqenNfY2hpcHNbTlVNX1NFUklBTF0gPSB7IDAsIH07DQogc3RydWN0IHNn
aV96c2NoYW5uZWwgKnpzX2NoYW5uZWxzW05VTV9DSEFOTkVMU10gPSB7IDAs
IDAsIH07DQpAQCAtMTUxOSw3ICsxNTE5LDcgQEANCiBzdGF0aWMgaW50IGJs
b2NrX3RpbF9yZWFkeShzdHJ1Y3QgdHR5X3N0cnVjdCAqdHR5LCBzdHJ1Y3Qg
ZmlsZSAqIGZpbHAsDQogCQkJICAgc3RydWN0IHNnaV9zZXJpYWwgKmluZm8p
DQogew0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZSB3YWl0ID0geyBjdXJyZW50LCBO
VUxMIH07DQorCURFQ0xBUkVfV0FJVFFVRVVFKHdhaXQsIGN1cnJlbnQpOw0K
IAlpbnQJCXJldHZhbDsNCiAJaW50CQlkb19jbG9jYWwgPSAwOw0KIA0KZGlm
ZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9zZ2kvY2hhci9z
Z2lzZXJpYWwuaCBsaW51eC5kZXZlbC9kcml2ZXJzL3NnaS9jaGFyL3NnaXNl
cmlhbC5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL3NnaS9j
aGFyL3NnaXNlcmlhbC5oCVdlZCBEZWMgMTAgMTM6MzE6MTEgMTk5Nw0KKysr
IGxpbnV4LmRldmVsL2RyaXZlcnMvc2dpL2NoYXIvc2dpc2VyaWFsLmgJRnJp
IE1heSAxNCAyMzoyNzo0NiAxOTk5DQpAQCAtMTU4LDggKzE1OCw4IEBADQog
CXN0cnVjdCB0cV9zdHJ1Y3QJdHF1ZXVlX2hhbmd1cDsNCiAJc3RydWN0IHRl
cm1pb3MJCW5vcm1hbF90ZXJtaW9zOw0KIAlzdHJ1Y3QgdGVybWlvcwkJY2Fs
bG91dF90ZXJtaW9zOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqb3Blbl93YWl0
Ow0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqY2xvc2Vfd2FpdDsNCisJd2FpdF9x
dWV1ZV9oZWFkX3QJb3Blbl93YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdAlj
bG9zZV93YWl0Ow0KIH07DQogDQogDQpkaWZmIC11ck4gbGludXguZGV2ZWwu
dmFuaWxsYS9kcml2ZXJzL3NnaS9jaGFyL3NobWlxLmMgbGludXguZGV2ZWwv
ZHJpdmVycy9zZ2kvY2hhci9zaG1pcS5jDQotLS0gbGludXguZGV2ZWwudmFu
aWxsYS9kcml2ZXJzL3NnaS9jaGFyL3NobWlxLmMJTW9uIEF1ZyAyNCAxNjox
NDoxMCAxOTk4DQorKysgbGludXguZGV2ZWwvZHJpdmVycy9zZ2kvY2hhci9z
aG1pcS5jCUZyaSBNYXkgMTQgMjM6Mjg6MDggMTk5OQ0KQEAgLTgyLDcgKzgy
LDcgQEANCiAJaW50ICAgIGV2ZW50czsNCiAJaW50ICAgIG1hcHBlZDsNCiAJ
DQotCXN0cnVjdCB3YWl0X3F1ZXVlICAgICpwcm9jX2xpc3Q7DQorCXdhaXRf
cXVldWVfaGVhZF90ICAgICBwcm9jX2xpc3Q7DQogCXN0cnVjdCBmYXN5bmNf
c3RydWN0ICpmYXN5bmM7DQogfSBzaG1pcXMgW01BWF9TSE1JX1FVRVVFU107
DQogDQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL3Nn
aS9jaGFyL3VzZW1hLmMgbGludXguZGV2ZWwvZHJpdmVycy9zZ2kvY2hhci91
c2VtYS5jDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL3NnaS9j
aGFyL3VzZW1hLmMJTW9uIEF1ZyAyNCAxNjowMjo0NCAxOTk4DQorKysgbGlu
dXguZGV2ZWwvZHJpdmVycy9zZ2kvY2hhci91c2VtYS5jCUZyaSBNYXkgMTQg
MjM6Mjg6MjIgMTk5OQ0KQEAgLTM5LDcgKzM5LDcgQEANCiANCiBzdHJ1Y3Qg
aXJpeF91c2VtYSB7DQogCXN0cnVjdCBmaWxlICpmaWxwOw0KLQlzdHJ1Y3Qg
d2FpdF9xdWV1ZSAqcHJvY19saXN0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdCBw
cm9jX2xpc3Q7DQogfTsNCiANCiBzdGF0aWMgaW50DQpkaWZmIC11ck4gbGlu
dXguZGV2ZWwudmFuaWxsYS9kcml2ZXJzL3NvdW5kL2xvd2xldmVsL2F3ZV9j
b21wYXQuaCBsaW51eC5kZXZlbC9kcml2ZXJzL3NvdW5kL2xvd2xldmVsL2F3
ZV9jb21wYXQuaA0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvZHJpdmVycy9z
b3VuZC9sb3dsZXZlbC9hd2VfY29tcGF0LmgJU3VuIE1hciAgNyAxODoyMjow
NiAxOTk5DQorKysgbGludXguZGV2ZWwvZHJpdmVycy9zb3VuZC9sb3dsZXZl
bC9hd2VfY29tcGF0LmgJRnJpIE1heSAxNCAyMzoyMToxNyAxOTk5DQpAQCAt
MjQ1LDcgKzI0NSw3IEBADQogI2VuZGlmIC8qIEFXRV9NT0RVTEVfU1VQUE9S
VCAqLw0KIA0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBBU0NfTElOVVhf
VkVSU0lPTigyLDEsMCkNCi1pbmxpbmUgc3RhdGljIHZvaWQgaW50ZXJydXB0
aWJsZV9zbGVlcF9vbl90aW1lb3V0KHN0cnVjdCB3YWl0X3F1ZXVlICoqcSwg
dW5zaWduZWQgbG9uZyB0aW1lb3V0KQ0KK2lubGluZSBzdGF0aWMgdm9pZCBp
bnRlcnJ1cHRpYmxlX3NsZWVwX29uX3RpbWVvdXQod2FpdF9xdWV1ZV9oZWFk
X3QgKnEsIHVuc2lnbmVkIGxvbmcgdGltZW91dCkNCiB7DQogCWN1cnJlbnQt
PnRpbWVvdXQgPSBqaWZmaWVzICsgdGltZW91dDsNCiAJaW50ZXJydXB0aWJs
ZV9zbGVlcF9vbihxKTsNCmRpZmYgLXVyTiBsaW51eC5kZXZlbC52YW5pbGxh
L2RyaXZlcnMvc291bmQvbG93bGV2ZWwvYXdlX3dhdmUuYyBsaW51eC5kZXZl
bC9kcml2ZXJzL3NvdW5kL2xvd2xldmVsL2F3ZV93YXZlLmMNCi0tLSBsaW51
eC5kZXZlbC52YW5pbGxhL2RyaXZlcnMvc291bmQvbG93bGV2ZWwvYXdlX3dh
dmUuYwlTdW4gTWFyICA3IDE4OjIyOjA2IDE5OTkNCisrKyBsaW51eC5kZXZl
bC9kcml2ZXJzL3NvdW5kL2xvd2xldmVsL2F3ZV93YXZlLmMJRnJpIE1heSAx
NCAyMzoyMDowNyAxOTk5DQpAQCAtOTc5LDcgKzk3OSw3IEBADQogfQ0KICNl
bHNlDQogDQotc3RhdGljIHN0cnVjdCB3YWl0X3F1ZXVlICphd2Vfc2xlZXBl
ciA9IE5VTEw7DQorc3RhdGljIERFQ0xBUkVfV0FJVF9RVUVVRV9IRUFEKGF3
ZV9zbGVlcGVyKTsNCiBzdGF0aWMgdm9pZCBhd2Vfd2FpdCh1bnNpZ25lZCBz
aG9ydCBkZWxheSkNCiB7DQogCWludGVycnVwdGlibGVfc2xlZXBfb25fdGlt
ZW91dCgmYXdlX3NsZWVwZXIsIChIWiAqICh1bnNpZ25lZCBsb25nKWRlbGF5
ICsgNDQwOTkpIC8gNDQxMDApOw0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZh
bmlsbGEvZHJpdmVycy9zb3VuZC9tc25kLmggbGludXguZGV2ZWwvZHJpdmVy
cy9zb3VuZC9tc25kLmgNCi0tLSBsaW51eC5kZXZlbC52YW5pbGxhL2RyaXZl
cnMvc291bmQvbXNuZC5oCVdlZCBEZWMgMTYgMTU6NTI6MDEgMTk5OA0KKysr
IGxpbnV4LmRldmVsL2RyaXZlcnMvc291bmQvbXNuZC5oCUZyaSBNYXkgMTQg
MjM6MjE6NTQgMTk5OQ0KQEAgLTIzMSw4ICsyMzEsOSBAQA0KICNkZWZpbmUg
Rl9FWFRfTUlESV9JTlVTRQkJOQ0KICNkZWZpbmUgRl9JTlRfTUlESV9JTlVT
RQkJMTANCiAjZGVmaW5lIEZfRElTQUJMRV9XUklURV9OREVMQVkJCTExDQot
CXN0cnVjdCB3YWl0X3F1ZXVlICp3cml0ZWJsb2NrLCAqcmVhZGJsb2NrOw0K
LQlzdHJ1Y3Qgd2FpdF9xdWV1ZSAqd3JpdGVmbHVzaDsNCisJd2FpdF9xdWV1
ZV9oZWFkX3Qgd3JpdGVibG9jazsNCisJd2FpdF9xdWV1ZV9oZWFkX3QgcmVh
ZGJsb2NrOw0KKwl3YWl0X3F1ZXVlX2hlYWRfdCB3cml0ZWZsdXNoOw0KICNp
Zm5kZWYgTElOVVgyMA0KIAlzcGlubG9ja190IGxvY2s7DQogI2VuZGlmDQpk
aWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9pbmNsdWRlL2FzbS1hbHBo
YS9zZW1hcGhvcmUuaCBsaW51eC5kZXZlbC9pbmNsdWRlL2FzbS1hbHBoYS9z
ZW1hcGhvcmUuaA0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9h
c20tYWxwaGEvc2VtYXBob3JlLmgJRnJpIE1heSAgNyAxMzo1NToyNiAxOTk5
DQorKysgbGludXguZGV2ZWwvaW5jbHVkZS9hc20tYWxwaGEvc2VtYXBob3Jl
LmgJRnJpIE1heSAxNCAyMzo0MDoxMSAxOTk5DQpAQCAtMTYsNyArMTYsNyBA
QA0KIAkvKiBDYXJlZnVsLCBpbmxpbmUgYXNzZW1ibHkga25vd3MgYWJvdXQg
dGhlIHBvc2l0aW9uIG9mIHRoZXNlIHR3by4gICovDQogCWF0b21pY190IGNv
dW50Ow0KIAlhdG9taWNfdCB3YWtpbmc7CQkvKiBiaWFzZWQgYnkgLTEgKi8N
Ci0Jc3RydWN0IHdhaXRfcXVldWUgKndhaXQ7DQorCXdhaXRfcXVldWVfaGVh
ZF90IHdhaXQ7DQogfTsNCiANCiAjZGVmaW5lIE1VVEVYICgoc3RydWN0IHNl
bWFwaG9yZSkgXA0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5j
bHVkZS9hc20tYXJtL3NlbWFwaG9yZS5oIGxpbnV4LmRldmVsL2luY2x1ZGUv
YXNtLWFybS9zZW1hcGhvcmUuaA0KLS0tIGxpbnV4LmRldmVsLnZhbmlsbGEv
aW5jbHVkZS9hc20tYXJtL3NlbWFwaG9yZS5oCUZyaSBNYXkgMTQgMjM6MDE6
NTEgMTk5OQ0KKysrIGxpbnV4LmRldmVsL2luY2x1ZGUvYXNtLWFybS9zZW1h
cGhvcmUuaAlGcmkgTWF5IDE0IDIzOjQyOjUxIDE5OTkNCkBAIC0xMCw3ICsx
MCw3IEBADQogc3RydWN0IHNlbWFwaG9yZSB7DQogCWF0b21pY190IGNvdW50
Ow0KIAlpbnQgd2FraW5nOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZSAqIHdhaXQ7
DQorCXdhaXRfcXVldWVfaGVhZF90IHdhaXQ7DQogfTsNCiANCiAjZGVmaW5l
IE1VVEVYICgoc3RydWN0IHNlbWFwaG9yZSkgeyBBVE9NSUNfSU5JVCgxKSwg
MCwgTlVMTCB9KQ0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5j
bHVkZS9hc20tbTY4ay9hZGJfbW91c2UuaCBsaW51eC5kZXZlbC9pbmNsdWRl
L2FzbS1tNjhrL2FkYl9tb3VzZS5oDQotLS0gbGludXguZGV2ZWwudmFuaWxs
YS9pbmNsdWRlL2FzbS1tNjhrL2FkYl9tb3VzZS5oCVdlZCBTZXAgIDIgMTI6
Mzk6MTggMTk5OA0KKysrIGxpbnV4LmRldmVsL2luY2x1ZGUvYXNtLW02OGsv
YWRiX21vdXNlLmgJRnJpIE1heSAxNCAyMzo0MTo0MyAxOTk5DQpAQCAtMTYs
NyArMTYsNyBAQA0KIAlzaG9ydAkJZHk7DQogCWludAkJcmVhZHk7DQogCWlu
dAkJYWN0aXZlOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZSAqd2FpdDsNCisJd2Fp
dF9xdWV1ZV9oZWFkX3Qgd2FpdDsNCiAJc3RydWN0IGZhc3luY19zdHJ1Y3Qg
KmZhc3luY3B0cjsNCiB9Ow0KIA0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZh
bmlsbGEvaW5jbHVkZS9hc20tbTY4ay9hdGFyaV9qb3lzdGljay5oIGxpbnV4
LmRldmVsL2luY2x1ZGUvYXNtLW02OGsvYXRhcmlfam95c3RpY2suaA0KLS0t
IGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9hc20tbTY4ay9hdGFyaV9q
b3lzdGljay5oCVNhdCBNYXIgMzAgMDc6MTE6MjQgMTk5Ng0KKysrIGxpbnV4
LmRldmVsL2luY2x1ZGUvYXNtLW02OGsvYXRhcmlfam95c3RpY2suaAlGcmkg
TWF5IDE0IDIzOjQxOjE2IDE5OTkNCkBAIC0xNiw3ICsxNiw3IEBADQogCWNo
YXIJCWRpcjsNCiAJaW50CQlyZWFkeTsNCiAJaW50CQlhY3RpdmU7DQotCXN0
cnVjdCB3YWl0X3F1ZXVlICp3YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdCB3
YWl0Ow0KIH07DQogDQogI2VuZGlmDQpkaWZmIC11ck4gbGludXguZGV2ZWwu
dmFuaWxsYS9pbmNsdWRlL2FzbS1tNjhrL21hY19tb3VzZS5oIGxpbnV4LmRl
dmVsL2luY2x1ZGUvYXNtLW02OGsvbWFjX21vdXNlLmgNCi0tLSBsaW51eC5k
ZXZlbC52YW5pbGxhL2luY2x1ZGUvYXNtLW02OGsvbWFjX21vdXNlLmgJVGh1
IEZlYiAxMiAxOTozMDoxMyAxOTk4DQorKysgbGludXguZGV2ZWwvaW5jbHVk
ZS9hc20tbTY4ay9tYWNfbW91c2UuaAlGcmkgTWF5IDE0IDIzOjQxOjU0IDE5
OTkNCkBAIC0xNiw3ICsxNiw3IEBADQogCXNob3J0CQlkeTsNCiAJaW50CQly
ZWFkeTsNCiAJaW50CQlhY3RpdmU7DQotCXN0cnVjdCB3YWl0X3F1ZXVlICp3
YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdCB3YWl0Ow0KIAlzdHJ1Y3QgZmFz
eW5jX3N0cnVjdCAqZmFzeW5jcHRyOw0KIH07DQogDQpkaWZmIC11ck4gbGlu
dXguZGV2ZWwudmFuaWxsYS9pbmNsdWRlL2FzbS1tNjhrL3NlbWFwaG9yZS5o
IGxpbnV4LmRldmVsL2luY2x1ZGUvYXNtLW02OGsvc2VtYXBob3JlLmgNCi0t
LSBsaW51eC5kZXZlbC52YW5pbGxhL2luY2x1ZGUvYXNtLW02OGsvc2VtYXBo
b3JlLmgJRnJpIE1heSAxNCAyMzowMTo1MSAxOTk5DQorKysgbGludXguZGV2
ZWwvaW5jbHVkZS9hc20tbTY4ay9zZW1hcGhvcmUuaAlGcmkgTWF5IDE0IDIz
OjQxOjI4IDE5OTkNCkBAIC0xOCw3ICsxOCw3IEBADQogc3RydWN0IHNlbWFw
aG9yZSB7DQogCWF0b21pY190IGNvdW50Ow0KIAlhdG9taWNfdCB3YWtpbmc7
DQotCXN0cnVjdCB3YWl0X3F1ZXVlICogd2FpdDsNCisJd2FpdF9xdWV1ZV9o
ZWFkX3Qgd2FpdDsNCiB9Ow0KIA0KICNkZWZpbmUgTVVURVggKChzdHJ1Y3Qg
c2VtYXBob3JlKSB7IEFUT01JQ19JTklUKDEpLCBBVE9NSUNfSU5JVCgwKSwg
TlVMTCB9KQ0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVk
ZS9hc20tbWlwcy9zZW1hcGhvcmUuaCBsaW51eC5kZXZlbC9pbmNsdWRlL2Fz
bS1taXBzL3NlbWFwaG9yZS5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9p
bmNsdWRlL2FzbS1taXBzL3NlbWFwaG9yZS5oCVRodSBKYW4gMTQgMTg6NTM6
MjUgMTk5OQ0KKysrIGxpbnV4LmRldmVsL2luY2x1ZGUvYXNtLW1pcHMvc2Vt
YXBob3JlLmgJRnJpIE1heSAxNCAyMzozOTo0MSAxOTk5DQpAQCAtMTcsNyAr
MTcsNyBAQA0KIHN0cnVjdCBzZW1hcGhvcmUgew0KIAlhdG9taWNfdCBjb3Vu
dDsNCiAJYXRvbWljX3Qgd2FraW5nOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZSAq
IHdhaXQ7DQorCXdhaXRfcXVldWVfaGVhZF90IHdhaXQ7DQogfTsNCiANCiAj
ZGVmaW5lIE1VVEVYICgoc3RydWN0IHNlbWFwaG9yZSkgeyBBVE9NSUNfSU5J
VCgxKSwgQVRPTUlDX0lOSVQoMCksIE5VTEwgfSkNCmRpZmYgLXVyTiBsaW51
eC5kZXZlbC52YW5pbGxhL2luY2x1ZGUvYXNtLXBwYy9hZGJfbW91c2UuaCBs
aW51eC5kZXZlbC9pbmNsdWRlL2FzbS1wcGMvYWRiX21vdXNlLmgNCi0tLSBs
aW51eC5kZXZlbC52YW5pbGxhL2luY2x1ZGUvYXNtLXBwYy9hZGJfbW91c2Uu
aAlNb24gSmFuIDEyIDE4OjE4OjEzIDE5OTgNCisrKyBsaW51eC5kZXZlbC9p
bmNsdWRlL2FzbS1wcGMvYWRiX21vdXNlLmgJRnJpIE1heSAxNCAyMzo0Mjoz
OSAxOTk5DQpAQCAtMTYsNyArMTYsNyBAQA0KIAlzaG9ydAkJZHk7DQogCWlu
dAkJcmVhZHk7DQogCWludAkJYWN0aXZlOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1
ZSAqd2FpdDsNCisJd2FpdF9xdWV1ZV9oZWFkX3Qgd2FpdDsNCiAJc3RydWN0
IGZhc3luY19zdHJ1Y3QgKmZhc3luY3B0cjsNCiB9Ow0KIA0KZGlmZiAtdXJO
IGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9hc20tcHBjL3NlbWFwaG9y
ZS5oIGxpbnV4LmRldmVsL2luY2x1ZGUvYXNtLXBwYy9zZW1hcGhvcmUuaA0K
LS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9hc20tcHBjL3NlbWFw
aG9yZS5oCVRodSBNYXIgMTEgMDA6MzA6MzIgMTk5OQ0KKysrIGxpbnV4LmRl
dmVsL2luY2x1ZGUvYXNtLXBwYy9zZW1hcGhvcmUuaAlGcmkgTWF5IDE0IDIz
OjQyOjIzIDE5OTkNCkBAIC0xMyw3ICsxMyw3IEBADQogc3RydWN0IHNlbWFw
aG9yZSB7DQogCWF0b21pY190IGNvdW50Ow0KIAlhdG9taWNfdCB3YWtpbmc7
DQotCXN0cnVjdCB3YWl0X3F1ZXVlICp3YWl0Ow0KKwl3YWl0X3F1ZXVlX2hl
YWRfdCB3YWl0Ow0KIH07DQogDQogI2RlZmluZSBzZW1hX2luaXQoc2VtLCB2
YWwpCWF0b21pY19zZXQoJigoc2VtKS0+Y291bnQpLCAodmFsKSkNCmRpZmYg
LXVyTiBsaW51eC5kZXZlbC52YW5pbGxhL2luY2x1ZGUvbGludXgvaXN0YWxs
aW9uLmggbGludXguZGV2ZWwvaW5jbHVkZS9saW51eC9pc3RhbGxpb24uaA0K
LS0tIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9saW51eC9pc3RhbGxp
b24uaAlXZWQgRmViICA0IDE3OjUyOjE2IDE5OTgNCisrKyBsaW51eC5kZXZl
bC9pbmNsdWRlL2xpbnV4L2lzdGFsbGlvbi5oCUZyaSBNYXkgMTQgMjM6MDU6
MjAgMTk5OQ0KQEAgLTcwLDkgKzcwLDkgQEANCiAJbG9uZwkJCXBncnA7DQog
CXVuc2lnbmVkIGludAkJcnhtYXJrbXNrOw0KIAlzdHJ1Y3QgdHR5X3N0cnVj
dAkqdHR5Ow0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqb3Blbl93YWl0Ow0KLQlz
dHJ1Y3Qgd2FpdF9xdWV1ZQkqY2xvc2Vfd2FpdDsNCi0Jc3RydWN0IHdhaXRf
cXVldWUJKnJhd193YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdAlvcGVuX3dh
aXQ7DQorCXdhaXRfcXVldWVfaGVhZF90CWNsb3NlX3dhaXQ7DQorCXdhaXRf
cXVldWVfaGVhZF90CXJhd193YWl0Ow0KIAlzdHJ1Y3QgdHFfc3RydWN0CXRx
aGFuZ3VwOw0KIAlzdHJ1Y3QgdGVybWlvcwkJbm9ybWFsdGVybWlvczsNCiAJ
c3RydWN0IHRlcm1pb3MJCWNhbGxvdXR0ZXJtaW9zOw0KZGlmZiAtdXJOIGxp
bnV4LmRldmVsLnZhbmlsbGEvaW5jbHVkZS9saW51eC9scF9tNjhrLmggbGlu
dXguZGV2ZWwvaW5jbHVkZS9saW51eC9scF9tNjhrLmgNCi0tLSBsaW51eC5k
ZXZlbC52YW5pbGxhL2luY2x1ZGUvbGludXgvbHBfbTY4ay5oCUZyaSBOb3Yg
MjAgMTQ6NDQ6MDYgMTk5OA0KKysrIGxpbnV4LmRldmVsL2luY2x1ZGUvbGlu
dXgvbHBfbTY4ay5oCUZyaSBNYXkgMTQgMjM6MDY6MDkgMTk5OQ0KQEAgLTEx
Niw3ICsxMTYsNyBAQA0KIAl1bnNpZ25lZCBpbnQgY2hhcnM7CS8qYnVzeSB0
aW1lb3V0ICovDQogCXVuc2lnbmVkIGludCB0aW1lOwkvKndhaXQgdGltZSAq
Lw0KIAl1bnNpZ25lZCBpbnQgd2FpdDsNCi0Jc3RydWN0IHdhaXRfcXVldWUg
KmxwX3dhaXRfcTsgLypzdHJvYmUgd2FpdCAqLw0KKwlzdHJ1Y3Qgd2FpdF9x
dWV1ZV9oZWFkX3QgbHBfd2FpdF9xOyAvKnN0cm9iZSB3YWl0ICovDQogCXZv
aWQgKmJhc2U7CQkJLyogaGFyZHdhcmUgZHJpdmVycyBpbnRlcm5hbCB1c2Uq
Lw0KIAllbnVtIGxwX3R5cGUgdHlwZTsNCiAJY2hhciBscF9idWZmZXJbTFBf
QlVGRkVSX1NJWkVdOw0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEv
aW5jbHVkZS9saW51eC9ycGNzb2NrLmggbGludXguZGV2ZWwvaW5jbHVkZS9s
aW51eC9ycGNzb2NrLmgNCi0tLSBsaW51eC5kZXZlbC52YW5pbGxhL2luY2x1
ZGUvbGludXgvcnBjc29jay5oCVRodSBEZWMgMTIgMDk6NTQ6MjAgMTk5Ng0K
KysrIGxpbnV4LmRldmVsL2luY2x1ZGUvbGludXgvcnBjc29jay5oCUZyaSBN
YXkgMTQgMjM6MDM6NDAgMTk5OQ0KQEAgLTc3LDcgKzc3LDcgQEANCiAJc3Ry
dWN0IHJwY193YWl0ICoJd19uZXh0Ow0KIAlzdHJ1Y3QgcnBjX2lvcmVxICoJ
d19yZXE7DQogCWludAkJCXdfcmVzdWx0Ow0KLQlzdHJ1Y3Qgd2FpdF9xdWV1
ZSAqCXdfd2FpdDsNCisJd2FpdF9xdWV1ZV9oZWFkX3QgCXdfd2FpdDsNCiAJ
cnBjX2NhbGxiYWNrX2ZuX3QJd19oYW5kbGVyOw0KIAl2b2lkICoJCQl3X2Nk
YXRhOw0KIAljaGFyCQkJd19xdWV1ZWQ7DQpAQCAtOTQsOCArOTQsOCBAQA0K
IAl1bnNpZ25lZCBsb25nCQljd25kOw0KIAlzdHJ1Y3QgcnBjX3dhaXQgKglw
ZW5kaW5nOw0KIAlzdHJ1Y3QgcnBjX3dhaXQgKglmcmVlOw0KLQlzdHJ1Y3Qg
d2FpdF9xdWV1ZSAqCWJhY2tsb2c7DQotCXN0cnVjdCB3YWl0X3F1ZXVlICoJ
c2h1dHdhaXQ7DQorCXdhaXRfcXVldWVfaGVhZF90CWJhY2tsb2c7DQorCXdh
aXRfcXVldWVfaGVhZF90CXNodXR3YWl0Ow0KIAlpbnQJCQlzaHV0ZG93bjsN
CiB9Ow0KIA0KZGlmZiAtdXJOIGxpbnV4LmRldmVsLnZhbmlsbGEvaW5jbHVk
ZS9saW51eC9zZXJpYWwxNjcuaCBsaW51eC5kZXZlbC9pbmNsdWRlL2xpbnV4
L3NlcmlhbDE2Ny5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9pbmNsdWRl
L2xpbnV4L3NlcmlhbDE2Ny5oCU1vbiBPY3QgIDUgMTc6MTI6MTIgMTk5OA0K
KysrIGxpbnV4LmRldmVsL2luY2x1ZGUvbGludXgvc2VyaWFsMTY3LmgJRnJp
IE1heSAxNCAyMzowNzowMyAxOTk5DQpAQCAtNTQsOCArNTQsOCBAQA0KIAlz
dHJ1Y3QgdHFfc3RydWN0CXRxdWV1ZTsNCiAJc3RydWN0IHRlcm1pb3MJCW5v
cm1hbF90ZXJtaW9zOw0KIAlzdHJ1Y3QgdGVybWlvcwkJY2FsbG91dF90ZXJt
aW9zOw0KLQlzdHJ1Y3Qgd2FpdF9xdWV1ZQkqb3Blbl93YWl0Ow0KLQlzdHJ1
Y3Qgd2FpdF9xdWV1ZQkqY2xvc2Vfd2FpdDsNCisJd2FpdF9xdWV1ZV9oZWFk
X3QJb3Blbl93YWl0Ow0KKwl3YWl0X3F1ZXVlX2hlYWRfdAljbG9zZV93YWl0
Ow0KICAgICAgICAgc3RydWN0IGN5Y2xhZGVzX21vbml0b3IgbW9uOw0KIH07
DQogDQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxsYS9pbmNsdWRlL2xp
bnV4L3N0YWxsaW9uLmggbGludXguZGV2ZWwvaW5jbHVkZS9saW51eC9zdGFs
bGlvbi5oDQotLS0gbGludXguZGV2ZWwudmFuaWxsYS9pbmNsdWRlL2xpbnV4
L3N0YWxsaW9uLmgJV2VkIEZlYiAgNCAxNzo1MjoxNiAxOTk4DQorKysgbGlu
dXguZGV2ZWwvaW5jbHVkZS9saW51eC9zdGFsbGlvbi5oCUZyaSBNYXkgMTQg
MjM6MDU6NDggMTk5OQ0KQEAgLTk1LDggKzk1LDggQEANCiAJdW5zaWduZWQg
bG9uZwkJaHdpZDsNCiAJdm9pZAkJCSp1YXJ0cDsNCiAJc3RydWN0IHR0eV9z
dHJ1Y3QJKnR0eTsNCi0Jc3RydWN0IHdhaXRfcXVldWUJKm9wZW5fd2FpdDsN
Ci0Jc3RydWN0IHdhaXRfcXVldWUJKmNsb3NlX3dhaXQ7DQorCXdhaXRfcXVl
dWVfaGVhZF90CW9wZW5fd2FpdDsNCisJd2FpdF9xdWV1ZV9oZWFkX3QJY2xv
c2Vfd2FpdDsNCiAJc3RydWN0IHRlcm1pb3MJCW5vcm1hbHRlcm1pb3M7DQog
CXN0cnVjdCB0ZXJtaW9zCQljYWxsb3V0dGVybWlvczsNCiAJc3RydWN0IHRx
X3N0cnVjdAl0cXVldWU7DQpkaWZmIC11ck4gbGludXguZGV2ZWwudmFuaWxs
YS9pbmNsdWRlL2xpbnV4L3Vtc2Rvc19mc19pLmggbGludXguZGV2ZWwvaW5j
bHVkZS9saW51eC91bXNkb3NfZnNfaS5oDQotLS0gbGludXguZGV2ZWwudmFu
aWxsYS9pbmNsdWRlL2xpbnV4L3Vtc2Rvc19mc19pLmgJTW9uIERlYyAyOCAw
MToxODoyOCAxOTk4DQorKysgbGludXguZGV2ZWwvaW5jbHVkZS9saW51eC91
bXNkb3NfZnNfaS5oCUZyaSBNYXkgMTQgMjM6MzU6MDUgMTk5OQ0KQEAgLTQ3
LDcgKzQ3LDcgQEANCiAgKi8NCiANCiBzdHJ1Y3QgZGlyX2xvY2tpbmdfaW5m
byB7DQotCXN0cnVjdCB3YWl0X3F1ZXVlICpwOw0KKwl3YWl0X3F1ZXVlX2hl
YWRfdCBwOw0KIAlzaG9ydCBpbnQgbG9va2luZzsJLyogSG93IG1hbnkgcHJv
Y2VzcyBkb2luZyBhIGxvb2t1cCAqLw0KIAlzaG9ydCBpbnQgY3JlYXRpbmc7
CS8qIElzIHRoZXJlIGFueSBjcmVhdGlvbiBnb2luZyBvbiBoZXJlDQogCQkJ
CSAqICBPbmx5IG9uZSBhdCBhIHRpbWUsIGFsdGhvdWdoIG9uZQ0K
---1244721415-1110229163-926806115=:18469--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/