Linux-kernel mailing list archive 1999-25,: 2.3.9-4.ide.patch

# 2.3.9-4.ide.patch

Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu)
Fri, 25 Jun 1999 23:00:53 -0500 (CDT)

- Messages sorted by: [ date ][ thread ][ subject ][ author ]
- Next message: Douglas Gilbert: "Re: direct (unbufferd) disk access"
- Previous message: Andre M. Hedrick: "Re: IDE racks"

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.

--998314481-1416918291-930369653=:30658
Content-Type: TEXT/PLAIN; charset=US-ASCII

IDE mini-patch against 2.3.9-4

Andre Hedrick
The Linux IDE guy

--998314481-1416918291-930369653=:30658
Content-Type: TEXT/PLAIN; name="2.3.9-4.ide.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990625230053.30658D@Astro.Dyer.Vanderbilt.Edu>
Content-Description:

ZGlmZiAtdXJOIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvQ1JFRElUUyBsaW51
eC9DUkVESVRTDQotLS0gbGludXgtMi4zLjktNC1wcmlzdGluZS9DUkVESVRT
CUZyaSBKdW4gMjUgMjI6NDU6NTAgMTk5OQ0KKysrIGxpbnV4L0NSRURJVFMJ
RnJpIEp1biAyNSAyMjo1MTo0MyAxOTk5DQpAQCAtOTc3LDEyICs5NzcsMTQg
QEANCiBTOiBESy04MjMwIMVieWj4ag0KIFM6IERlbm1hcmsNCiANCi1OOiBB
bmRyemVqIEtyenlzenRvZm93aWN6DQotRTogYW5rcnlAZ3JlZW4ubWlmLnBn
LmdkYS5wbA0KK046IEFuZHJ6ZWogTS4gS3J6eXN6dG9mb3dpY3oNCitFOiBh
bmtyeUBtaWYucGcuZ2RhLnBsDQorRDogWFQgZGlzayBkcml2ZXINCiBEOiBB
bGFkZGluIDE1MzMvMTU0MyhDKSBjaGlwc2V0IElERQ0KIEQ6IFBJSVggY2hp
cHNldCBJREUNCi1TOiBGYWN1bHR5IG9mIEFwcGxpZWQgUGh5cy4gJiBNYXRo
Lg0KLVM6IFRlY2huaWNhbCBVbml2ZXJzaXR5IG9mIEdkYW5zaw0KK1M6IHVs
LiBNYXRlbWJsZXdza2EgMUIvMTANCitTOiA4MC0yODMgR2RhbnNrDQorUzog
UG9sYW5kDQogDQogTjogTWljaGFlbCBLLiBKb2huc29uDQogRTogam9obnNv
bm1AcmVkaGF0LmNvbQ0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTQtcHJpc3Rp
bmUvYXJjaC9hcm0vZGVmY29uZmlnIGxpbnV4L2FyY2gvYXJtL2RlZmNvbmZp
Zw0KLS0tIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvYXJjaC9hcm0vZGVmY29u
ZmlnCUZyaSBKdW4gMjUgMjI6NDY6MjcgMTk5OQ0KKysrIGxpbnV4L2FyY2gv
YXJtL2RlZmNvbmZpZwlGcmkgSnVuIDI1IDIyOjUxOjQzIDE5OTkNCkBAIC04
NSw3ICs4NSw3IEBADQogQ09ORklHX0JMS19ERVZfSURFUENJPXkNCiBDT05G
SUdfQkxLX0RFVl9JREVETUE9eQ0KIENPTkZJR19CTEtfREVWX09GRkJPQVJE
PXkNCi1DT05GSUdfSURFRE1BX0FVVE89eQ0KK0NPTkZJR19JREVETUFfUENJ
X0FVVE89eQ0KICMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0
DQogIyBDT05GSUdfQkxLX0RFVl9UUk0yOTAgaXMgbm90IHNldA0KICMgQ09O
RklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0DQpkaWZmIC11ck4gbGlu
dXgtMi4zLjktNC1wcmlzdGluZS9hcmNoL3BwYy9hcHVzX2RlZmNvbmZpZyBs
aW51eC9hcmNoL3BwYy9hcHVzX2RlZmNvbmZpZw0KLS0tIGxpbnV4LTIuMy45
LTQtcHJpc3RpbmUvYXJjaC9wcGMvYXB1c19kZWZjb25maWcJRnJpIEp1biAy
NSAyMjo0NjoyNSAxOTk5DQorKysgbGludXgvYXJjaC9wcGMvYXB1c19kZWZj
b25maWcJRnJpIEp1biAyNSAyMjo1MTo0MyAxOTk5DQpAQCAtNzYsNyArNzYs
NyBAQA0KIENPTkZJR19CTEtfREVWX0lERV9QTUFDPXkNCiBDT05GSUdfQkxL
X0RFVl9JREVETUFfUE1BQz15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkN
Ci1DT05GSUdfUE1BQ19JREVETUFfQVVUTz15DQorQ09ORklHX0lERURNQV9Q
TUFDX0FVVE89eQ0KICMgQ09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0
DQogDQogIw0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvYXJj
aC9wcGMvY29tbW9uX2RlZmNvbmZpZyBsaW51eC9hcmNoL3BwYy9jb21tb25f
ZGVmY29uZmlnDQotLS0gbGludXgtMi4zLjktNC1wcmlzdGluZS9hcmNoL3Bw
Yy9jb21tb25fZGVmY29uZmlnCUZyaSBKdW4gMjUgMjI6NDY6MjUgMTk5OQ0K
KysrIGxpbnV4L2FyY2gvcHBjL2NvbW1vbl9kZWZjb25maWcJRnJpIEp1biAy
NSAyMjo1MTo0MyAxOTk5DQpAQCAtODEsNyArODEsNyBAQA0KIENPTkZJR19C
TEtfREVWX0lERV9QTUFDPXkNCiBDT05GSUdfQkxLX0RFVl9JREVETUFfUE1B
Qz15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkNCi1DT05GSUdfUE1BQ19J
REVETUFfQVVUTz15DQorQ09ORklHX0lERURNQV9QTUFDX0FVVE89eQ0KICMg
Q09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0DQogDQogIw0KZGlmZiAt
dXJOIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvYXJjaC9wcGMvZGVmY29uZmln
IGxpbnV4L2FyY2gvcHBjL2RlZmNvbmZpZw0KLS0tIGxpbnV4LTIuMy45LTQt
cHJpc3RpbmUvYXJjaC9wcGMvZGVmY29uZmlnCUZyaSBKdW4gMjUgMjI6NDg6
NTYgMTk5OQ0KKysrIGxpbnV4L2FyY2gvcHBjL2RlZmNvbmZpZwlGcmkgSnVu
IDI1IDIyOjUxOjQzIDE5OTkNCkBAIC04MCw3ICs4MCw3IEBADQogQ09ORklH
X0JMS19ERVZfSURFX1BNQUM9eQ0KIENPTkZJR19CTEtfREVWX0lERURNQV9Q
TUFDPXkNCiBDT05GSUdfQkxLX0RFVl9JREVETUE9eQ0KLUNPTkZJR19QTUFD
X0lERURNQV9BVVRPPXkNCitDT05GSUdfSURFRE1BX1BNQUNfQVVUTz15DQog
IyBDT05GSUdfSURFX0NISVBTRVRTIGlzIG5vdCBzZXQNCiANCiAjDQpkaWZm
IC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9hcmNoL3BwYy9tYnhfZGVm
Y29uZmlnIGxpbnV4L2FyY2gvcHBjL21ieF9kZWZjb25maWcNCi0tLSBsaW51
eC0yLjMuOS00LXByaXN0aW5lL2FyY2gvcHBjL21ieF9kZWZjb25maWcJRnJp
IEp1biAyNSAyMjo0NjoyNSAxOTk5DQorKysgbGludXgvYXJjaC9wcGMvbWJ4
X2RlZmNvbmZpZwlGcmkgSnVuIDI1IDIyOjUxOjQzIDE5OTkNCkBAIC03MCw3
ICs3MCw3IEBADQogQ09ORklHX0JMS19ERVZfSURFUENJPXkNCiBDT05GSUdf
QkxLX0RFVl9JREVETUE9eQ0KICMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQg
aXMgbm90IHNldA0KLUNPTkZJR19JREVETUFfQVVUTz15DQorQ09ORklHX0lE
RURNQV9QQ0lfQVVUTz15DQogIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlz
IG5vdCBzZXQNCiAjIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0
DQogIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQNCmRpZmYg
LXVyTiBsaW51eC0yLjMuOS00LXByaXN0aW5lL2FyY2gvcHBjL3BtYWNfZGVm
Y29uZmlnIGxpbnV4L2FyY2gvcHBjL3BtYWNfZGVmY29uZmlnDQotLS0gbGlu
dXgtMi4zLjktNC1wcmlzdGluZS9hcmNoL3BwYy9wbWFjX2RlZmNvbmZpZwlG
cmkgSnVuIDI1IDIyOjQ2OjI1IDE5OTkNCisrKyBsaW51eC9hcmNoL3BwYy9w
bWFjX2RlZmNvbmZpZwlGcmkgSnVuIDI1IDIyOjUxOjQzIDE5OTkNCkBAIC03
OCw3ICs3OCw3IEBADQogQ09ORklHX0JMS19ERVZfSURFX1BNQUM9eQ0KIENP
TkZJR19CTEtfREVWX0lERURNQV9QTUFDPXkNCiBDT05GSUdfQkxLX0RFVl9J
REVETUE9eQ0KLUNPTkZJR19QTUFDX0lERURNQV9BVVRPPXkNCitDT05GSUdf
SURFRE1BX1BNQUNfQVVUTz15DQogIyBDT05GSUdfSURFX0NISVBTRVRTIGlz
IG5vdCBzZXQNCiANCiAjDQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlz
dGluZS9hcmNoL3NwYXJjNjQvY29uZmlnLmluIGxpbnV4L2FyY2gvc3BhcmM2
NC9jb25maWcuaW4NCi0tLSBsaW51eC0yLjMuOS00LXByaXN0aW5lL2FyY2gv
c3BhcmM2NC9jb25maWcuaW4JRnJpIEp1biAyNSAyMjo0ODo1NiAxOTk5DQor
KysgbGludXgvYXJjaC9zcGFyYzY0L2NvbmZpZy5pbglGcmkgSnVuIDI1IDIy
OjUxOjQzIDE5OTkNCkBAIC0xMTcsNyArMTE3LDcgQEANCiAJICBkZXBfdHJp
c3RhdGUgJyAgIFNDU0kgZW11bGF0aW9uIHN1cHBvcnQnIENPTkZJR19CTEtf
REVWX0lERVNDU0kgJENPTkZJR19CTEtfREVWX0lERQ0KIAkgIGRlZmluZV9i
b29sIENPTkZJR19CTEtfREVWX0lERVBDSSB5DQogCSAgZGVmaW5lX2Jvb2wg
Q09ORklHX0JMS19ERVZfSURFRE1BIHkNCi0JICBkZWZpbmVfYm9vbCBDT05G
SUdfSURFRE1BX0FVVE8geQ0KKwkgIGRlZmluZV9ib29sIENPTkZJR19JREVE
TUFfUENJX0FVVE8geQ0KIAkgIGRlZmluZV9ib29sIENPTkZJR19CTEtfREVW
X05TODc0MTUgeQ0KIAkgIGRlZmluZV9ib29sIENPTkZJR19CTEtfREVWX0NN
RDY0NiB5DQogCWZpDQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGlu
ZS9hcmNoL3NwYXJjNjQvZGVmY29uZmlnIGxpbnV4L2FyY2gvc3BhcmM2NC9k
ZWZjb25maWcNCi0tLSBsaW51eC0yLjMuOS00LXByaXN0aW5lL2FyY2gvc3Bh
cmM2NC9kZWZjb25maWcJRnJpIEp1biAyNSAyMjo0ODo1NiAxOTk5DQorKysg
bGludXgvYXJjaC9zcGFyYzY0L2RlZmNvbmZpZwlGcmkgSnVuIDI1IDIyOjUx
OjQzIDE5OTkNCkBAIC0xMjEsNyArMTIxLDcgQEANCiAjIENPTkZJR19CTEtf
REVWX0lERVNDU0kgaXMgbm90IHNldA0KIENPTkZJR19CTEtfREVWX0lERVBD
ST15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkNCi1DT05GSUdfSURFRE1B
X0FVVE89eQ0KK0NPTkZJR19JREVETUFfUENJX0FVVE89eQ0KIENPTkZJR19C
TEtfREVWX05TODc0MTU9eQ0KIENPTkZJR19CTEtfREVWX0NNRDY0Nj15DQog
DQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Js
b2NrL0NvbmZpZy5pbiBsaW51eC9kcml2ZXJzL2Jsb2NrL0NvbmZpZy5pbg0K
LS0tIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9Db25m
aWcuaW4JRnJpIEp1biAyNSAyMjo0NjowNSAxOTk5DQorKysgbGludXgvZHJp
dmVycy9ibG9jay9Db25maWcuaW4JRnJpIEp1biAyNSAyMjo1MTo0MyAxOTk5
DQpAQCAtNzUsNyArNzUsNyBAQA0KICAgICAgICAgaWYgWyAiJENPTkZJR19C
TEtfREVWX0lERV9QTUFDIiAhPSAibiIgXTsgdGhlbg0KICAgICAgICAgICBi
b29sICcgICAgIFBvd2VyTWFjIElERSBETUEgc3VwcG9ydCcgQ09ORklHX0JM
S19ERVZfSURFRE1BX1BNQUMNCiAgICAgICAgICAgaWYgWyAiJENPTkZJR19C
TEtfREVWX0lERURNQV9QTUFDIiA9ICJ5IiBdOyB0aGVuDQotICAgICAgICAg
ICAgYm9vbCAnICAgICBVc2UgRE1BIGJ5IGRlZmF1bHQnIENPTkZJR19QTUFD
X0lERURNQV9BVVRPDQorICAgICAgICAgICAgYm9vbCAnICAgICBVc2UgRE1B
IGJ5IGRlZmF1bHQnIENPTkZJR19JREVETUFfUE1BQ19BVVRPDQogICAgICAg
ICAgIGZpDQogICAgICAgIGZpDQogICAgIGZpDQpAQCAtOTMsNiArOTMsMTEg
QEANCiAgICAgICAgICAiJENPTkZJR19CTEtfREVWX0lERURNQV9QTUFDIiA9
ICJ5IiAtbyBcDQogICAgICAgICAgIiRDT05GSUdfQkxLX0RFVl9JREVETUFf
SUNTIiA9ICJ5IiBdOyB0aGVuDQogICAgICAgZGVmaW5lX2Jvb2wgQ09ORklH
X0JMS19ERVZfSURFRE1BIHkNCisgICAgICBpZiBbICIkQ09ORklHX0lERURN
QV9QQ0lfQVVUTyIgPSAieSIgLW8gXA0KKyAgICAgICAgICAgIiRDT05GSUdf
SURFRE1BX1BNQUNfQVVUTyIgPSAieSIgLW8gXA0KKyAgICAgICAgICAgIiRD
T05GSUdfSURFRE1BX0lDU19BVVRPIiA9ICJ5IiBdOyB0aGVuDQorICAgICAg
ICBkZWZpbmVfYm9vbCBDT05GSUdfSURFRE1BX0FVVE8geQ0KKyAgICAgIGZp
DQogICAgIGZpDQogICAgIGJvb2wgJyAgIE90aGVyIElERSBjaGlwc2V0IHN1
cHBvcnQnIENPTkZJR19JREVfQ0hJUFNFVFMNCiAgICAgaWYgWyAiJENPTkZJ
R19JREVfQ0hJUFNFVFMiID0gInkiIF07IHRoZW4NCmRpZmYgLXVyTiBsaW51
eC0yLjMuOS00LXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWRpc2suYyBs
aW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1kaXNrLmMNCi0tLSBsaW51eC0yLjMu
OS00LXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWRpc2suYwlGcmkgSnVu
IDI1IDIyOjQ2OjA2IDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lk
ZS1kaXNrLmMJRnJpIEp1biAyNSAyMjo1MTo0MyAxOTk5DQpAQCAtODU2LDEx
ICs4NTYsMTYgQEANCiAJaWRlX2RyaXZlX3QgKmRyaXZlOw0KIAlpbnQgZmFp
bGVkID0gMDsNCiANCi0Jd2hpbGUgKChkcml2ZSA9IGlkZV9zY2FuX2Rldmlj
ZXMgKGlkZV9kaXNrLCBpZGVkaXNrX2RyaXZlci5uYW1lLCAmaWRlZGlza19k
cml2ZXIsIGZhaWxlZCkpICE9IE5VTEwpDQorCXdoaWxlICgoZHJpdmUgPSBp
ZGVfc2Nhbl9kZXZpY2VzIChpZGVfZGlzaywgaWRlZGlza19kcml2ZXIubmFt
ZSwgJmlkZWRpc2tfZHJpdmVyLCBmYWlsZWQpKSAhPSBOVUxMKSB7DQogCQlp
ZiAoaWRlZGlza19jbGVhbnVwIChkcml2ZSkpIHsNCiAJCQlwcmludGsgKEtF
Uk5fRVJSICIlczogY2xlYW51cF9tb2R1bGUoKSBjYWxsZWQgd2hpbGUgc3Rp
bGwgYnVzeVxuIiwgZHJpdmUtPm5hbWUpOw0KIAkJCWZhaWxlZCsrOw0KIAkJ
fQ0KKwkJLyogV2UgbXVzdCByZW1vdmUgcHJvYyBlbnRyaWVzIGRlZmluZWQg
aW4gdGhpcyBtb2R1bGUuDQorCQkgICBPdGhlcndpc2Ugd2Ugb29wcyB3aGls
ZSBhY2Nlc3NpbmcgdGhlc2UgZW50cmllcyAqLw0KKwkJaWYgKGRyaXZlLT5w
cm9jKQ0KKwkJCWlkZV9yZW1vdmVfcHJvY19lbnRyaWVzKGRyaXZlLT5wcm9j
LCBpZGVkaXNrX3Byb2MpOw0KKwl9DQogCWlkZV91bnJlZ2lzdGVyX21vZHVs
ZSgmaWRlZGlza19tb2R1bGUpOw0KIH0NCiAjZW5kaWYgLyogTU9EVUxFICov
DQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Js
b2NrL2lkZS1mbG9wcHkuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1mbG9w
cHkuYw0KLS0tIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvZHJpdmVycy9ibG9j
ay9pZGUtZmxvcHB5LmMJRnJpIEp1biAyNSAyMjo0NjowNiAxOTk5DQorKysg
bGludXgvZHJpdmVycy9ibG9jay9pZGUtZmxvcHB5LmMJRnJpIEp1biAyNSAy
Mjo1MTo0NCAxOTk5DQpAQCAtMTYzMCwxMSArMTYzMCwxNiBAQA0KIAlpZGVf
ZHJpdmVfdCAqZHJpdmU7DQogCWludCBmYWlsZWQgPSAwOw0KIA0KLQl3aGls
ZSAoKGRyaXZlID0gaWRlX3NjYW5fZGV2aWNlcyAoaWRlX2Zsb3BweSwgaWRl
ZmxvcHB5X2RyaXZlci5uYW1lLCAmaWRlZmxvcHB5X2RyaXZlciwgZmFpbGVk
KSkgIT0gTlVMTCkNCisJd2hpbGUgKChkcml2ZSA9IGlkZV9zY2FuX2Rldmlj
ZXMgKGlkZV9mbG9wcHksIGlkZWZsb3BweV9kcml2ZXIubmFtZSwgJmlkZWZs
b3BweV9kcml2ZXIsIGZhaWxlZCkpICE9IE5VTEwpIHsNCiAJCWlmIChpZGVm
bG9wcHlfY2xlYW51cCAoZHJpdmUpKSB7DQogCQkJcHJpbnRrICgiJXM6IGNs
ZWFudXBfbW9kdWxlKCkgY2FsbGVkIHdoaWxlIHN0aWxsIGJ1c3lcbiIsIGRy
aXZlLT5uYW1lKTsNCiAJCQlmYWlsZWQrKzsNCiAJCX0NCisJCS8qIFdlIG11
c3QgcmVtb3ZlIHByb2MgZW50cmllcyBkZWZpbmVkIGluIHRoaXMgbW9kdWxl
Lg0KKwkJICAgT3RoZXJ3aXNlIHdlIG9vcHMgd2hpbGUgYWNjZXNzaW5nIHRo
ZXNlIGVudHJpZXMgKi8NCisJCWlmIChkcml2ZS0+cHJvYykNCisJCQlpZGVf
cmVtb3ZlX3Byb2NfZW50cmllcyhkcml2ZS0+cHJvYywgaWRlZmxvcHB5X3By
b2MpOw0KKwl9DQogCWlkZV91bnJlZ2lzdGVyX21vZHVsZSgmaWRlZmxvcHB5
X21vZHVsZSk7DQogfQ0KICNlbmRpZiAvKiBNT0RVTEUgKi8NCmRpZmYgLXVy
TiBsaW51eC0yLjMuOS00LXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLXBj
aS5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLXBjaS5jDQotLS0gbGludXgt
Mi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS1wY2kuYwlGcmkg
SnVuIDI1IDIyOjQ4OjU2IDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2Nr
L2lkZS1wY2kuYwlGcmkgSnVuIDI1IDIyOjUxOjQ0IDE5OTkNCkBAIC0yOSw2
ICsyOSw3IEBADQogI2RlZmluZSBERVZJRF9QSUlYYgkoKGlkZV9wY2lfZGV2
aWRfdCl7UENJX1ZFTkRPUl9JRF9JTlRFTCwgICBQQ0lfREVWSUNFX0lEX0lO
VEVMXzgyMzcxRkJfMX0pDQogI2RlZmluZSBERVZJRF9QSUlYMwkoKGlkZV9w
Y2lfZGV2aWRfdCl7UENJX1ZFTkRPUl9JRF9JTlRFTCwgICBQQ0lfREVWSUNF
X0lEX0lOVEVMXzgyMzcxU0JfMX0pDQogI2RlZmluZSBERVZJRF9QSUlYNAko
KGlkZV9wY2lfZGV2aWRfdCl7UENJX1ZFTkRPUl9JRF9JTlRFTCwgICBQQ0lf
REVWSUNFX0lEX0lOVEVMXzgyMzcxQUJ9KQ0KKyNkZWZpbmUgREVWSURfVklB
X0lERQkoKGlkZV9wY2lfZGV2aWRfdCl7UENJX1ZFTkRPUl9JRF9WSUEsICAg
ICBQQ0lfREVWSUNFX0lEX1ZJQV84MkM1NjF9KQ0KICNkZWZpbmUgREVWSURf
VlBfSURFCSgoaWRlX3BjaV9kZXZpZF90KXtQQ0lfVkVORE9SX0lEX1ZJQSwg
ICAgIFBDSV9ERVZJQ0VfSURfVklBXzgyQzU4Nl8xfSkNCiAjZGVmaW5lIERF
VklEX1BEQzIwMjQ2CSgoaWRlX3BjaV9kZXZpZF90KXtQQ0lfVkVORE9SX0lE
X1BST01JU0UsIFBDSV9ERVZJQ0VfSURfUFJPTUlTRV8yMDI0Nn0pDQogI2Rl
ZmluZSBERVZJRF9QREMyMDI2MgkoKGlkZV9wY2lfZGV2aWRfdCl7UENJX1ZF
TkRPUl9JRF9QUk9NSVNFLCBQQ0lfREVWSUNFX0lEX1BST01JU0VfMjAyNjJ9
KQ0KQEAgLTE5MCw2ICsxOTEsNyBAQA0KIAl7REVWSURfUElJWGIsCSJQSUlY
IiwJCU5VTEwsCQlJTklUX1BJSVgsCU5VTEwsCQl7ezB4NDEsMHg4MCwweDgw
fSwgezB4NDMsMHg4MCwweDgwfX0sIAlPTl9CT0FSRCwJMCB9LA0KIAl7REVW
SURfUElJWDMsCSJQSUlYMyIsCU5VTEwsCQlJTklUX1BJSVgsCU5VTEwsCQl7
ezB4NDEsMHg4MCwweDgwfSwgezB4NDMsMHg4MCwweDgwfX0sIAlPTl9CT0FS
RCwJMCB9LA0KIAl7REVWSURfUElJWDQsCSJQSUlYNCIsCU5VTEwsCQlJTklU
X1BJSVgsCU5VTEwsCQl7ezB4NDEsMHg4MCwweDgwfSwgezB4NDMsMHg4MCww
eDgwfX0sIAlPTl9CT0FSRCwJMCB9LA0KKwl7REVWSURfVklBX0lERSwJIlZJ
QV9JREUiLAlOVUxMLAkJTlVMTCwJCU5VTEwsCQl7ezB4MDAsMHgwMCwweDAw
fSwgezB4MDAsMHgwMCwweDAwfX0sCU9OX0JPQVJELAkwIH0sDQogCXtERVZJ
RF9WUF9JREUsCSJWUF9JREUiLAlOVUxMLAkJSU5JVF9WSUE4MkM1ODYsCURN
QV9WSUE4MkM1ODYsCXt7MHg0MCwweDAyLDB4MDJ9LCB7MHg0MCwweDAxLDB4
MDF9fSwgCU9OX0JPQVJELAkwIH0sDQogCXtERVZJRF9QREMyMDI0NiwiUERD
MjAyNDYiLAlQQ0lfUERDMjAyWFgsCUlOSVRfUERDMjAyWFgsCU5VTEwsCQl7
ezB4NTAsMHgwMiwweDAyfSwgezB4NTAsMHgwNCwweDA0fX0sIAlPRkZfQk9B
UkQsCTE2IH0sDQogCXtERVZJRF9QREMyMDI2MiwiUERDMjAyNjIiLAlQQ0lf
UERDMjAyWFgsCUlOSVRfUERDMjAyWFgsCU5VTEwsCQl7ezB4NTAsMHgwMiww
eDAyfSwgezB4NTAsMHgwNCwweDA0fX0sCU9GRl9CT0FSRCwJNDggfSwNCkBA
IC0zNjYsNyArMzY4LDcgQEANCiAJYnl0ZSB0bXAgPSAwOw0KIAlpZGVfaHdp
Zl90ICpod2lmLCAqbWF0ZSA9IE5VTEw7DQogDQotI2lmZGVmIENPTkZJR19J
REVETUFfUENJX0FVVE8NCisjaWZkZWYgQ09ORklHX0lERURNQV9BVVRPDQog
CWF1dG9kbWEgPSAxOw0KICNlbmRpZg0KIGNoZWNrX2lmX2VuYWJsZWQ6DQpA
QCAtNTQ4LDYgKzU1MCw4IEBADQogCQkJY29udGludWU7CS8qIE9QVEkgVmlw
ZXItTSB1c2VzIHNhbWUgZGV2aWQgZm9yIGZ1bmN0aW9ucyAwIGFuZCAxICov
DQogCQllbHNlIGlmIChJREVfUENJX0RFVklEX0VRKGQtPmRldmlkLCBERVZJ
RF9DWTgyQzY5MykgJiYgKCEoUENJX0ZVTkMoZGV2LT5kZXZmbikgJiAxKSB8
fCAhKChkZXYtPmNsYXNzID4+IDgpID09IFBDSV9DTEFTU19TVE9SQUdFX0lE
RSkpKQ0KIAkJCWNvbnRpbnVlOwkvKiBDWTgyQzY5MyBpcyBtb3JlIHRoYW4g
b25seSBhIElERSBjb250cm9sbGVyICovDQorCQllbHNlIGlmIChJREVfUENJ
X0RFVklEX0VRKGQtPmRldmlkLCBERVZJRF9VTTg4ODZBKSAmJiAhKFBDSV9G
VU5DKGRldi0+ZGV2Zm4pICYgMSkpDQorCQkJY29udGludWU7CS8qIFVNODg4
NkEvQkYgcGFpciAqLw0KIAkJZWxzZSBpZiAoIUlERV9QQ0lfREVWSURfRVEo
ZC0+ZGV2aWQsIElERV9QQ0lfREVWSURfTlVMTCkgfHwgKGRldi0+Y2xhc3Mg
Pj4gOCkgPT0gUENJX0NMQVNTX1NUT1JBR0VfSURFKSB7DQogCQkJaWYgKElE
RV9QQ0lfREVWSURfRVEoZC0+ZGV2aWQsIElERV9QQ0lfREVWSURfTlVMTCkp
DQogCQkJCXByaW50aygiJXM6IHVua25vd24gSURFIGNvbnRyb2xsZXIgb24g
UENJIGJ1cyAlMDJ4IGRldmljZSAlMDJ4LCBWSUQ9JTA0eCwgRElEPSUwNHhc
biIsDQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJz
L2Jsb2NrL2lkZS1wbWFjLmMgbGludXgvZHJpdmVycy9ibG9jay9pZGUtcG1h
Yy5jDQotLS0gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2Nr
L2lkZS1wbWFjLmMJRnJpIEp1biAyNSAyMjo0NjowNiAxOTk5DQorKysgbGlu
dXgvZHJpdmVycy9ibG9jay9pZGUtcG1hYy5jCUZyaSBKdW4gMjUgMjI6NTE6
NDQgMTk5OQ0KQEAgLTIxOCw5ICsyMTgsOSBAQA0KIAl9DQogDQogCWh3aWYt
PmRtYXByb2MgPSAmcG1hY19pZGVfZG1hcHJvYzsNCi0jaWZkZWYgQ09ORklH
X1BNQUNfSURFRE1BX0FVVE8NCisjaWZkZWYgQ09ORklHX0lERURNQV9QTUFD
X0FVVE8NCiAJaHdpZi0+YXV0b2RtYSA9IDE7DQotI2VuZGlmDQorI2VuZGlm
IC8qIENPTkZJR19JREVETUFfUE1BQ19BVVRPICovDQogfQ0KIA0KIC8qDQpk
aWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2Nr
L2lkZS1wcm9iZS5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLXByb2JlLmMN
Ci0tLSBsaW51eC0yLjMuOS00LXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRl
LXByb2JlLmMJRnJpIEp1biAyNSAyMjo0NjowNiAxOTk5DQorKysgbGludXgv
ZHJpdmVycy9ibG9jay9pZGUtcHJvYmUuYwlGcmkgSnVuIDI1IDIyOjUxOjQ0
IDE5OTkNCkBAIC04NDUsNyArODQ1LDkgQEANCiAJDQogCWZvciAoaW5kZXgg
PSAwOyBpbmRleCA8IE1BWF9IV0lGUzsgKytpbmRleCkNCiAJCWlkZV91bnJl
Z2lzdGVyKGluZGV4KTsNCi0JcmV0dXJuIGlkZXByb2JlX2luaXQoKTsNCisJ
aWRlcHJvYmVfaW5pdCgpOw0KKwljcmVhdGVfcHJvY19pZGVfaW50ZXJmYWNl
cygpOw0KKwlyZXR1cm4gMDsNCiB9DQogDQogdm9pZCBjbGVhbnVwX21vZHVs
ZSAodm9pZCkNCmRpZmYgLXVyTiBsaW51eC0yLjMuOS00LXByaXN0aW5lL2Ry
aXZlcnMvYmxvY2svaWRlLXByb2MuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lk
ZS1wcm9jLmMNCi0tLSBsaW51eC0yLjMuOS00LXByaXN0aW5lL2RyaXZlcnMv
YmxvY2svaWRlLXByb2MuYwlGcmkgSnVuIDI1IDIyOjQ2OjA2IDE5OTkNCisr
KyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1wcm9jLmMJRnJpIEp1biAyNSAy
Mjo1MTo0NCAxOTk5DQpAQCAtMTEyLDYgKzExMiw4IEBADQogCXJldHVybiAt
RUlOVkFMOw0KIH0NCiANCitzdGF0aWMgc3RydWN0IHByb2NfZGlyX2VudHJ5
ICogcHJvY19pZGVfcm9vdCA9IE5VTEw7DQorDQogc3RhdGljIGludCBwcm9j
X2lkZV93cml0ZV9jb25maWcNCiAJKHN0cnVjdCBmaWxlICpmaWxlLCBjb25z
dCBjaGFyICpidWZmZXIsIHVuc2lnbmVkIGxvbmcgY291bnQsIHZvaWQgKmRh
dGEpDQogew0KQEAgLTM4NCw3ICszODYsNyBAQA0KIAlpZGVfZHJpdmVfdAkq
ZHJpdmUgPSAoaWRlX2RyaXZlX3QgKilkYXRhOw0KIAlpbnQJCWxlbiA9IDAs
IGkgPSAwOw0KIA0KLQlpZiAoIXByb2NfaWRlX2dldF9pZGVudGlmeShkcml2
ZSwgcGFnZSkpIHsNCisJaWYgKGRyaXZlICYmICFwcm9jX2lkZV9nZXRfaWRl
bnRpZnkoZHJpdmUsIHBhZ2UpKSB7DQogCQl1bnNpZ25lZCBzaG9ydCAqdmFs
ID0gKCh1bnNpZ25lZCBzaG9ydCAqKXBhZ2UpICsgMjsNCiAJCWNoYXIgKm91
dCA9ICgoY2hhciAqKXZhbCkgKyAoU0VDVE9SX1dPUkRTICogNCk7DQogCQlw
YWdlID0gb3V0Ow0KQEAgLTM5NCw2ICszOTYsOCBAQA0KIAkJfSB3aGlsZSAo
aSA8IChTRUNUT1JfV09SRFMgKiAyKSk7DQogCQlsZW4gPSBvdXQgLSBwYWdl
Ow0KIAl9DQorCWVsc2UNCisJCWxlbiA9IHNwcmludGYocGFnZSwgIlxuIik7
DQogCVBST0NfSURFX1JFQURfUkVUVVJOKHBhZ2Usc3RhcnQsb2ZmLGNvdW50
LGVvZixsZW4pOw0KIH0NCiANCkBAIC01MjUsOCArNTI5LDggQEANCiAJY2hh
cgkJKm91dCA9IHBhZ2U7DQogCWludAkJbGVuOw0KIA0KLQlvdXQgKz0gc3By
aW50ZihvdXQsInBoeXNpY2FsICAgICAlaGkvJWhpLyVoaVxuIiwgZHJpdmUt
PmN5bCwgZHJpdmUtPmhlYWQsIGRyaXZlLT5zZWN0KTsNCi0Jb3V0ICs9IHNw
cmludGYob3V0LCJsb2dpY2FsICAgICAgJWhpLyVoaS8laGlcbiIsIGRyaXZl
LT5iaW9zX2N5bCwgZHJpdmUtPmJpb3NfaGVhZCwgZHJpdmUtPmJpb3Nfc2Vj
dCk7DQorCW91dCArPSBzcHJpbnRmKG91dCwicGh5c2ljYWwgICAgICVkLyVk
LyVkXG4iLCBkcml2ZS0+Y3lsLCBkcml2ZS0+aGVhZCwgZHJpdmUtPnNlY3Qp
Ow0KKwlvdXQgKz0gc3ByaW50ZihvdXQsImxvZ2ljYWwgICAgICAlZC8lZC8l
ZFxuIiwgZHJpdmUtPmJpb3NfY3lsLCBkcml2ZS0+Ymlvc19oZWFkLCBkcml2
ZS0+Ymlvc19zZWN0KTsNCiAJbGVuID0gb3V0IC0gcGFnZTsNCiAJUFJPQ19J
REVfUkVBRF9SRVRVUk4ocGFnZSxzdGFydCxvZmYsY291bnQsZW9mLGxlbik7
DQogfQ0KQEAgLTYzNCwyMSArNjM4LDMwIEBADQogCXJldHVybiBzcHJpbnRm
KHBhZ2UsICJpZGUlZC8lcyIsIG4sIGRlLT5uYW1lKTsNCiB9DQogDQotc3Rh
dGljIHZvaWQgY3JlYXRlX3Byb2NfaWRlX2RyaXZlcyAoaWRlX2h3aWZfdCAq
aHdpZiwgc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwYXJlbnQsIHN0cnVjdCBw
cm9jX2Rpcl9lbnRyeSAqcm9vdCkNCitzdGF0aWMgdm9pZCBjcmVhdGVfcHJv
Y19pZGVfZHJpdmVzKGlkZV9od2lmX3QgKmh3aWYpDQogew0KIAlpbnQJZDsN
CiAJc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnQ7DQorCXN0cnVjdCBwcm9j
X2Rpcl9lbnRyeSAqcGFyZW50ID0gaHdpZi0+cHJvYzsNCiANCiAJZm9yIChk
ID0gMDsgZCA8IE1BWF9EUklWRVM7IGQrKykgew0KIAkJaWRlX2RyaXZlX3Qg
KmRyaXZlID0gJmh3aWYtPmRyaXZlc1tkXTsNCisJCWlkZV9kcml2ZXJfdCAq
ZHJpdmVyID0gZHJpdmUtPmRyaXZlcjsNCiANCiAJCWlmICghZHJpdmUtPnBy
ZXNlbnQpDQogCQkJY29udGludWU7DQotCQlkcml2ZS0+cHJvYyA9IGNyZWF0
ZV9wcm9jX2VudHJ5KGRyaXZlLT5uYW1lLCBTX0lGRElSLCBwYXJlbnQpOw0K
IAkJaWYgKGRyaXZlLT5wcm9jKQ0KLQkJCWlkZV9hZGRfcHJvY19lbnRyaWVz
KGRyaXZlLT5wcm9jLCBnZW5lcmljX2RyaXZlX2VudHJpZXMsIGRyaXZlKTsN
CisJCQljb250aW51ZTsNCiANCi0JCWVudCA9IGNyZWF0ZV9wcm9jX2VudHJ5
KGRyaXZlLT5uYW1lLCBTX0lGTE5LIHwgU19JUlVHTyB8IFNfSVdVR08gfCBT
X0lYVUdPLCByb290KTsNCisJCWRyaXZlLT5wcm9jID0gY3JlYXRlX3Byb2Nf
ZW50cnkoZHJpdmUtPm5hbWUsIFNfSUZESVIsIHBhcmVudCk7DQorCQlpZiAo
ZHJpdmUtPnByb2MpIHsNCisJCQlpZGVfYWRkX3Byb2NfZW50cmllcyhkcml2
ZS0+cHJvYywgZ2VuZXJpY19kcml2ZV9lbnRyaWVzLCBkcml2ZSk7DQorCQkJ
aWYgKGRyaXZlcikgew0KKwkJCQlpZGVfYWRkX3Byb2NfZW50cmllcyhkcml2
ZS0+cHJvYywgZ2VuZXJpY19zdWJkcml2ZXJfZW50cmllcywgZHJpdmUpOw0K
KwkJCQlpZGVfYWRkX3Byb2NfZW50cmllcyhkcml2ZS0+cHJvYywgZHJpdmVy
LT5wcm9jLCBkcml2ZSk7DQorCQkJfQ0KKwkJfQ0KKwkJZW50ID0gY3JlYXRl
X3Byb2NfZW50cnkoZHJpdmUtPm5hbWUsIFNfSUZMTksgfCBTX0lSVUdPIHwg
U19JV1VHTyB8IFNfSVhVR08sIHByb2NfaWRlX3Jvb3QpOw0KIAkJaWYgKCFl
bnQpIHJldHVybjsNCiAJCWVudC0+ZGF0YSA9IGRyaXZlOw0KIAkJZW50LT5y
ZWFkbGlua19wcm9jID0gcHJvY19pZGVfcmVhZGxpbms7DQpAQCAtNjU2LDYg
KzY2OSwyNSBAQA0KIAl9DQogfQ0KIA0KK3ZvaWQgZGVzdHJveV9wcm9jX2lk
ZV9kcml2ZXMoaWRlX2h3aWZfdCAqaHdpZikNCit7DQorCWludAlkOw0KKw0K
Kwlmb3IgKGQgPSAwOyBkIDwgTUFYX0RSSVZFUzsgZCsrKSB7DQorCQlpZGVf
ZHJpdmVfdCAqZHJpdmUgPSAmaHdpZi0+ZHJpdmVzW2RdOw0KKwkJaWRlX2Ry
aXZlcl90ICpkcml2ZXIgPSBkcml2ZS0+ZHJpdmVyOw0KKw0KKwkJaWYgKCFk
cml2ZS0+cHJvYykNCisJCQljb250aW51ZTsNCisJCWlmIChkcml2ZXIpDQor
CQkJaWRlX3JlbW92ZV9wcm9jX2VudHJpZXMoZHJpdmUtPnByb2MsIGRyaXZl
ci0+cHJvYyk7DQorCQlpZGVfcmVtb3ZlX3Byb2NfZW50cmllcyhkcml2ZS0+
cHJvYywgZ2VuZXJpY19kcml2ZV9lbnRyaWVzKTsNCisJCXJlbW92ZV9wcm9j
X2VudHJ5KGRyaXZlLT5uYW1lLCBwcm9jX2lkZV9yb290KTsNCisJCXJlbW92
ZV9wcm9jX2VudHJ5KGRyaXZlLT5uYW1lLCBod2lmLT5wcm9jKTsNCisJCWRy
aXZlLT5wcm9jID0gTlVMTDsNCisJfQ0KK30NCisNCiBzdGF0aWMgaWRlX3By
b2NfZW50cnlfdCBod2lmX2VudHJpZXNbXSA9IHsNCiAJeyAiY2hhbm5lbCIs
CVNfSUZSRUd8U19JUlVHTywJcHJvY19pZGVfcmVhZF9jaGFubmVsLAlOVUxM
IH0sDQogCXsgImNvbmZpZyIsCVNfSUZSRUd8U19JUlVHT3xTX0lXVVNSLHBy
b2NfaWRlX3JlYWRfY29uZmlnLAlwcm9jX2lkZV93cml0ZV9jb25maWcgfSwN
CkBAIC02NjQsNDIgKzY5Niw2NiBAQA0KIAl7IE5VTEwsCTAsIE5VTEwsIE5V
TEwgfQ0KIH07DQogDQotc3RhdGljIHZvaWQgY3JlYXRlX3Byb2NfaWRlX2lu
dGVyZmFjZXMgKHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcGFyZW50KQ0KK3Zv
aWQgY3JlYXRlX3Byb2NfaWRlX2ludGVyZmFjZXModm9pZCkNCiB7DQogCWlu
dAloOw0KLQlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmh3aWZfZW50Ow0KIA0K
IAlmb3IgKGggPSAwOyBoIDwgTUFYX0hXSUZTOyBoKyspIHsNCiAJCWlkZV9o
d2lmX3QgKmh3aWYgPSAmaWRlX2h3aWZzW2hdOw0KKwkJaW50IGV4aXN0ID0g
KGh3aWYtPnByb2MgIT0gTlVMTCk7DQogDQogCQlpZiAoIWh3aWYtPnByZXNl
bnQpDQogCQkJY29udGludWU7DQotCQlod2lmX2VudCA9IGNyZWF0ZV9wcm9j
X2VudHJ5KGh3aWYtPm5hbWUsIFNfSUZESVIsIHBhcmVudCk7DQotCQlpZiAo
IWh3aWZfZW50KSByZXR1cm47DQotCQlpZGVfYWRkX3Byb2NfZW50cmllcyho
d2lmX2VudCwgaHdpZl9lbnRyaWVzLCBod2lmKTsNCi0JCWNyZWF0ZV9wcm9j
X2lkZV9kcml2ZXMoaHdpZiwgaHdpZl9lbnQsIHBhcmVudCk7DQorCQlpZiAo
IWV4aXN0KQ0KKwkJCWh3aWYtPnByb2MgPSBjcmVhdGVfcHJvY19lbnRyeSho
d2lmLT5uYW1lLCBTX0lGRElSLCBwcm9jX2lkZV9yb290KTsNCisJCWlmICgh
aHdpZi0+cHJvYykNCisJCQlyZXR1cm47DQorCQlpZiAoIWV4aXN0KQ0KKwkJ
CWlkZV9hZGRfcHJvY19lbnRyaWVzKGh3aWYtPnByb2MsIGh3aWZfZW50cmll
cywgaHdpZik7DQorCQljcmVhdGVfcHJvY19pZGVfZHJpdmVzKGh3aWYpOw0K
Kwl9DQorfQ0KKw0KK3N0YXRpYyB2b2lkIGRlc3Ryb3lfcHJvY19pZGVfaW50
ZXJmYWNlcyh2b2lkKQ0KK3sNCisJaW50CWg7DQorDQorCWZvciAoaCA9IDA7
IGggPCBNQVhfSFdJRlM7IGgrKykgew0KKwkJaWRlX2h3aWZfdCAqaHdpZiA9
ICZpZGVfaHdpZnNbaF07DQorCQlpbnQgZXhpc3QgPSAoaHdpZi0+cHJvYyAh
PSBOVUxMKTsNCisNCisvKgkJaWYgKCFod2lmLT5wcmVzZW50KQ0KKwkJCWNv
bnRpbnVlOyovDQorCQlpZiAoIWh3aWYtPnByb2MpDQorCQkJY29udGludWU7
DQorCQllbHNlIHsNCisJCQlkZXN0cm95X3Byb2NfaWRlX2RyaXZlcyhod2lm
KTsNCisJCQlpZGVfcmVtb3ZlX3Byb2NfZW50cmllcyhod2lmLT5wcm9jLCBo
d2lmX2VudHJpZXMpOw0KKwkJCXJlbW92ZV9wcm9jX2VudHJ5KGh3aWYtPm5h
bWUsIHByb2NfaWRlX3Jvb3QpOw0KKwkJCWh3aWYtPnByb2MgPSBOVUxMOw0K
KwkJfQ0KIAl9DQogfQ0KIA0KIHZvaWQgcHJvY19pZGVfY3JlYXRlKHZvaWQp
DQogew0KLQlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnJvb3QsICplbnQ7DQot
CXJvb3QgPSBjcmVhdGVfcHJvY19lbnRyeSgiaWRlIiwgU19JRkRJUiwgMCk7
DQotCWlmICghcm9vdCkgcmV0dXJuOw0KLQljcmVhdGVfcHJvY19pZGVfaW50
ZXJmYWNlcyhyb290KTsNCisJc3RydWN0IHByb2NfZGlyX2VudHJ5ICplbnQ7
DQorCXByb2NfaWRlX3Jvb3QgPSBjcmVhdGVfcHJvY19lbnRyeSgiaWRlIiwg
U19JRkRJUiwgMCk7DQorCWlmICghcHJvY19pZGVfcm9vdCkgcmV0dXJuOw0K
KwljcmVhdGVfcHJvY19pZGVfaW50ZXJmYWNlcygpOw0KIA0KLQllbnQgPSBj
cmVhdGVfcHJvY19lbnRyeSgiZHJpdmVycyIsIDAsIHJvb3QpOw0KKwllbnQg
PSBjcmVhdGVfcHJvY19lbnRyeSgiZHJpdmVycyIsIDAsIHByb2NfaWRlX3Jv
b3QpOw0KIAlpZiAoIWVudCkgcmV0dXJuOw0KIAllbnQtPnJlYWRfcHJvYyAg
PSBwcm9jX2lkZV9yZWFkX2RyaXZlcnM7DQogI2lmZGVmIENPTkZJR19CTEtf
REVWX1ZJQTgyQzU4Ng0KIAlpZiAodmlhX2Rpc3BsYXlfaW5mbykgew0KLQkJ
ZW50ID0gY3JlYXRlX3Byb2NfZW50cnkoInZpYSIsIDAsIHJvb3QpOw0KKwkJ
ZW50ID0gY3JlYXRlX3Byb2NfZW50cnkoInZpYSIsIDAsIHByb2NfaWRlX3Jv
b3QpOw0KIAkJZW50LT5nZXRfaW5mbyA9IHZpYV9kaXNwbGF5X2luZm87DQog
CX0NCiAjZW5kaWYgLyogQ09ORklHX0JMS19ERVZfVklBODJDNTg2ICovDQog
I2lmZGVmIENPTkZJR19CTEtfREVWX0FMSTE1WDMNCiAJaWYgKGFsaV9kaXNw
bGF5X2luZm8pIHsNCi0JCWVudCA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJhbGki
LCAwLCByb290KTsNCisJCWVudCA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJhbGki
LCAwLCBwcm9jX2lkZV9yb290KTsNCiAJCWVudC0+Z2V0X2luZm8gPSBhbGlf
ZGlzcGxheV9pbmZvOw0KIAl9DQogI2VuZGlmIC8qIENPTkZJR19CTEtfREVW
X0FMSTE1WDMgKi8NCkBAIC03MjAsNSArNzc2LDYgQEANCiAJCXJlbW92ZV9w
cm9jX2VudHJ5KCJpZGUvYWxpIiwwKTsNCiAjZW5kaWYgLyogQ09ORklHX0JM
S19ERVZfQUxJMTVYMyAqLw0KIAlyZW1vdmVfcHJvY19lbnRyeSgiaWRlL2Ry
aXZlcnMiLCAwKTsNCisJZGVzdHJveV9wcm9jX2lkZV9pbnRlcmZhY2VzKCk7
DQogCXJlbW92ZV9wcm9jX2VudHJ5KCJpZGUiLCAwKTsNCiB9DQpkaWZmIC11
ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS10
YXBlLmMgbGludXgvZHJpdmVycy9ibG9jay9pZGUtdGFwZS5jDQotLS0gbGlu
dXgtMi4zLjktNC1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS10YXBlLmMJ
RnJpIEp1biAyNSAyMjo0NjowNSAxOTk5DQorKysgbGludXgvZHJpdmVycy9i
bG9jay9pZGUtdGFwZS5jCUZyaSBKdW4gMjUgMjI6NTE6NDQgMTk5OQ0KQEAg
LTM4MTQsOCArMzgxNCwxNCBAQA0KIA0KIAlmb3IgKG1pbm9yID0gMDsgbWlu
b3IgPCBNQVhfSFdJRlMgKiBNQVhfRFJJVkVTOyBtaW5vcisrKSB7DQogCQlk
cml2ZSA9IGlkZXRhcGVfY2hyZGV2c1ttaW5vcl0uZHJpdmU7DQotCQlpZiAo
ZHJpdmUgIT0gTlVMTCAmJiBpZGV0YXBlX2NsZWFudXAgKGRyaXZlKSkNCi0J
CQlwcmludGsgKEtFUk5fRVJSICJpZGUtdGFwZTogJXM6IGNsZWFudXBfbW9k
dWxlKCkgY2FsbGVkIHdoaWxlIHN0aWxsIGJ1c3lcbiIsIGRyaXZlLT5uYW1l
KTsNCisJCWlmIChkcml2ZSkgew0KKwkJCWlmIChpZGV0YXBlX2NsZWFudXAg
KGRyaXZlKSkNCisJCQkJcHJpbnRrIChLRVJOX0VSUiAiaWRlLXRhcGU6ICVz
OiBjbGVhbnVwX21vZHVsZSgpIGNhbGxlZCB3aGlsZSBzdGlsbCBidXN5XG4i
LCBkcml2ZS0+bmFtZSk7DQorCQkJLyogV2UgbXVzdCByZW1vdmUgcHJvYyBl
bnRyaWVzIGRlZmluZWQgaW4gdGhpcyBtb2R1bGUuDQorCQkJICAgT3RoZXJ3
aXNlIHdlIG9vcHMgd2hpbGUgYWNjZXNzaW5nIHRoZXNlIGVudHJpZXMgKi8N
CisJCQlpZiAoZHJpdmUtPnByb2MpDQorCQkJCWlkZV9yZW1vdmVfcHJvY19l
bnRyaWVzKGRyaXZlLT5wcm9jLCBpZGV0YXBlX3Byb2MpOw0KKwkJfQ0KIAl9
DQogCWlkZV91bnJlZ2lzdGVyX21vZHVsZSgmaWRldGFwZV9tb2R1bGUpOw0K
IH0NCmRpZmYgLXVyTiBsaW51eC0yLjMuOS00LXByaXN0aW5lL2RyaXZlcnMv
YmxvY2svaWRlLmMgbGludXgvZHJpdmVycy9ibG9jay9pZGUuYw0KLS0tIGxp
bnV4LTIuMy45LTQtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9pZGUuYwlGcmkg
SnVuIDI1IDIyOjQ2OjA1IDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2Nr
L2lkZS5jCUZyaSBKdW4gMjUgMjI6NTE6NDQgMTk5OQ0KQEAgLTE3NDgsNiAr
MTc0OCwxMyBAQA0KIAlyZXR1cm4gMTsNCiB9DQogDQorI2lmZGVmIENPTkZJ
R19QUk9DX0ZTDQoraWRlX3Byb2NfZW50cnlfdCBnZW5lcmljX3N1YmRyaXZl
cl9lbnRyaWVzW10gPSB7DQorCXsgImNhcGFjaXR5IiwJU19JRlJFR3xTX0lS
VUdPLAlwcm9jX2lkZV9yZWFkX2NhcGFjaXR5LAlOVUxMIH0sDQorCXsgTlVM
TCwgMCwgTlVMTCwgTlVMTCB9DQorfTsNCisjZW5kaWYNCisNCiB2b2lkIGlk
ZV91bnJlZ2lzdGVyICh1bnNpZ25lZCBpbnQgaW5kZXgpDQogew0KIAlzdHJ1
Y3QgZ2VuZGlzayAqZ2QsICoqZ2RwOw0KQEAgLTE3NTcsNiArMTc2NCw3IEBA
DQogCWludCBpcnFfY291bnQgPSAwLCB1bml0LCBpOw0KIAl1bnNpZ25lZCBs
b25nIGZsYWdzOw0KIAl1bnNpZ25lZCBpbnQgcCwgbWlub3I7DQorCWlkZV9o
d2lmX3Qgb2xkX2h3aWY7DQogDQogCWlmIChpbmRleCA+PSBNQVhfSFdJRlMp
DQogCQlyZXR1cm47DQpAQCAtMTc5Myw2ICsxODAxLDkgQEANCiAJCQkJaW52
YWxpZGF0ZV9idWZmZXJzIChkZXZwKTsNCiAJCQl9DQogCQl9DQorI2lmZGVm
IENPTkZJR19QUk9DX0ZTDQorCQlkZXN0cm95X3Byb2NfaWRlX2RyaXZlcyho
d2lmKTsNCisjZW5kaWYNCiAJfQ0KIAljbGkoKTsNCiAJaHdncm91cCA9IGh3
aWYtPmh3Z3JvdXA7DQpAQCAtMTg3NSw3ICsxODg2LDIxIEBADQogCQlrZnJl
ZShnZC0+cGFydCk7DQogCQlrZnJlZShnZCk7DQogCX0NCisJb2xkX2h3aWYg
PSAqaHdpZjsNCiAJaW5pdF9od2lmX2RhdGEgKGluZGV4KTsJLyogcmVzdG9y
ZSBod2lmIGRhdGEgdG8gcHJpc3RpbmUgc3RhdHVzICovDQorCWh3aWYtPmh3
Z3JvdXAgPSBvbGRfaHdpZi5od2dyb3VwOw0KKwlod2lmLT50dW5lcHJvYyA9
IG9sZF9od2lmLnR1bmVwcm9jOw0KKwlod2lmLT5kbWFwcm9jID0gb2xkX2h3
aWYuZG1hcHJvYzsNCisJaHdpZi0+ZG1hX2Jhc2UgPSBvbGRfaHdpZi5kbWFf
YmFzZTsNCisJaHdpZi0+ZG1hX2V4dHJhID0gb2xkX2h3aWYuZG1hX2V4dHJh
Ow0KKwlod2lmLT5jb25maWdfZGF0YSA9IG9sZF9od2lmLmNvbmZpZ19kYXRh
Ow0KKwlod2lmLT5zZWxlY3RfZGF0YSA9IG9sZF9od2lmLnNlbGVjdF9kYXRh
Ow0KKwlod2lmLT5pcnEgPSBvbGRfaHdpZi5pcnE7DQorCWh3aWYtPm1ham9y
ID0gb2xkX2h3aWYubWFqb3I7DQorCWh3aWYtPnByb2MgPSBvbGRfaHdpZi5w
cm9jOw0KKwlod2lmLT5jaGlwc2V0ID0gb2xkX2h3aWYuY2hpcHNldDsNCisJ
aHdpZi0+cGNpX2RldiA9IG9sZF9od2lmLnBjaV9kZXY7DQorCWh3aWYtPnBj
aV9kZXZpZCA9IG9sZF9od2lmLnBjaV9kZXZpZDsNCiBhYm9ydDoNCiAJcmVz
dG9yZV9mbGFncyhmbGFncyk7CS8qIGFsbCBDUFVzICovDQogfQ0KQEAgLTE5
NTAsNiArMTk3NSw5IEBADQogDQogCWlmICghaW5pdGlhbGl6aW5nKSB7DQog
CQlpZGVfaW5pdF9tb2R1bGUoSURFX1BST0JFX01PRFVMRSk7DQorI2lmZGVm
IENPTkZJR19QUk9DX0ZTDQorCQljcmVhdGVfcHJvY19pZGVfaW50ZXJmYWNl
cygpOw0KKyNlbmRpZg0KIAkJaWRlX2luaXRfbW9kdWxlKElERV9EUklWRVJf
TU9EVUxFKTsNCiAJfQ0KIA0KQEAgLTE5NjYsNyArMTk5NCw2IEBADQogaW50
IGlkZV9yZWdpc3RlciAoaW50IGFyZzEsIGludCBhcmcyLCBpbnQgaXJxKQ0K
IHsNCiAJaHdfcmVnc190IGh3Ow0KLQ0KIAlpZGVfaW5pdF9od2lmX3BvcnRz
KCZodywgKGlkZV9pb3JlZ190KSBhcmcxLCAoaWRlX2lvcmVnX3QpIGFyZzIs
IE5VTEwpOw0KIAlody5pcnEgPSBpcnE7DQogCXJldHVybiBpZGVfcmVnaXN0
ZXJfaHcoJmh3LCBOVUxMKTsNCkBAIC0zMjM5LDEzICszMjY2LDYgQEANCiAJ
cmV0dXJuIE5VTEw7DQogfQ0KIA0KLSNpZmRlZiBDT05GSUdfUFJPQ19GUw0K
LXN0YXRpYyBpZGVfcHJvY19lbnRyeV90IGdlbmVyaWNfc3ViZHJpdmVyX2Vu
dHJpZXNbXSA9IHsNCi0JeyAiY2FwYWNpdHkiLAlTX0lGUkVHfFNfSVJVR08s
CXByb2NfaWRlX3JlYWRfY2FwYWNpdHksCU5VTEwgfSwNCi0JeyBOVUxMLCAw
LCBOVUxMLCBOVUxMIH0NCi19Ow0KLSNlbmRpZg0KLQ0KIGludCBpZGVfcmVn
aXN0ZXJfc3ViZHJpdmVyIChpZGVfZHJpdmVfdCAqZHJpdmUsIGlkZV9kcml2
ZXJfdCAqZHJpdmVyLCBpbnQgdmVyc2lvbikNCiB7DQogCXVuc2lnbmVkIGxv
bmcgZmxhZ3M7DQpAQCAtMzQwMSw2ICszNDIxLDcgQEANCiBFWFBPUlRfU1lN
Qk9MKGlkZV9hZGRfcHJvY19lbnRyaWVzKTsNCiBFWFBPUlRfU1lNQk9MKGlk
ZV9yZW1vdmVfcHJvY19lbnRyaWVzKTsNCiBFWFBPUlRfU1lNQk9MKHByb2Nf
aWRlX3JlYWRfZ2VvbWV0cnkpOw0KK0VYUE9SVF9TWU1CT0woY3JlYXRlX3By
b2NfaWRlX2ludGVyZmFjZXMpOw0KICNlbmRpZg0KIEVYUE9SVF9TWU1CT0wo
aWRlX2FkZF9zZXR0aW5nKTsNCiBFWFBPUlRfU1lNQk9MKGlkZV9yZW1vdmVf
c2V0dGluZyk7DQpkaWZmIC11ck4gbGludXgtMi4zLjktNC1wcmlzdGluZS9k
cml2ZXJzL2Jsb2NrL3BkYzQwMzAuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL3Bk
YzQwMzAuYw0KLS0tIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUvZHJpdmVycy9i
bG9jay9wZGM0MDMwLmMJRnJpIEp1biAyNSAyMjo0NjowNiAxOTk5DQorKysg
bGludXgvZHJpdmVycy9ibG9jay9wZGM0MDMwLmMJRnJpIEp1biAyNSAyMjo1
MTo0NCAxOTk5DQpAQCAtMSw1ICsxLDUgQEANCiAvKiAgLSotIGxpbnV4LWMg
LSotDQotICogIGxpbnV4L2RyaXZlcnMvYmxvY2svcGRjNDAzMC5jCVZlcnNp
b24gMC4xMSAgTWF5IDE3LCAxOTk5DQorICogIGxpbnV4L2RyaXZlcnMvYmxv
Y2svcGRjNDAzMC5jCVZlcnNpb24gMC45MCAgTWF5IDI3LCAxOTk5DQogICoN
CiAgKiAgQ29weXJpZ2h0IChDKSAxOTk1LTE5OTkgIExpbnVzIFRvcnZhbGRz
ICYgYXV0aG9ycyAoc2VlIGJlbG93KQ0KICAqLw0KQEAgLTM1LDYgKzM1LDgg
QEANCiAgKiAgVmVyc2lvbiAwLjEwCVVwZGF0ZWQgZm9yIDIuMSBzZXJpZXMg
b2Yga2VybmVscw0KICAqICBWZXJzaW9uIDAuMTEJVXBkYXRlZCBmb3IgMi4z
IHNlcmllcyBvZiBrZXJuZWxzDQogICoJCQlBdXRvZGV0ZWN0aW9uIGNvZGUg
YWRkZWQuDQorICoNCisgKiAgVmVyc2lvbiAwLjkwCVRyYW5zaXRpb24gdG8g
QkVUQSBjb2RlLiBObyBsb3N0L3VuZXhwZWN0ZWQgaW50ZXJydXB0cw0KICAq
Lw0KIA0KIC8qDQpAQCAtNjgsOCArNzAsOCBAQA0KICAqIGJlY2F1c2UgSSBz
dGlsbCBkb24ndCB1bmRlcnN0YW5kIHdoYXQgdGhlIGNhcmQgaXMgZG9pbmcg
d2l0aCBpbnRlcnJ1cHRzLg0KICAqLw0KIA0KLSN1bmRlZiBERUJVR19SRUFE
DQotI3VuZGVmIERFQlVHX1dSSVRFDQorI2RlZmluZSBERUJVR19SRUFEDQor
I2RlZmluZSBERUJVR19XUklURQ0KIA0KICNpbmNsdWRlIDxsaW51eC90eXBl
cy5oPg0KICNpbmNsdWRlIDxsaW51eC9rZXJuZWwuaD4NCkBAIC0xMDAsNyAr
MTAyLDggQEANCiANCiAvKg0KICAqIHBkYzQwMzBfY21kIGhhbmRsZXMgdGhl
IHNldCBvZiB2ZW5kb3Igc3BlY2lmaWMgY29tbWFuZHMgdGhhdCBhcmUgaW5p
dGlhdGVkDQotICogYnkgY29tbWFuZCBGMC4gVGhleSBhbGwgaGF2ZSB0aGUg
c2FtZSBzdWNjZXNzL2ZhaWx1cmUgbm90aWZpY2F0aW9uLg0KKyAqIGJ5IGNv
bW1hbmQgRjAuIFRoZXkgYWxsIGhhdmUgdGhlIHNhbWUgc3VjY2Vzcy9mYWls
dXJlIG5vdGlmaWNhdGlvbiAtDQorICogJ1AnICg9MHg1MCkgb24gc3VjY2Vz
cywgJ3AnICg9MHg3MCkgb24gZmFpbHVyZS4NCiAgKi8NCiBpbnQgcGRjNDAz
MF9jbWQoaWRlX2RyaXZlX3QgKmRyaXZlLCBieXRlIGNtZCkNCiB7DQpAQCAt
MzU4LDExICszNjEsMTEgQEANCiAJCWlmIChzdGF0ICYgRFJRX1NUQVQpDQog
CQkJZ290byByZWFkX2FnYWluOw0KIAkJaWYgKHN0YXQgJiBCVVNZX1NUQVQp
IHsNCisJCQlpZGVfc2V0X2hhbmRsZXIgKGRyaXZlLCAmcHJvbWlzZV9yZWFk
X2ludHIsIFdBSVRfQ01EKTsNCiAjaWZkZWYgREVCVUdfUkVBRA0KIAkJCXBy
aW50ayhLRVJOX0RFQlVHICIlczogcHJvbWlzZV9yZWFkOiB3YWl0aW5nIGZv
ciINCiAJCQkgICAgICAgImludGVycnVwdFxuIiwgZHJpdmUtPm5hbWUpOw0K
ICNlbmRpZiANCi0JCQlpZGVfc2V0X2hhbmRsZXIgKGRyaXZlLCAmcHJvbWlz
ZV9yZWFkX2ludHIsIFdBSVRfQ01EKTsNCiAJCQlyZXR1cm47DQogCQl9DQog
CQlwcmludGsoS0VSTl9FUlIgIiVzOiBFZWVrISBwcm9taXNlX3JlYWRfaW50
cjogc2VjdG9ycyBsZWZ0ICINCkBAIC0zNzIsMzcgKzM3NSwzOSBAQA0KIH0N
CiANCiAvKg0KLSAqIHByb21pc2VfZmluaXNoX3dyaXRlKCkNCi0gKiBjYWxs
ZWQgYXQgdGhlIGVuZCBvZiBhbGwgd3JpdGVzDQorICogcHJvbWlzZV9jb21w
bGV0ZV9wb2xsZnVuYygpDQorICogVGhpcyBpcyB0aGUgcG9sbGluZyBmdW5j
dGlvbiBmb3Igd2FpdGluZyAobmljZWx5ISkgdW50aWwgZHJpdmUgc3RvcHMN
CisgKiBiZWluZyBidXN5LiBJdCBpcyBpbnZva2VkIGF0IHRoZSBlbmQgb2Yg
YSB3cml0ZSwgYWZ0ZXIgdGhlIHByZXZpb3VzIHBvbGwNCisgKiBoYXMgZmlu
aXNoZWQuDQorICoNCisgKiBPbmNlIG5vdCBidXN5LCB0aGUgZW5kIHJlcXVl
c3QgaXMgY2FsbGVkLg0KICAqLw0KLXN0YXRpYyB2b2lkIHByb21pc2VfZmlu
aXNoX3dyaXRlKGlkZV9kcml2ZV90ICpkcml2ZSkNCitzdGF0aWMgdm9pZCBw
cm9taXNlX2NvbXBsZXRlX3BvbGxmdW5jKGlkZV9kcml2ZV90ICpkcml2ZSkN
CiB7DQotCXN0cnVjdCByZXF1ZXN0ICpycSA9IEhXR1JPVVAoZHJpdmUpLT5y
cTsNCisJaWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IEhXR1JPVVAoZHJpdmUp
Ow0KKwlzdHJ1Y3QgcmVxdWVzdCAqcnEgPSBod2dyb3VwLT5ycTsNCiAJaW50
IGk7DQogDQotCWZvciAoaSA9IHJxLT5ucl9zZWN0b3JzOyBpID4gMDsgKSB7
DQotCQlpIC09IHJxLT5jdXJyZW50X25yX3NlY3RvcnM7DQotCQlpZGVfZW5k
X3JlcXVlc3QoMSwgSFdHUk9VUChkcml2ZSkpOw0KLQl9DQotfQ0KLQ0KLS8q
DQotICogcHJvbWlzZV93cml0ZV9pbnRyKCkNCi0gKiBUaGlzIGludGVycnVw
dCBpcyBjYWxsZWQgYWZ0ZXIgdGhlIHBhcnRpY3VsYXJseSBvZGQgcG9sbGlu
ZyBmb3IgY29tcGxldGlvbg0KLSAqIG9mIHRoZSB3cml0ZSByZXF1ZXN0LCBv
bmNlIGFsbCB0aGUgZGF0YSBoYXMgYmVlbiBzZW50Lg0KLSAqLyANCi1zdGF0
aWMgdm9pZCBwcm9taXNlX3dyaXRlX2ludHIoaWRlX2RyaXZlX3QgKmRyaXZl
KQ0KLXsNCi0JYnl0ZSBzdGF0Ow0KLQ0KLQlpZiAoIU9LX1NUQVQoc3RhdD1H
RVRfU1RBVCgpLERSSVZFX1JFQURZLGRyaXZlLT5iYWRfd3N0YXQpKSB7DQot
CQlpZGVfZXJyb3IoZHJpdmUsICJwcm9taXNlX3dyaXRlX2ludHIiLCBzdGF0
KTsNCisJaWYgKEdFVF9TVEFUKCkgJiBCVVNZX1NUQVQpIHsNCisJCWlmICh0
aW1lX2JlZm9yZShqaWZmaWVzLCBod2dyb3VwLT5wb2xsX3RpbWVvdXQpKSB7
DQorCQkJaWRlX3NldF9oYW5kbGVyKGRyaXZlLCAmcHJvbWlzZV9jb21wbGV0
ZV9wb2xsZnVuYywgMSk7DQorCQkJcmV0dXJuOyAvKiBjb250aW51ZSBwb2xs
aW5nLi4uICovDQorCQl9DQorCQlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSAw
Ow0KKwkJcHJpbnRrKEtFUk5fRVJSICIlczogY29tcGxldGlvbiB0aW1lb3V0
IC0gc3RpbGwgYnVzeSFcbiIsDQorCQkgICAgICAgZHJpdmUtPm5hbWUpOw0K
KwkJaWRlX2Vycm9yKGRyaXZlLCAiYnVzeSB0aW1lb3V0IiwgR0VUX1NUQVQo
KSk7DQorCQlyZXR1cm47DQogCX0NCiANCisJaHdncm91cC0+cG9sbF90aW1l
b3V0ID0gMDsNCiAjaWZkZWYgREVCVUdfV1JJVEUNCiAJcHJpbnRrKEtFUk5f
REVCVUcgIiVzOiBXcml0ZSBjb21wbGV0ZSAtIGVuZF9yZXF1ZXN0XG4iLCBk
cml2ZS0+bmFtZSk7DQogI2VuZGlmDQotCXByb21pc2VfZmluaXNoX3dyaXRl
KGRyaXZlKTsNCisJZm9yIChpID0gcnEtPm5yX3NlY3RvcnM7IGkgPiAwOyAp
IHsNCisJCWkgLT0gcnEtPmN1cnJlbnRfbnJfc2VjdG9yczsNCisJCWlkZV9l
bmRfcmVxdWVzdCgxLCBod2dyb3VwKTsNCisJfQ0KIH0NCiANCiAvKg0KQEAg
LTQxMCwyMiArNDE1LDI5IEBADQogICovDQogc3RhdGljIHZvaWQgcHJvbWlz
ZV93cml0ZV9wb2xsZnVuYyAoaWRlX2RyaXZlX3QgKmRyaXZlKQ0KIHsNCisJ
aWRlX2h3Z3JvdXBfdCAqaHdncm91cCA9IEhXR1JPVVAoZHJpdmUpOw0KKw0K
IAlpZiAoSU5fQllURShJREVfTlNFQ1RPUl9SRUcpICE9IDApIHsNCi0JCWlm
ICh0aW1lX2JlZm9yZShqaWZmaWVzLCBIV0dST1VQKGRyaXZlKS0+cG9sbF90
aW1lb3V0KSkgew0KKwkJaWYgKHRpbWVfYmVmb3JlKGppZmZpZXMsIGh3Z3Jv
dXAtPnBvbGxfdGltZW91dCkpIHsNCiAJCQlpZGVfc2V0X2hhbmRsZXIgKGRy
aXZlLCAmcHJvbWlzZV93cml0ZV9wb2xsZnVuYywgMSk7DQogCQkJcmV0dXJu
OyAvKiBjb250aW51ZSBwb2xsaW5nLi4uICovDQogCQl9DQorCQlod2dyb3Vw
LT5wb2xsX3RpbWVvdXQgPSAwOw0KIAkJcHJpbnRrKEtFUk5fRVJSICIlczog
d3JpdGUgdGltZWQtb3V0IVxuIixkcml2ZS0+bmFtZSk7DQogCQlpZGVfZXJy
b3IgKGRyaXZlLCAid3JpdGUgdGltZW91dCIsIEdFVF9TVEFUKCkpOw0KIAkJ
cmV0dXJuOw0KIAl9DQogDQorCS8qDQorCSAqIE5vdyB3cml0ZSBvdXQgbGFz
dCA0IHNlY3RvcnMgYW5kIHBvbGwgZm9yIG5vdCBCVVNZDQorCSAqLw0KIAlp
ZGVfbXVsdHdyaXRlKGRyaXZlLCA0KTsNCisJaHdncm91cC0+cG9sbF90aW1l
b3V0ID0gamlmZmllcyArIFdBSVRfV09SU1RDQVNFOw0KKwlpZGVfc2V0X2hh
bmRsZXIoZHJpdmUsICZwcm9taXNlX2NvbXBsZXRlX3BvbGxmdW5jLCAxKTsN
CiAjaWZkZWYgREVCVUdfV1JJVEUNCiAJcHJpbnRrKEtFUk5fREVCVUcgIiVz
OiBEb25lIGxhc3QgNCBzZWN0b3JzIC0gc3RhdHVzID0gJTAyeFxuIiwNCiAJ
CWRyaXZlLT5uYW1lLCBHRVRfU1RBVCgpKTsNCiAjZW5kaWYNCi0JaWRlX3Nl
dF9oYW5kbGVyKGRyaXZlLCAmcHJvbWlzZV93cml0ZV9pbnRyLCBXQUlUX0NN
RCk7DQogCXJldHVybjsNCiB9DQogDQpAQCAtNDMzLDggKzQ0NSw4IEBADQog
ICogcHJvbWlzZV93cml0ZSgpIHRyYW5zZmVycyBhIGJsb2NrIG9mIG9uZSBv
ciBtb3JlIHNlY3RvcnMgb2YgZGF0YSB0byBhDQogICogZHJpdmUgYXMgcGFy
dCBvZiBhIGRpc2sgd3JpdGUgb3BlcmF0aW9uLiBBbGwgYnV0IDQgc2VjdG9y
cyBhcmUgdHJhbnNmZXJlZA0KICAqIGluIHRoZSBmaXJzdCBhdHRlbXB0LCB0
aGVuIHRoZSBpbnRlcmZhY2UgaXMgcG9sbGVkIChuaWNlbHkhKSBmb3IgY29t
cGxldGlvbg0KLSAqIGJlZm9yZSB0aGUgZmluYWwgNCBzZWN0b3JzIGFyZSB0
cmFuc2ZlcmVkLiBUaGUgaW50ZXJydXB0IGdlbmVyYXRlZCBvbiANCi0gKiB3
cml0ZXMgb2NjdXJzIGFmdGVyIHRoaXMgcHJvY2Vzcywgd2hpY2ggaXMgd2h5
IEkgZ290IGl0IHdyb25nIGZvciBzbyBsb25nIQ0KKyAqIGJlZm9yZSB0aGUg
ZmluYWwgNCBzZWN0b3JzIGFyZSB0cmFuc2ZlcmVkLiBUaGVyZSBpcyBubyBp
bnRlcnJ1cHQgZ2VuZXJhdGVkDQorICogb24gd3JpdGVzIChhdCBsZWFzdCBv
biB0aGUgREM0MDMwVkwtMiksIHdlIGp1c3QgaGF2ZSB0byBwb2xsIGZvciBO
T1QgQlVTWS4NCiAgKi8NCiBzdGF0aWMgdm9pZCBwcm9taXNlX3dyaXRlIChp
ZGVfZHJpdmVfdCAqZHJpdmUpDQogew0KQEAgLTQ0NiwxOCArNDU4LDI3IEBA
DQogCSAgICAgICAiYnVmZmVyPTB4JTA4eFxuIiwgZHJpdmUtPm5hbWUsIHJx
LT5zZWN0b3IsDQogCSAgICAgICBycS0+c2VjdG9yICsgcnEtPm5yX3NlY3Rv
cnMgLSAxLCAodW5zaWduZWQgaW50KXJxLT5idWZmZXIpOw0KICNlbmRpZg0K
Kw0KKwkvKg0KKwkgKiBJZiB0aGVyZSBhcmUgbW9yZSB0aGFuIDQgc2VjdG9y
cyB0byB0cmFuc2ZlciwgZG8gbi00IHRoZW4gZ28gaW50bw0KKwkgKiB0aGUg
cG9sbGluZyBzdHJhdGVneSBhcyBkZWZpbmVkIGFib3ZlLg0KKwkgKi8NCiAJ
aWYgKHJxLT5ucl9zZWN0b3JzID4gNCkgew0KIAkJaWRlX211bHR3cml0ZShk
cml2ZSwgcnEtPm5yX3NlY3RvcnMgLSA0KTsNCiAJCWh3Z3JvdXAtPnBvbGxf
dGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dPUlNUQ0FTRTsNCiAJCWlkZV9z
ZXRfaGFuZGxlciAoZHJpdmUsICZwcm9taXNlX3dyaXRlX3BvbGxmdW5jLCAx
KTsNCi0JCXJldHVybjsNCiAJfSBlbHNlIHsNCisJLyoNCisJICogVGhlcmUg
YXJlIDQgb3IgZmV3ZXIgc2VjdG9ycyB0byB0cmFuc2ZlciwgZG8gdGhlbSBh
bGwgaW4gb25lIGdvDQorCSAqIGFuZCB3YWl0IGZvciBOT1QgQlVTWS4NCisJ
ICovDQogCQlpZGVfbXVsdHdyaXRlKGRyaXZlLCBycS0+bnJfc2VjdG9ycyk7
DQorCQlod2dyb3VwLT5wb2xsX3RpbWVvdXQgPSBqaWZmaWVzICsgV0FJVF9X
T1JTVENBU0U7DQorCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZwcm9taXNl
X2NvbXBsZXRlX3BvbGxmdW5jLCAxKTsNCiAjaWZkZWYgREVCVUdfV1JJVEUN
CiAJCXByaW50ayhLRVJOX0RFQlVHICIlczogcHJvbWlzZV93cml0ZTogPD0g
NCBzZWN0b3JzLCAiDQogCQkJInN0YXR1cyA9ICUwMnhcbiIsIGRyaXZlLT5u
YW1lLCBHRVRfU1RBVCgpKTsNCiAjZW5kaWYNCi0JCXByb21pc2VfZmluaXNo
X3dyaXRlKGRyaXZlKTsNCiAJfQ0KIH0NCiANCmRpZmYgLXVyTiBsaW51eC0y
LjMuOS00LXByaXN0aW5lL2luY2x1ZGUvbGludXgvaWRlLmggbGludXgvaW5j
bHVkZS9saW51eC9pZGUuaA0KLS0tIGxpbnV4LTIuMy45LTQtcHJpc3RpbmUv
aW5jbHVkZS9saW51eC9pZGUuaAlGcmkgSnVuIDI1IDIyOjQ1OjUyIDE5OTkN
CisrKyBsaW51eC9pbmNsdWRlL2xpbnV4L2lkZS5oCUZyaSBKdW4gMjUgMjI6
NTE6NDQgMTk5OQ0KQEAgLTQ2Myw2ICs0NjMsOCBAQA0KICNpZmRlZiBDT05G
SUdfUFJPQ19GUw0KIHZvaWQgcHJvY19pZGVfY3JlYXRlKHZvaWQpOw0KIHZv
aWQgcHJvY19pZGVfZGVzdHJveSh2b2lkKTsNCit2b2lkIGRlc3Ryb3lfcHJv
Y19pZGVfZHJpdmVzKGlkZV9od2lmX3QgKik7DQordm9pZCBjcmVhdGVfcHJv
Y19pZGVfaW50ZXJmYWNlcyh2b2lkKTsNCiB2b2lkIGlkZV9hZGRfcHJvY19l
bnRyaWVzKHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqZGlyLCBpZGVfcHJvY19l
bnRyeV90ICpwLCB2b2lkICpkYXRhKTsNCiB2b2lkIGlkZV9yZW1vdmVfcHJv
Y19lbnRyaWVzKHN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqZGlyLCBpZGVfcHJv
Y19lbnRyeV90ICpwKTsNCiByZWFkX3Byb2NfdCBwcm9jX2lkZV9yZWFkX2Nh
cGFjaXR5Ow0KQEAgLTc1Nyw2ICs3NTksNyBAQA0KIA0KICNpZm5kZWYgX0lE
RV9DDQogZXh0ZXJuIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgaWRlX2ZvcHNb
XTsNCitleHRlcm4gaWRlX3Byb2NfZW50cnlfdCBnZW5lcmljX3N1YmRyaXZl
cl9lbnRyaWVzW107DQogI2VuZGlmDQogDQogI2lmZGVmIF9JREVfQw0K
--998314481-1416918291-930369653=:30658--

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

- Next message: Douglas Gilbert: "Re: direct (unbufferd) disk access"
- Previous message: Andre M. Hedrick: "Re: IDE racks"