Re: patch: minor fix for ide-pci.c

Andre M. Hedrick (hedrick@Astro.Dyer.Vanderbilt.Edu)
Thu, 24 Jun 1999 23:41:30 -0500 (CDT)


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-1859724222-930285519=:19942
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.990624233842.19942E@Astro.Dyer.Vanderbilt.Edu>

On Fri, 25 Jun 1999, Mikael Pettersson wrote:

> In patch-2.3.7 the CONFIG_IDEDMA_AUTO variable was renamed to
> CONFIG_IDEDMA_PCI_AUTO in drivers/block/Config.in, but the _use_
> of the variable in drivers/block/ide-pci.c wasn't changed, with
> predictable results (autodma doesn't work any more). The following
> trivial patch fixes this:

You are close but there are more wide spread problems that needed to be
flagged. Using the Config.in file to collect the all of the new
CONFIG_IDEDMA_XXX_AUTO to then set the orginal CONFIG_IDEDMA_AUTO flag.
This solution is partial but is intel centric and needs to address all
the platforms.

Andre Hedrick
The Linux IDE guy

--998314481-1859724222-930285519=:19942
Content-Type: TEXT/PLAIN; NAME="2.3.9-1.ide.patch"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990624233839.19942C@Astro.Dyer.Vanderbilt.Edu>
Content-Description:

ZGlmZiAtdXJOIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvQ1JFRElUUyBsaW51
eC9DUkVESVRTDQotLS0gbGludXgtMi4zLjktMS1wcmlzdGluZS9DUkVESVRT
CVRodSBKdW4gMjQgMDA6MTA6MjUgMTk5OQ0KKysrIGxpbnV4L0NSRURJVFMJ
VGh1IEp1biAyNCAwMDo1MTo0NiAxOTk5DQpAQCAtOTc3LDEyICs5NzcsMTQg
QEANCiBTOiBESy04MjMwIMVieWj4ag0KIFM6IERlbm1hcmsNCiANCi1OOiBB
bmRyemVqIEtyenlzenRvZm93aWN6DQotRTogYW5rcnlAZ3JlZW4ubWlmLnBn
LmdkYS5wbA0KK046IEFuZHJ6ZWogTS4gS3J6eXN6dG9mb3dpY3oNCitFOiBh
bmtyeUBtaWYucGcuZ2RhLnBsDQorRDogWFQgZGlzayBkcml2ZXINCiBEOiBB
bGFkZGluIDE1MzMvMTU0MyhDKSBjaGlwc2V0IElERQ0KIEQ6IFBJSVggY2hp
cHNldCBJREUNCi1TOiBGYWN1bHR5IG9mIEFwcGxpZWQgUGh5cy4gJiBNYXRo
Lg0KLVM6IFRlY2huaWNhbCBVbml2ZXJzaXR5IG9mIEdkYW5zaw0KK1M6IHVs
LiBNYXRlbWJsZXdza2EgMUIvMTANCitTOiA4MC0yODMgR2RhbnNrDQorUzog
UG9sYW5kDQogDQogTjogTWljaGFlbCBLLiBKb2huc29uDQogRTogam9obnNv
bm1AcmVkaGF0LmNvbQ0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTEtcHJpc3Rp
bmUvYXJjaC9hcm0vZGVmY29uZmlnIGxpbnV4L2FyY2gvYXJtL2RlZmNvbmZp
Zw0KLS0tIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvYXJjaC9hcm0vZGVmY29u
ZmlnCVRodSBKdW4gMjQgMDA6MTE6MDggMTk5OQ0KKysrIGxpbnV4L2FyY2gv
YXJtL2RlZmNvbmZpZwlUaHUgSnVuIDI0IDAwOjUxOjQ2IDE5OTkNCkBAIC04
NSw3ICs4NSw3IEBADQogQ09ORklHX0JMS19ERVZfSURFUENJPXkNCiBDT05G
SUdfQkxLX0RFVl9JREVETUE9eQ0KIENPTkZJR19CTEtfREVWX09GRkJPQVJE
PXkNCi1DT05GSUdfSURFRE1BX0FVVE89eQ0KK0NPTkZJR19JREVETUFfUENJ
X0FVVE89eQ0KICMgQ09ORklHX0JMS19ERVZfT1BUSTYyMSBpcyBub3Qgc2V0
DQogIyBDT05GSUdfQkxLX0RFVl9UUk0yOTAgaXMgbm90IHNldA0KICMgQ09O
RklHX0JMS19ERVZfTlM4NzQxNSBpcyBub3Qgc2V0DQpkaWZmIC11ck4gbGlu
dXgtMi4zLjktMS1wcmlzdGluZS9hcmNoL3BwYy9hcHVzX2RlZmNvbmZpZyBs
aW51eC9hcmNoL3BwYy9hcHVzX2RlZmNvbmZpZw0KLS0tIGxpbnV4LTIuMy45
LTEtcHJpc3RpbmUvYXJjaC9wcGMvYXB1c19kZWZjb25maWcJVGh1IEp1biAy
NCAwMDoxMTowNiAxOTk5DQorKysgbGludXgvYXJjaC9wcGMvYXB1c19kZWZj
b25maWcJVGh1IEp1biAyNCAwMDo1MTo0NiAxOTk5DQpAQCAtNzYsNyArNzYs
NyBAQA0KIENPTkZJR19CTEtfREVWX0lERV9QTUFDPXkNCiBDT05GSUdfQkxL
X0RFVl9JREVETUFfUE1BQz15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkN
Ci1DT05GSUdfUE1BQ19JREVETUFfQVVUTz15DQorQ09ORklHX0lERURNQV9Q
TUFDX0FVVE89eQ0KICMgQ09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0
DQogDQogIw0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvYXJj
aC9wcGMvY29tbW9uX2RlZmNvbmZpZyBsaW51eC9hcmNoL3BwYy9jb21tb25f
ZGVmY29uZmlnDQotLS0gbGludXgtMi4zLjktMS1wcmlzdGluZS9hcmNoL3Bw
Yy9jb21tb25fZGVmY29uZmlnCVRodSBKdW4gMjQgMDA6MTE6MDYgMTk5OQ0K
KysrIGxpbnV4L2FyY2gvcHBjL2NvbW1vbl9kZWZjb25maWcJVGh1IEp1biAy
NCAwMDo1MTo0NiAxOTk5DQpAQCAtODEsNyArODEsNyBAQA0KIENPTkZJR19C
TEtfREVWX0lERV9QTUFDPXkNCiBDT05GSUdfQkxLX0RFVl9JREVETUFfUE1B
Qz15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkNCi1DT05GSUdfUE1BQ19J
REVETUFfQVVUTz15DQorQ09ORklHX0lERURNQV9QTUFDX0FVVE89eQ0KICMg
Q09ORklHX0lERV9DSElQU0VUUyBpcyBub3Qgc2V0DQogDQogIw0KZGlmZiAt
dXJOIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvYXJjaC9wcGMvZGVmY29uZmln
IGxpbnV4L2FyY2gvcHBjL2RlZmNvbmZpZw0KLS0tIGxpbnV4LTIuMy45LTEt
cHJpc3RpbmUvYXJjaC9wcGMvZGVmY29uZmlnCVRodSBKdW4gMjQgMDA6MTE6
MDYgMTk5OQ0KKysrIGxpbnV4L2FyY2gvcHBjL2RlZmNvbmZpZwlUaHUgSnVu
IDI0IDAwOjUxOjQ2IDE5OTkNCkBAIC04MSw3ICs4MSw3IEBADQogQ09ORklH
X0JMS19ERVZfSURFX1BNQUM9eQ0KIENPTkZJR19CTEtfREVWX0lERURNQV9Q
TUFDPXkNCiBDT05GSUdfQkxLX0RFVl9JREVETUE9eQ0KLUNPTkZJR19QTUFD
X0lERURNQV9BVVRPPXkNCitDT05GSUdfSURFRE1BX1BNQUNfQVVUTz15DQog
IyBDT05GSUdfSURFX0NISVBTRVRTIGlzIG5vdCBzZXQNCiANCiAjDQpkaWZm
IC11ck4gbGludXgtMi4zLjktMS1wcmlzdGluZS9hcmNoL3BwYy9tYnhfZGVm
Y29uZmlnIGxpbnV4L2FyY2gvcHBjL21ieF9kZWZjb25maWcNCi0tLSBsaW51
eC0yLjMuOS0xLXByaXN0aW5lL2FyY2gvcHBjL21ieF9kZWZjb25maWcJVGh1
IEp1biAyNCAwMDoxMTowNiAxOTk5DQorKysgbGludXgvYXJjaC9wcGMvbWJ4
X2RlZmNvbmZpZwlUaHUgSnVuIDI0IDAwOjUxOjQ2IDE5OTkNCkBAIC03MCw3
ICs3MCw3IEBADQogQ09ORklHX0JMS19ERVZfSURFUENJPXkNCiBDT05GSUdf
QkxLX0RFVl9JREVETUE9eQ0KICMgQ09ORklHX0JMS19ERVZfT0ZGQk9BUkQg
aXMgbm90IHNldA0KLUNPTkZJR19JREVETUFfQVVUTz15DQorQ09ORklHX0lE
RURNQV9QQ0lfQVVUTz15DQogIyBDT05GSUdfQkxLX0RFVl9PUFRJNjIxIGlz
IG5vdCBzZXQNCiAjIENPTkZJR19CTEtfREVWX1RSTTI5MCBpcyBub3Qgc2V0
DQogIyBDT05GSUdfQkxLX0RFVl9OUzg3NDE1IGlzIG5vdCBzZXQNCmRpZmYg
LXVyTiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2FyY2gvcHBjL3BtYWNfZGVm
Y29uZmlnIGxpbnV4L2FyY2gvcHBjL3BtYWNfZGVmY29uZmlnDQotLS0gbGlu
dXgtMi4zLjktMS1wcmlzdGluZS9hcmNoL3BwYy9wbWFjX2RlZmNvbmZpZwlU
aHUgSnVuIDI0IDAwOjExOjA2IDE5OTkNCisrKyBsaW51eC9hcmNoL3BwYy9w
bWFjX2RlZmNvbmZpZwlUaHUgSnVuIDI0IDAwOjUxOjQ2IDE5OTkNCkBAIC03
OCw3ICs3OCw3IEBADQogQ09ORklHX0JMS19ERVZfSURFX1BNQUM9eQ0KIENP
TkZJR19CTEtfREVWX0lERURNQV9QTUFDPXkNCiBDT05GSUdfQkxLX0RFVl9J
REVETUE9eQ0KLUNPTkZJR19QTUFDX0lERURNQV9BVVRPPXkNCitDT05GSUdf
SURFRE1BX1BNQUNfQVVUTz15DQogIyBDT05GSUdfSURFX0NISVBTRVRTIGlz
IG5vdCBzZXQNCiANCiAjDQpkaWZmIC11ck4gbGludXgtMi4zLjktMS1wcmlz
dGluZS9hcmNoL3NwYXJjNjQvY29uZmlnLmluIGxpbnV4L2FyY2gvc3BhcmM2
NC9jb25maWcuaW4NCi0tLSBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2FyY2gv
c3BhcmM2NC9jb25maWcuaW4JVGh1IEp1biAyNCAwMDoxMTowNyAxOTk5DQor
KysgbGludXgvYXJjaC9zcGFyYzY0L2NvbmZpZy5pbglUaHUgSnVuIDI0IDAw
OjUxOjQ2IDE5OTkNCkBAIC0xMjAsNyArMTIwLDcgQEANCiAJICBkZXBfdHJp
c3RhdGUgJyAgIFNDU0kgZW11bGF0aW9uIHN1cHBvcnQnIENPTkZJR19CTEtf
REVWX0lERVNDU0kgJENPTkZJR19CTEtfREVWX0lERQ0KIAkgIGRlZmluZV9i
b29sIENPTkZJR19CTEtfREVWX0lERVBDSSB5DQogCSAgZGVmaW5lX2Jvb2wg
Q09ORklHX0JMS19ERVZfSURFRE1BIHkNCi0JICBkZWZpbmVfYm9vbCBDT05G
SUdfSURFRE1BX0FVVE8geQ0KKwkgIGRlZmluZV9ib29sIENPTkZJR19JREVE
TUFfUENJX0FVVE8geQ0KIAkgIGRlZmluZV9ib29sIENPTkZJR19CTEtfREVW
X05TODc0MTUgeQ0KIAkgIGRlZmluZV9ib29sIENPTkZJR19CTEtfREVWX0NN
RDY0NiB5DQogCWZpDQpkaWZmIC11ck4gbGludXgtMi4zLjktMS1wcmlzdGlu
ZS9hcmNoL3NwYXJjNjQvZGVmY29uZmlnIGxpbnV4L2FyY2gvc3BhcmM2NC9k
ZWZjb25maWcNCi0tLSBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2FyY2gvc3Bh
cmM2NC9kZWZjb25maWcJVGh1IEp1biAyNCAwMDoxMTowNyAxOTk5DQorKysg
bGludXgvYXJjaC9zcGFyYzY0L2RlZmNvbmZpZwlUaHUgSnVuIDI0IDAwOjUx
OjQ2IDE5OTkNCkBAIC0xMjIsNyArMTIyLDcgQEANCiAjIENPTkZJR19CTEtf
REVWX0lERVNDU0kgaXMgbm90IHNldA0KIENPTkZJR19CTEtfREVWX0lERVBD
ST15DQogQ09ORklHX0JMS19ERVZfSURFRE1BPXkNCi1DT05GSUdfSURFRE1B
X0FVVE89eQ0KK0NPTkZJR19JREVETUFfUENJX0FVVE89eQ0KIENPTkZJR19C
TEtfREVWX05TODc0MTU9eQ0KIENPTkZJR19CTEtfREVWX0NNRDY0Nj15DQog
DQpkaWZmIC11ck4gbGludXgtMi4zLjktMS1wcmlzdGluZS9kcml2ZXJzL2Js
b2NrL0NvbmZpZy5pbiBsaW51eC9kcml2ZXJzL2Jsb2NrL0NvbmZpZy5pbg0K
LS0tIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9Db25m
aWcuaW4JVGh1IEp1biAyNCAwMDoxMDo0MCAxOTk5DQorKysgbGludXgvZHJp
dmVycy9ibG9jay9Db25maWcuaW4JVGh1IEp1biAyNCAwMDo1MTo0NiAxOTk5
DQpAQCAtNzUsNyArNzUsNyBAQA0KICAgICAgICAgaWYgWyAiJENPTkZJR19C
TEtfREVWX0lERV9QTUFDIiAhPSAibiIgXTsgdGhlbg0KICAgICAgICAgICBi
b29sICcgICAgIFBvd2VyTWFjIElERSBETUEgc3VwcG9ydCcgQ09ORklHX0JM
S19ERVZfSURFRE1BX1BNQUMNCiAgICAgICAgICAgaWYgWyAiJENPTkZJR19C
TEtfREVWX0lERURNQV9QTUFDIiA9ICJ5IiBdOyB0aGVuDQotICAgICAgICAg
ICAgYm9vbCAnICAgICBVc2UgRE1BIGJ5IGRlZmF1bHQnIENPTkZJR19QTUFD
X0lERURNQV9BVVRPDQorICAgICAgICAgICAgYm9vbCAnICAgICBVc2UgRE1B
IGJ5IGRlZmF1bHQnIENPTkZJR19JREVETUFfUE1BQ19BVVRPDQogICAgICAg
ICAgIGZpDQogICAgICAgIGZpDQogICAgIGZpDQpAQCAtOTMsNiArOTMsMTEg
QEANCiAgICAgICAgICAiJENPTkZJR19CTEtfREVWX0lERURNQV9QTUFDIiA9
ICJ5IiAtbyBcDQogICAgICAgICAgIiRDT05GSUdfQkxLX0RFVl9JREVETUFf
SUNTIiA9ICJ5IiBdOyB0aGVuDQogICAgICAgZGVmaW5lX2Jvb2wgQ09ORklH
X0JMS19ERVZfSURFRE1BIHkNCisgICAgICBpZiBbICIkQ09ORklHX0lERURN
QV9QQ0lfQVVUTyIgPSAieSIgLW8gXA0KKyAgICAgICAgICAgIiRDT05GSUdf
SURFRE1BX1BNQUNfQVVUTyIgPSAieSIgLW8gXA0KKyAgICAgICAgICAgIiRD
T05GSUdfSURFRE1BX0lDU19BVVRPIiA9ICJ5IiBdOyB0aGVuDQorICAgICAg
ICBkZWZpbmVfYm9vbCBDT05GSUdfSURFRE1BX0FVVE8geQ0KKyAgICAgIGZp
DQogICAgIGZpDQogICAgIGJvb2wgJyAgIE90aGVyIElERSBjaGlwc2V0IHN1
cHBvcnQnIENPTkZJR19JREVfQ0hJUFNFVFMNCiAgICAgaWYgWyAiJENPTkZJ
R19JREVfQ0hJUFNFVFMiID0gInkiIF07IHRoZW4NCmRpZmYgLXVyTiBsaW51
eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWRpc2suYyBs
aW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1kaXNrLmMNCi0tLSBsaW51eC0yLjMu
OS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLWRpc2suYwlUaHUgSnVu
IDI0IDAwOjEwOjQwIDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lk
ZS1kaXNrLmMJVGh1IEp1biAyNCAwMDo1MTo0NiAxOTk5DQpAQCAtODU2LDEx
ICs4NTYsMTYgQEANCiAJaWRlX2RyaXZlX3QgKmRyaXZlOw0KIAlpbnQgZmFp
bGVkID0gMDsNCiANCi0Jd2hpbGUgKChkcml2ZSA9IGlkZV9zY2FuX2Rldmlj
ZXMgKGlkZV9kaXNrLCBpZGVkaXNrX2RyaXZlci5uYW1lLCAmaWRlZGlza19k
cml2ZXIsIGZhaWxlZCkpICE9IE5VTEwpDQorCXdoaWxlICgoZHJpdmUgPSBp
ZGVfc2Nhbl9kZXZpY2VzIChpZGVfZGlzaywgaWRlZGlza19kcml2ZXIubmFt
ZSwgJmlkZWRpc2tfZHJpdmVyLCBmYWlsZWQpKSAhPSBOVUxMKSB7DQogCQlp
ZiAoaWRlZGlza19jbGVhbnVwIChkcml2ZSkpIHsNCiAJCQlwcmludGsgKEtF
Uk5fRVJSICIlczogY2xlYW51cF9tb2R1bGUoKSBjYWxsZWQgd2hpbGUgc3Rp
bGwgYnVzeVxuIiwgZHJpdmUtPm5hbWUpOw0KIAkJCWZhaWxlZCsrOw0KIAkJ
fQ0KKwkJLyogV2UgbXVzdCByZW1vdmUgcHJvYyBlbnRyaWVzIGRlZmluZWQg
aW4gdGhpcyBtb2R1bGUuDQorCQkgICBPdGhlcndpc2Ugd2Ugb29wcyB3aGls
ZSBhY2Nlc3NpbmcgdGhlc2UgZW50cmllcyAqLw0KKwkJaWYgKGRyaXZlLT5w
cm9jKQ0KKwkJCWlkZV9yZW1vdmVfcHJvY19lbnRyaWVzKGRyaXZlLT5wcm9j
LCBpZGVkaXNrX3Byb2MpOw0KKwl9DQogCWlkZV91bnJlZ2lzdGVyX21vZHVs
ZSgmaWRlZGlza19tb2R1bGUpOw0KIH0NCiAjZW5kaWYgLyogTU9EVUxFICov
DQpkaWZmIC11ck4gbGludXgtMi4zLjktMS1wcmlzdGluZS9kcml2ZXJzL2Js
b2NrL2lkZS1mbG9wcHkuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1mbG9w
cHkuYw0KLS0tIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJpdmVycy9ibG9j
ay9pZGUtZmxvcHB5LmMJVGh1IEp1biAyNCAwMDoxMDo0MCAxOTk5DQorKysg
bGludXgvZHJpdmVycy9ibG9jay9pZGUtZmxvcHB5LmMJVGh1IEp1biAyNCAw
MDo1MTo0NiAxOTk5DQpAQCAtMTYzMCwxMSArMTYzMCwxNiBAQA0KIAlpZGVf
ZHJpdmVfdCAqZHJpdmU7DQogCWludCBmYWlsZWQgPSAwOw0KIA0KLQl3aGls
ZSAoKGRyaXZlID0gaWRlX3NjYW5fZGV2aWNlcyAoaWRlX2Zsb3BweSwgaWRl
ZmxvcHB5X2RyaXZlci5uYW1lLCAmaWRlZmxvcHB5X2RyaXZlciwgZmFpbGVk
KSkgIT0gTlVMTCkNCisJd2hpbGUgKChkcml2ZSA9IGlkZV9zY2FuX2Rldmlj
ZXMgKGlkZV9mbG9wcHksIGlkZWZsb3BweV9kcml2ZXIubmFtZSwgJmlkZWZs
b3BweV9kcml2ZXIsIGZhaWxlZCkpICE9IE5VTEwpIHsNCiAJCWlmIChpZGVm
bG9wcHlfY2xlYW51cCAoZHJpdmUpKSB7DQogCQkJcHJpbnRrICgiJXM6IGNs
ZWFudXBfbW9kdWxlKCkgY2FsbGVkIHdoaWxlIHN0aWxsIGJ1c3lcbiIsIGRy
aXZlLT5uYW1lKTsNCiAJCQlmYWlsZWQrKzsNCiAJCX0NCisJCS8qIFdlIG11
c3QgcmVtb3ZlIHByb2MgZW50cmllcyBkZWZpbmVkIGluIHRoaXMgbW9kdWxl
Lg0KKwkJICAgT3RoZXJ3aXNlIHdlIG9vcHMgd2hpbGUgYWNjZXNzaW5nIHRo
ZXNlIGVudHJpZXMgKi8NCisJCWlmIChkcml2ZS0+cHJvYykNCisJCQlpZGVf
cmVtb3ZlX3Byb2NfZW50cmllcyhkcml2ZS0+cHJvYywgaWRlZmxvcHB5X3By
b2MpOw0KKwl9DQogCWlkZV91bnJlZ2lzdGVyX21vZHVsZSgmaWRlZmxvcHB5
X21vZHVsZSk7DQogfQ0KICNlbmRpZiAvKiBNT0RVTEUgKi8NCmRpZmYgLXVy
TiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLXBj
aS5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLXBjaS5jDQotLS0gbGludXgt
Mi4zLjktMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS1wY2kuYwlUaHUg
SnVuIDI0IDAwOjEwOjQwIDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Jsb2Nr
L2lkZS1wY2kuYwlUaHUgSnVuIDI0IDAwOjUxOjQ2IDE5OTkNCkBAIC0yOSw2
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
IC01NDgsNiArNTUwLDggQEANCiAJCQljb250aW51ZTsJLyogT1BUSSBWaXBl
ci1NIHVzZXMgc2FtZSBkZXZpZCBmb3IgZnVuY3Rpb25zIDAgYW5kIDEgKi8N
CiAJCWVsc2UgaWYgKElERV9QQ0lfREVWSURfRVEoZC0+ZGV2aWQsIERFVklE
X0NZODJDNjkzKSAmJiAoIShQQ0lfRlVOQyhkZXYtPmRldmZuKSAmIDEpIHx8
ICEoKGRldi0+Y2xhc3MgPj4gOCkgPT0gUENJX0NMQVNTX1NUT1JBR0VfSURF
KSkpDQogCQkJY29udGludWU7CS8qIENZODJDNjkzIGlzIG1vcmUgdGhhbiBv
bmx5IGEgSURFIGNvbnRyb2xsZXIgKi8NCisJCWVsc2UgaWYgKElERV9QQ0lf
REVWSURfRVEoZC0+ZGV2aWQsIERFVklEX1VNODg4NkEpICYmICEoUENJX0ZV
TkMoZGV2LT5kZXZmbikgJiAxKSkNCisJCQljb250aW51ZTsJLyogVU04ODg2
QS9CRiBwYWlyICovDQogCQllbHNlIGlmICghSURFX1BDSV9ERVZJRF9FUShk
LT5kZXZpZCwgSURFX1BDSV9ERVZJRF9OVUxMKSB8fCAoZGV2LT5jbGFzcyA+
PiA4KSA9PSBQQ0lfQ0xBU1NfU1RPUkFHRV9JREUpIHsNCiAJCQlpZiAoSURF
X1BDSV9ERVZJRF9FUShkLT5kZXZpZCwgSURFX1BDSV9ERVZJRF9OVUxMKSkN
CiAJCQkJcHJpbnRrKCIlczogdW5rbm93biBJREUgY29udHJvbGxlciBvbiBQ
Q0kgYnVzICUwMnggZGV2aWNlICUwMngsIFZJRD0lMDR4LCBESUQ9JTA0eFxu
IiwNCmRpZmYgLXVyTiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMv
YmxvY2svaWRlLXBtYWMuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS1wbWFj
LmMNCi0tLSBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2sv
aWRlLXBtYWMuYwlUaHUgSnVuIDI0IDAwOjEwOjQwIDE5OTkNCisrKyBsaW51
eC9kcml2ZXJzL2Jsb2NrL2lkZS1wbWFjLmMJVGh1IEp1biAyNCAwMDo1MTo0
NiAxOTk5DQpAQCAtMjE4LDkgKzIxOCw5IEBADQogCX0NCiANCiAJaHdpZi0+
ZG1hcHJvYyA9ICZwbWFjX2lkZV9kbWFwcm9jOw0KLSNpZmRlZiBDT05GSUdf
UE1BQ19JREVETUFfQVVUTw0KKyNpZmRlZiBDT05GSUdfSURFRE1BX1BNQUNf
QVVUTw0KIAlod2lmLT5hdXRvZG1hID0gMTsNCi0jZW5kaWYNCisjZW5kaWYg
LyogQ09ORklHX0lERURNQV9QTUFDX0FVVE8gKi8NCiB9DQogDQogLyoNCmRp
ZmYgLXVyTiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2sv
aWRlLXByb2JlLmMgbGludXgvZHJpdmVycy9ibG9jay9pZGUtcHJvYmUuYw0K
LS0tIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJpdmVycy9ibG9jay9pZGUt
cHJvYmUuYwlUaHUgSnVuIDI0IDAwOjEwOjQwIDE5OTkNCisrKyBsaW51eC9k
cml2ZXJzL2Jsb2NrL2lkZS1wcm9iZS5jCVRodSBKdW4gMjQgMDA6NTE6NDYg
MTk5OQ0KQEAgLTg0NSw3ICs4NDUsOSBAQA0KIAkNCiAJZm9yIChpbmRleCA9
IDA7IGluZGV4IDwgTUFYX0hXSUZTOyArK2luZGV4KQ0KIAkJaWRlX3VucmVn
aXN0ZXIoaW5kZXgpOw0KLQlyZXR1cm4gaWRlcHJvYmVfaW5pdCgpOw0KKwlp
ZGVwcm9iZV9pbml0KCk7DQorCWNyZWF0ZV9wcm9jX2lkZV9pbnRlcmZhY2Vz
KCk7DQorCXJldHVybiAwOw0KIH0NCiANCiB2b2lkIGNsZWFudXBfbW9kdWxl
ICh2b2lkKQ0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJp
dmVycy9ibG9jay9pZGUtcHJvYy5jIGxpbnV4L2RyaXZlcnMvYmxvY2svaWRl
LXByb2MuYw0KLS0tIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJpdmVycy9i
bG9jay9pZGUtcHJvYy5jCVRodSBKdW4gMjQgMDA6MTA6NDAgMTk5OQ0KKysr
IGxpbnV4L2RyaXZlcnMvYmxvY2svaWRlLXByb2MuYwlUaHUgSnVuIDI0IDAw
OjUxOjQ2IDE5OTkNCkBAIC0xMTIsNiArMTEyLDggQEANCiAJcmV0dXJuIC1F
SU5WQUw7DQogfQ0KIA0KK3N0YXRpYyBzdHJ1Y3QgcHJvY19kaXJfZW50cnkg
KiBwcm9jX2lkZV9yb290ID0gTlVMTDsNCisNCiBzdGF0aWMgaW50IHByb2Nf
aWRlX3dyaXRlX2NvbmZpZw0KIAkoc3RydWN0IGZpbGUgKmZpbGUsIGNvbnN0
IGNoYXIgKmJ1ZmZlciwgdW5zaWduZWQgbG9uZyBjb3VudCwgdm9pZCAqZGF0
YSkNCiB7DQpAQCAtMzg0LDcgKzM4Niw3IEBADQogCWlkZV9kcml2ZV90CSpk
cml2ZSA9IChpZGVfZHJpdmVfdCAqKWRhdGE7DQogCWludAkJbGVuID0gMCwg
aSA9IDA7DQogDQotCWlmICghcHJvY19pZGVfZ2V0X2lkZW50aWZ5KGRyaXZl
LCBwYWdlKSkgew0KKwlpZiAoZHJpdmUgJiYgIXByb2NfaWRlX2dldF9pZGVu
dGlmeShkcml2ZSwgcGFnZSkpIHsNCiAJCXVuc2lnbmVkIHNob3J0ICp2YWwg
PSAoKHVuc2lnbmVkIHNob3J0ICopcGFnZSkgKyAyOw0KIAkJY2hhciAqb3V0
ID0gKChjaGFyICopdmFsKSArIChTRUNUT1JfV09SRFMgKiA0KTsNCiAJCXBh
Z2UgPSBvdXQ7DQpAQCAtMzk0LDYgKzM5Niw4IEBADQogCQl9IHdoaWxlIChp
IDwgKFNFQ1RPUl9XT1JEUyAqIDIpKTsNCiAJCWxlbiA9IG91dCAtIHBhZ2U7
DQogCX0NCisJZWxzZQ0KKwkJbGVuID0gc3ByaW50ZihwYWdlLCAiXG4iKTsN
CiAJUFJPQ19JREVfUkVBRF9SRVRVUk4ocGFnZSxzdGFydCxvZmYsY291bnQs
ZW9mLGxlbik7DQogfQ0KIA0KQEAgLTUyNSw4ICs1MjksOCBAQA0KIAljaGFy
CQkqb3V0ID0gcGFnZTsNCiAJaW50CQlsZW47DQogDQotCW91dCArPSBzcHJp
bnRmKG91dCwicGh5c2ljYWwgICAgICVoaS8laGkvJWhpXG4iLCBkcml2ZS0+
Y3lsLCBkcml2ZS0+aGVhZCwgZHJpdmUtPnNlY3QpOw0KLQlvdXQgKz0gc3By
aW50ZihvdXQsImxvZ2ljYWwgICAgICAlaGkvJWhpLyVoaVxuIiwgZHJpdmUt
PmJpb3NfY3lsLCBkcml2ZS0+Ymlvc19oZWFkLCBkcml2ZS0+Ymlvc19zZWN0
KTsNCisJb3V0ICs9IHNwcmludGYob3V0LCJwaHlzaWNhbCAgICAgJWQvJWQv
JWRcbiIsIGRyaXZlLT5jeWwsIGRyaXZlLT5oZWFkLCBkcml2ZS0+c2VjdCk7
DQorCW91dCArPSBzcHJpbnRmKG91dCwibG9naWNhbCAgICAgICVkLyVkLyVk
XG4iLCBkcml2ZS0+Ymlvc19jeWwsIGRyaXZlLT5iaW9zX2hlYWQsIGRyaXZl
LT5iaW9zX3NlY3QpOw0KIAlsZW4gPSBvdXQgLSBwYWdlOw0KIAlQUk9DX0lE
RV9SRUFEX1JFVFVSTihwYWdlLHN0YXJ0LG9mZixjb3VudCxlb2YsbGVuKTsN
CiB9DQpAQCAtNjM0LDIxICs2MzgsMzAgQEANCiAJcmV0dXJuIHNwcmludGYo
cGFnZSwgImlkZSVkLyVzIiwgbiwgZGUtPm5hbWUpOw0KIH0NCiANCi1zdGF0
aWMgdm9pZCBjcmVhdGVfcHJvY19pZGVfZHJpdmVzIChpZGVfaHdpZl90ICpo
d2lmLCBzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKnBhcmVudCwgc3RydWN0IHBy
b2NfZGlyX2VudHJ5ICpyb290KQ0KK3N0YXRpYyB2b2lkIGNyZWF0ZV9wcm9j
X2lkZV9kcml2ZXMoaWRlX2h3aWZfdCAqaHdpZikNCiB7DQogCWludAlkOw0K
IAlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudDsNCisJc3RydWN0IHByb2Nf
ZGlyX2VudHJ5ICpwYXJlbnQgPSBod2lmLT5wcm9jOw0KIA0KIAlmb3IgKGQg
PSAwOyBkIDwgTUFYX0RSSVZFUzsgZCsrKSB7DQogCQlpZGVfZHJpdmVfdCAq
ZHJpdmUgPSAmaHdpZi0+ZHJpdmVzW2RdOw0KKwkJaWRlX2RyaXZlcl90ICpk
cml2ZXIgPSBkcml2ZS0+ZHJpdmVyOw0KIA0KIAkJaWYgKCFkcml2ZS0+cHJl
c2VudCkNCiAJCQljb250aW51ZTsNCi0JCWRyaXZlLT5wcm9jID0gY3JlYXRl
X3Byb2NfZW50cnkoZHJpdmUtPm5hbWUsIFNfSUZESVIsIHBhcmVudCk7DQog
CQlpZiAoZHJpdmUtPnByb2MpDQotCQkJaWRlX2FkZF9wcm9jX2VudHJpZXMo
ZHJpdmUtPnByb2MsIGdlbmVyaWNfZHJpdmVfZW50cmllcywgZHJpdmUpOw0K
KwkJCWNvbnRpbnVlOw0KIA0KLQkJZW50ID0gY3JlYXRlX3Byb2NfZW50cnko
ZHJpdmUtPm5hbWUsIFNfSUZMTksgfCBTX0lSVUdPIHwgU19JV1VHTyB8IFNf
SVhVR08sIHJvb3QpOw0KKwkJZHJpdmUtPnByb2MgPSBjcmVhdGVfcHJvY19l
bnRyeShkcml2ZS0+bmFtZSwgU19JRkRJUiwgcGFyZW50KTsNCisJCWlmIChk
cml2ZS0+cHJvYykgew0KKwkJCWlkZV9hZGRfcHJvY19lbnRyaWVzKGRyaXZl
LT5wcm9jLCBnZW5lcmljX2RyaXZlX2VudHJpZXMsIGRyaXZlKTsNCisJCQlp
ZiAoZHJpdmVyKSB7DQorCQkJCWlkZV9hZGRfcHJvY19lbnRyaWVzKGRyaXZl
LT5wcm9jLCBnZW5lcmljX3N1YmRyaXZlcl9lbnRyaWVzLCBkcml2ZSk7DQor
CQkJCWlkZV9hZGRfcHJvY19lbnRyaWVzKGRyaXZlLT5wcm9jLCBkcml2ZXIt
PnByb2MsIGRyaXZlKTsNCisJCQl9DQorCQl9DQorCQllbnQgPSBjcmVhdGVf
cHJvY19lbnRyeShkcml2ZS0+bmFtZSwgU19JRkxOSyB8IFNfSVJVR08gfCBT
X0lXVUdPIHwgU19JWFVHTywgcHJvY19pZGVfcm9vdCk7DQogCQlpZiAoIWVu
dCkgcmV0dXJuOw0KIAkJZW50LT5kYXRhID0gZHJpdmU7DQogCQllbnQtPnJl
YWRsaW5rX3Byb2MgPSBwcm9jX2lkZV9yZWFkbGluazsNCkBAIC02NTYsNiAr
NjY5LDI1IEBADQogCX0NCiB9DQogDQordm9pZCBkZXN0cm95X3Byb2NfaWRl
X2RyaXZlcyhpZGVfaHdpZl90ICpod2lmKQ0KK3sNCisJaW50CWQ7DQorDQor
CWZvciAoZCA9IDA7IGQgPCBNQVhfRFJJVkVTOyBkKyspIHsNCisJCWlkZV9k
cml2ZV90ICpkcml2ZSA9ICZod2lmLT5kcml2ZXNbZF07DQorCQlpZGVfZHJp
dmVyX3QgKmRyaXZlciA9IGRyaXZlLT5kcml2ZXI7DQorDQorCQlpZiAoIWRy
aXZlLT5wcm9jKQ0KKwkJCWNvbnRpbnVlOw0KKwkJaWYgKGRyaXZlcikNCisJ
CQlpZGVfcmVtb3ZlX3Byb2NfZW50cmllcyhkcml2ZS0+cHJvYywgZHJpdmVy
LT5wcm9jKTsNCisJCWlkZV9yZW1vdmVfcHJvY19lbnRyaWVzKGRyaXZlLT5w
cm9jLCBnZW5lcmljX2RyaXZlX2VudHJpZXMpOw0KKwkJcmVtb3ZlX3Byb2Nf
ZW50cnkoZHJpdmUtPm5hbWUsIHByb2NfaWRlX3Jvb3QpOw0KKwkJcmVtb3Zl
X3Byb2NfZW50cnkoZHJpdmUtPm5hbWUsIGh3aWYtPnByb2MpOw0KKwkJZHJp
dmUtPnByb2MgPSBOVUxMOw0KKwl9DQorfQ0KKw0KIHN0YXRpYyBpZGVfcHJv
Y19lbnRyeV90IGh3aWZfZW50cmllc1tdID0gew0KIAl7ICJjaGFubmVsIiwJ
U19JRlJFR3xTX0lSVUdPLAlwcm9jX2lkZV9yZWFkX2NoYW5uZWwsCU5VTEwg
fSwNCiAJeyAiY29uZmlnIiwJU19JRlJFR3xTX0lSVUdPfFNfSVdVU1IscHJv
Y19pZGVfcmVhZF9jb25maWcsCXByb2NfaWRlX3dyaXRlX2NvbmZpZyB9LA0K
QEAgLTY2NCw0MiArNjk2LDY2IEBADQogCXsgTlVMTCwJMCwgTlVMTCwgTlVM
TCB9DQogfTsNCiANCi1zdGF0aWMgdm9pZCBjcmVhdGVfcHJvY19pZGVfaW50
ZXJmYWNlcyAoc3RydWN0IHByb2NfZGlyX2VudHJ5ICpwYXJlbnQpDQordm9p
ZCBjcmVhdGVfcHJvY19pZGVfaW50ZXJmYWNlcyh2b2lkKQ0KIHsNCiAJaW50
CWg7DQotCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqaHdpZl9lbnQ7DQogDQog
CWZvciAoaCA9IDA7IGggPCBNQVhfSFdJRlM7IGgrKykgew0KIAkJaWRlX2h3
aWZfdCAqaHdpZiA9ICZpZGVfaHdpZnNbaF07DQorCQlpbnQgZXhpc3QgPSAo
aHdpZi0+cHJvYyAhPSBOVUxMKTsNCiANCiAJCWlmICghaHdpZi0+cHJlc2Vu
dCkNCiAJCQljb250aW51ZTsNCi0JCWh3aWZfZW50ID0gY3JlYXRlX3Byb2Nf
ZW50cnkoaHdpZi0+bmFtZSwgU19JRkRJUiwgcGFyZW50KTsNCi0JCWlmICgh
aHdpZl9lbnQpIHJldHVybjsNCi0JCWlkZV9hZGRfcHJvY19lbnRyaWVzKGh3
aWZfZW50LCBod2lmX2VudHJpZXMsIGh3aWYpOw0KLQkJY3JlYXRlX3Byb2Nf
aWRlX2RyaXZlcyhod2lmLCBod2lmX2VudCwgcGFyZW50KTsNCisJCWlmICgh
ZXhpc3QpDQorCQkJaHdpZi0+cHJvYyA9IGNyZWF0ZV9wcm9jX2VudHJ5KGh3
aWYtPm5hbWUsIFNfSUZESVIsIHByb2NfaWRlX3Jvb3QpOw0KKwkJaWYgKCFo
d2lmLT5wcm9jKQ0KKwkJCXJldHVybjsNCisJCWlmICghZXhpc3QpDQorCQkJ
aWRlX2FkZF9wcm9jX2VudHJpZXMoaHdpZi0+cHJvYywgaHdpZl9lbnRyaWVz
LCBod2lmKTsNCisJCWNyZWF0ZV9wcm9jX2lkZV9kcml2ZXMoaHdpZik7DQor
CX0NCit9DQorDQorc3RhdGljIHZvaWQgZGVzdHJveV9wcm9jX2lkZV9pbnRl
cmZhY2VzKHZvaWQpDQorew0KKwlpbnQJaDsNCisNCisJZm9yIChoID0gMDsg
aCA8IE1BWF9IV0lGUzsgaCsrKSB7DQorCQlpZGVfaHdpZl90ICpod2lmID0g
JmlkZV9od2lmc1toXTsNCisJCWludCBleGlzdCA9IChod2lmLT5wcm9jICE9
IE5VTEwpOw0KKw0KKy8qCQlpZiAoIWh3aWYtPnByZXNlbnQpDQorCQkJY29u
dGludWU7Ki8NCisJCWlmICghaHdpZi0+cHJvYykNCisJCQljb250aW51ZTsN
CisJCWVsc2Ugew0KKwkJCWRlc3Ryb3lfcHJvY19pZGVfZHJpdmVzKGh3aWYp
Ow0KKwkJCWlkZV9yZW1vdmVfcHJvY19lbnRyaWVzKGh3aWYtPnByb2MsIGh3
aWZfZW50cmllcyk7DQorCQkJcmVtb3ZlX3Byb2NfZW50cnkoaHdpZi0+bmFt
ZSwgcHJvY19pZGVfcm9vdCk7DQorCQkJaHdpZi0+cHJvYyA9IE5VTEw7DQor
CQl9DQogCX0NCiB9DQogDQogdm9pZCBwcm9jX2lkZV9jcmVhdGUodm9pZCkN
CiB7DQotCXN0cnVjdCBwcm9jX2Rpcl9lbnRyeSAqcm9vdCwgKmVudDsNCi0J
cm9vdCA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJpZGUiLCBTX0lGRElSLCAwKTsN
Ci0JaWYgKCFyb290KSByZXR1cm47DQotCWNyZWF0ZV9wcm9jX2lkZV9pbnRl
cmZhY2VzKHJvb3QpOw0KKwlzdHJ1Y3QgcHJvY19kaXJfZW50cnkgKmVudDsN
CisJcHJvY19pZGVfcm9vdCA9IGNyZWF0ZV9wcm9jX2VudHJ5KCJpZGUiLCBT
X0lGRElSLCAwKTsNCisJaWYgKCFwcm9jX2lkZV9yb290KSByZXR1cm47DQor
CWNyZWF0ZV9wcm9jX2lkZV9pbnRlcmZhY2VzKCk7DQogDQotCWVudCA9IGNy
ZWF0ZV9wcm9jX2VudHJ5KCJkcml2ZXJzIiwgMCwgcm9vdCk7DQorCWVudCA9
IGNyZWF0ZV9wcm9jX2VudHJ5KCJkcml2ZXJzIiwgMCwgcHJvY19pZGVfcm9v
dCk7DQogCWlmICghZW50KSByZXR1cm47DQogCWVudC0+cmVhZF9wcm9jICA9
IHByb2NfaWRlX3JlYWRfZHJpdmVyczsNCiAjaWZkZWYgQ09ORklHX0JMS19E
RVZfVklBODJDNTg2DQogCWlmICh2aWFfZGlzcGxheV9pbmZvKSB7DQotCQll
bnQgPSBjcmVhdGVfcHJvY19lbnRyeSgidmlhIiwgMCwgcm9vdCk7DQorCQll
bnQgPSBjcmVhdGVfcHJvY19lbnRyeSgidmlhIiwgMCwgcHJvY19pZGVfcm9v
dCk7DQogCQllbnQtPmdldF9pbmZvID0gdmlhX2Rpc3BsYXlfaW5mbzsNCiAJ
fQ0KICNlbmRpZiAvKiBDT05GSUdfQkxLX0RFVl9WSUE4MkM1ODYgKi8NCiAj
aWZkZWYgQ09ORklHX0JMS19ERVZfQUxJMTVYMw0KIAlpZiAoYWxpX2Rpc3Bs
YXlfaW5mbykgew0KLQkJZW50ID0gY3JlYXRlX3Byb2NfZW50cnkoImFsaSIs
IDAsIHJvb3QpOw0KKwkJZW50ID0gY3JlYXRlX3Byb2NfZW50cnkoImFsaSIs
IDAsIHByb2NfaWRlX3Jvb3QpOw0KIAkJZW50LT5nZXRfaW5mbyA9IGFsaV9k
aXNwbGF5X2luZm87DQogCX0NCiAjZW5kaWYgLyogQ09ORklHX0JMS19ERVZf
QUxJMTVYMyAqLw0KQEAgLTcyMCw1ICs3NzYsNiBAQA0KIAkJcmVtb3ZlX3By
b2NfZW50cnkoImlkZS9hbGkiLDApOw0KICNlbmRpZiAvKiBDT05GSUdfQkxL
X0RFVl9BTEkxNVgzICovDQogCXJlbW92ZV9wcm9jX2VudHJ5KCJpZGUvZHJp
dmVycyIsIDApOw0KKwlkZXN0cm95X3Byb2NfaWRlX2ludGVyZmFjZXMoKTsN
CiAJcmVtb3ZlX3Byb2NfZW50cnkoImlkZSIsIDApOw0KIH0NCmRpZmYgLXVy
TiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLXRh
cGUuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS10YXBlLmMNCi0tLSBsaW51
eC0yLjMuOS0xLXByaXN0aW5lL2RyaXZlcnMvYmxvY2svaWRlLXRhcGUuYwlU
aHUgSnVuIDI0IDAwOjEwOjQwIDE5OTkNCisrKyBsaW51eC9kcml2ZXJzL2Js
b2NrL2lkZS10YXBlLmMJVGh1IEp1biAyNCAwMDo1MTo0NiAxOTk5DQpAQCAt
MzgxNCw4ICszODE0LDE0IEBADQogDQogCWZvciAobWlub3IgPSAwOyBtaW5v
ciA8IE1BWF9IV0lGUyAqIE1BWF9EUklWRVM7IG1pbm9yKyspIHsNCiAJCWRy
aXZlID0gaWRldGFwZV9jaHJkZXZzW21pbm9yXS5kcml2ZTsNCi0JCWlmIChk
cml2ZSAhPSBOVUxMICYmIGlkZXRhcGVfY2xlYW51cCAoZHJpdmUpKQ0KLQkJ
CXByaW50ayAoS0VSTl9FUlIgImlkZS10YXBlOiAlczogY2xlYW51cF9tb2R1
bGUoKSBjYWxsZWQgd2hpbGUgc3RpbGwgYnVzeVxuIiwgZHJpdmUtPm5hbWUp
Ow0KKwkJaWYgKGRyaXZlKSB7DQorCQkJaWYgKGlkZXRhcGVfY2xlYW51cCAo
ZHJpdmUpKQ0KKwkJCQlwcmludGsgKEtFUk5fRVJSICJpZGUtdGFwZTogJXM6
IGNsZWFudXBfbW9kdWxlKCkgY2FsbGVkIHdoaWxlIHN0aWxsIGJ1c3lcbiIs
IGRyaXZlLT5uYW1lKTsNCisJCQkvKiBXZSBtdXN0IHJlbW92ZSBwcm9jIGVu
dHJpZXMgZGVmaW5lZCBpbiB0aGlzIG1vZHVsZS4NCisJCQkgICBPdGhlcndp
c2Ugd2Ugb29wcyB3aGlsZSBhY2Nlc3NpbmcgdGhlc2UgZW50cmllcyAqLw0K
KwkJCWlmIChkcml2ZS0+cHJvYykNCisJCQkJaWRlX3JlbW92ZV9wcm9jX2Vu
dHJpZXMoZHJpdmUtPnByb2MsIGlkZXRhcGVfcHJvYyk7DQorCQl9DQogCX0N
CiAJaWRlX3VucmVnaXN0ZXJfbW9kdWxlKCZpZGV0YXBlX21vZHVsZSk7DQog
fQ0KZGlmZiAtdXJOIGxpbnV4LTIuMy45LTEtcHJpc3RpbmUvZHJpdmVycy9i
bG9jay9pZGUuYyBsaW51eC9kcml2ZXJzL2Jsb2NrL2lkZS5jDQotLS0gbGlu
dXgtMi4zLjktMS1wcmlzdGluZS9kcml2ZXJzL2Jsb2NrL2lkZS5jCVRodSBK
dW4gMjQgMDA6MTA6NDAgMTk5OQ0KKysrIGxpbnV4L2RyaXZlcnMvYmxvY2sv
aWRlLmMJVGh1IEp1biAyNCAwMDo1MTo0NyAxOTk5DQpAQCAtMTc0OCw2ICsx
NzQ4LDEzIEBADQogCXJldHVybiAxOw0KIH0NCiANCisjaWZkZWYgQ09ORklH
X1BST0NfRlMNCitpZGVfcHJvY19lbnRyeV90IGdlbmVyaWNfc3ViZHJpdmVy
X2VudHJpZXNbXSA9IHsNCisJeyAiY2FwYWNpdHkiLAlTX0lGUkVHfFNfSVJV
R08sCXByb2NfaWRlX3JlYWRfY2FwYWNpdHksCU5VTEwgfSwNCisJeyBOVUxM
LCAwLCBOVUxMLCBOVUxMIH0NCit9Ow0KKyNlbmRpZg0KKw0KIHZvaWQgaWRl
X3VucmVnaXN0ZXIgKHVuc2lnbmVkIGludCBpbmRleCkNCiB7DQogCXN0cnVj
dCBnZW5kaXNrICpnZCwgKipnZHA7DQpAQCAtMTc1Nyw2ICsxNzY0LDcgQEAN
CiAJaW50IGlycV9jb3VudCA9IDAsIHVuaXQsIGk7DQogCXVuc2lnbmVkIGxv
bmcgZmxhZ3M7DQogCXVuc2lnbmVkIGludCBwLCBtaW5vcjsNCisJaWRlX2h3
aWZfdCBvbGRfaHdpZjsNCiANCiAJaWYgKGluZGV4ID49IE1BWF9IV0lGUykN
CiAJCXJldHVybjsNCkBAIC0xNzkzLDYgKzE4MDEsOSBAQA0KIAkJCQlpbnZh
bGlkYXRlX2J1ZmZlcnMgKGRldnApOw0KIAkJCX0NCiAJCX0NCisjaWZkZWYg
Q09ORklHX1BST0NfRlMNCisJCWRlc3Ryb3lfcHJvY19pZGVfZHJpdmVzKGh3
aWYpOw0KKyNlbmRpZg0KIAl9DQogCWNsaSgpOw0KIAlod2dyb3VwID0gaHdp
Zi0+aHdncm91cDsNCkBAIC0xODc1LDcgKzE4ODYsMjEgQEANCiAJCWtmcmVl
KGdkLT5wYXJ0KTsNCiAJCWtmcmVlKGdkKTsNCiAJfQ0KKwlvbGRfaHdpZiA9
ICpod2lmOw0KIAlpbml0X2h3aWZfZGF0YSAoaW5kZXgpOwkvKiByZXN0b3Jl
IGh3aWYgZGF0YSB0byBwcmlzdGluZSBzdGF0dXMgKi8NCisJaHdpZi0+aHdn
cm91cCA9IG9sZF9od2lmLmh3Z3JvdXA7DQorCWh3aWYtPnR1bmVwcm9jID0g
b2xkX2h3aWYudHVuZXByb2M7DQorCWh3aWYtPmRtYXByb2MgPSBvbGRfaHdp
Zi5kbWFwcm9jOw0KKwlod2lmLT5kbWFfYmFzZSA9IG9sZF9od2lmLmRtYV9i
YXNlOw0KKwlod2lmLT5kbWFfZXh0cmEgPSBvbGRfaHdpZi5kbWFfZXh0cmE7
DQorCWh3aWYtPmNvbmZpZ19kYXRhID0gb2xkX2h3aWYuY29uZmlnX2RhdGE7
DQorCWh3aWYtPnNlbGVjdF9kYXRhID0gb2xkX2h3aWYuc2VsZWN0X2RhdGE7
DQorCWh3aWYtPmlycSA9IG9sZF9od2lmLmlycTsNCisJaHdpZi0+bWFqb3Ig
PSBvbGRfaHdpZi5tYWpvcjsNCisJaHdpZi0+cHJvYyA9IG9sZF9od2lmLnBy
b2M7DQorCWh3aWYtPmNoaXBzZXQgPSBvbGRfaHdpZi5jaGlwc2V0Ow0KKwlo
d2lmLT5wY2lfZGV2ID0gb2xkX2h3aWYucGNpX2RldjsNCisJaHdpZi0+cGNp
X2RldmlkID0gb2xkX2h3aWYucGNpX2RldmlkOw0KIGFib3J0Og0KIAlyZXN0
b3JlX2ZsYWdzKGZsYWdzKTsJLyogYWxsIENQVXMgKi8NCiB9DQpAQCAtMTk1
MCw2ICsxOTc1LDkgQEANCiANCiAJaWYgKCFpbml0aWFsaXppbmcpIHsNCiAJ
CWlkZV9pbml0X21vZHVsZShJREVfUFJPQkVfTU9EVUxFKTsNCisjaWZkZWYg
Q09ORklHX1BST0NfRlMNCisJCWNyZWF0ZV9wcm9jX2lkZV9pbnRlcmZhY2Vz
KCk7DQorI2VuZGlmDQogCQlpZGVfaW5pdF9tb2R1bGUoSURFX0RSSVZFUl9N
T0RVTEUpOw0KIAl9DQogDQpAQCAtMTk2Niw3ICsxOTk0LDYgQEANCiBpbnQg
aWRlX3JlZ2lzdGVyIChpbnQgYXJnMSwgaW50IGFyZzIsIGludCBpcnEpDQog
ew0KIAlod19yZWdzX3QgaHc7DQotDQogCWlkZV9pbml0X2h3aWZfcG9ydHMo
Jmh3LCAoaWRlX2lvcmVnX3QpIGFyZzEsIChpZGVfaW9yZWdfdCkgYXJnMiwg
TlVMTCk7DQogCWh3LmlycSA9IGlycTsNCiAJcmV0dXJuIGlkZV9yZWdpc3Rl
cl9odygmaHcsIE5VTEwpOw0KQEAgLTMyMzksMTMgKzMyNjYsNiBAQA0KIAly
ZXR1cm4gTlVMTDsNCiB9DQogDQotI2lmZGVmIENPTkZJR19QUk9DX0ZTDQot
c3RhdGljIGlkZV9wcm9jX2VudHJ5X3QgZ2VuZXJpY19zdWJkcml2ZXJfZW50
cmllc1tdID0gew0KLQl7ICJjYXBhY2l0eSIsCVNfSUZSRUd8U19JUlVHTywJ
cHJvY19pZGVfcmVhZF9jYXBhY2l0eSwJTlVMTCB9LA0KLQl7IE5VTEwsIDAs
IE5VTEwsIE5VTEwgfQ0KLX07DQotI2VuZGlmDQotDQogaW50IGlkZV9yZWdp
c3Rlcl9zdWJkcml2ZXIgKGlkZV9kcml2ZV90ICpkcml2ZSwgaWRlX2RyaXZl
cl90ICpkcml2ZXIsIGludCB2ZXJzaW9uKQ0KIHsNCiAJdW5zaWduZWQgbG9u
ZyBmbGFnczsNCkBAIC0zNDAxLDYgKzM0MjEsNyBAQA0KIEVYUE9SVF9TWU1C
T0woaWRlX2FkZF9wcm9jX2VudHJpZXMpOw0KIEVYUE9SVF9TWU1CT0woaWRl
X3JlbW92ZV9wcm9jX2VudHJpZXMpOw0KIEVYUE9SVF9TWU1CT0wocHJvY19p
ZGVfcmVhZF9nZW9tZXRyeSk7DQorRVhQT1JUX1NZTUJPTChjcmVhdGVfcHJv
Y19pZGVfaW50ZXJmYWNlcyk7DQogI2VuZGlmDQogRVhQT1JUX1NZTUJPTChp
ZGVfYWRkX3NldHRpbmcpOw0KIEVYUE9SVF9TWU1CT0woaWRlX3JlbW92ZV9z
ZXR0aW5nKTsNCmRpZmYgLXVyTiBsaW51eC0yLjMuOS0xLXByaXN0aW5lL2Ry
aXZlcnMvYmxvY2svcGRjNDAzMC5jIGxpbnV4L2RyaXZlcnMvYmxvY2svcGRj
NDAzMC5jDQotLS0gbGludXgtMi4zLjktMS1wcmlzdGluZS9kcml2ZXJzL2Js
b2NrL3BkYzQwMzAuYwlUaHUgSnVuIDI0IDAwOjEwOjQwIDE5OTkNCisrKyBs
aW51eC9kcml2ZXJzL2Jsb2NrL3BkYzQwMzAuYwlUaHUgSnVuIDI0IDAwOjUx
OjQ3IDE5OTkNCkBAIC0xLDUgKzEsNSBAQA0KIC8qICAtKi0gbGludXgtYyAt
Ki0NCi0gKiAgbGludXgvZHJpdmVycy9ibG9jay9wZGM0MDMwLmMJVmVyc2lv
biAwLjExICBNYXkgMTcsIDE5OTkNCisgKiAgbGludXgvZHJpdmVycy9ibG9j
ay9wZGM0MDMwLmMJVmVyc2lvbiAwLjkwICBNYXkgMjcsIDE5OTkNCiAgKg0K
ICAqICBDb3B5cmlnaHQgKEMpIDE5OTUtMTk5OSAgTGludXMgVG9ydmFsZHMg
JiBhdXRob3JzIChzZWUgYmVsb3cpDQogICovDQpAQCAtMzUsNiArMzUsOCBA
QA0KICAqICBWZXJzaW9uIDAuMTAJVXBkYXRlZCBmb3IgMi4xIHNlcmllcyBv
ZiBrZXJuZWxzDQogICogIFZlcnNpb24gMC4xMQlVcGRhdGVkIGZvciAyLjMg
c2VyaWVzIG9mIGtlcm5lbHMNCiAgKgkJCUF1dG9kZXRlY3Rpb24gY29kZSBh
ZGRlZC4NCisgKg0KKyAqICBWZXJzaW9uIDAuOTAJVHJhbnNpdGlvbiB0byBC
RVRBIGNvZGUuIE5vIGxvc3QvdW5leHBlY3RlZCBpbnRlcnJ1cHRzDQogICov
DQogDQogLyoNCkBAIC02OCw4ICs3MCw4IEBADQogICogYmVjYXVzZSBJIHN0
aWxsIGRvbid0IHVuZGVyc3RhbmQgd2hhdCB0aGUgY2FyZCBpcyBkb2luZyB3
aXRoIGludGVycnVwdHMuDQogICovDQogDQotI3VuZGVmIERFQlVHX1JFQUQN
Ci0jdW5kZWYgREVCVUdfV1JJVEUNCisjZGVmaW5lIERFQlVHX1JFQUQNCisj
ZGVmaW5lIERFQlVHX1dSSVRFDQogDQogI2luY2x1ZGUgPGxpbnV4L3R5cGVz
Lmg+DQogI2luY2x1ZGUgPGxpbnV4L2tlcm5lbC5oPg0KQEAgLTEwMCw3ICsx
MDIsOCBAQA0KIA0KIC8qDQogICogcGRjNDAzMF9jbWQgaGFuZGxlcyB0aGUg
c2V0IG9mIHZlbmRvciBzcGVjaWZpYyBjb21tYW5kcyB0aGF0IGFyZSBpbml0
aWF0ZWQNCi0gKiBieSBjb21tYW5kIEYwLiBUaGV5IGFsbCBoYXZlIHRoZSBz
YW1lIHN1Y2Nlc3MvZmFpbHVyZSBub3RpZmljYXRpb24uDQorICogYnkgY29t
bWFuZCBGMC4gVGhleSBhbGwgaGF2ZSB0aGUgc2FtZSBzdWNjZXNzL2ZhaWx1
cmUgbm90aWZpY2F0aW9uIC0NCisgKiAnUCcgKD0weDUwKSBvbiBzdWNjZXNz
LCAncCcgKD0weDcwKSBvbiBmYWlsdXJlLg0KICAqLw0KIGludCBwZGM0MDMw
X2NtZChpZGVfZHJpdmVfdCAqZHJpdmUsIGJ5dGUgY21kKQ0KIHsNCkBAIC0z
NTgsMTEgKzM2MSwxMSBAQA0KIAkJaWYgKHN0YXQgJiBEUlFfU1RBVCkNCiAJ
CQlnb3RvIHJlYWRfYWdhaW47DQogCQlpZiAoc3RhdCAmIEJVU1lfU1RBVCkg
ew0KKwkJCWlkZV9zZXRfaGFuZGxlciAoZHJpdmUsICZwcm9taXNlX3JlYWRf
aW50ciwgV0FJVF9DTUQpOw0KICNpZmRlZiBERUJVR19SRUFEDQogCQkJcHJp
bnRrKEtFUk5fREVCVUcgIiVzOiBwcm9taXNlX3JlYWQ6IHdhaXRpbmcgZm9y
Ig0KIAkJCSAgICAgICAiaW50ZXJydXB0XG4iLCBkcml2ZS0+bmFtZSk7DQog
I2VuZGlmIA0KLQkJCWlkZV9zZXRfaGFuZGxlciAoZHJpdmUsICZwcm9taXNl
X3JlYWRfaW50ciwgV0FJVF9DTUQpOw0KIAkJCXJldHVybjsNCiAJCX0NCiAJ
CXByaW50ayhLRVJOX0VSUiAiJXM6IEVlZWshIHByb21pc2VfcmVhZF9pbnRy
OiBzZWN0b3JzIGxlZnQgIg0KQEAgLTM3MiwzNyArMzc1LDM5IEBADQogfQ0K
IA0KIC8qDQotICogcHJvbWlzZV9maW5pc2hfd3JpdGUoKQ0KLSAqIGNhbGxl
ZCBhdCB0aGUgZW5kIG9mIGFsbCB3cml0ZXMNCisgKiBwcm9taXNlX2NvbXBs
ZXRlX3BvbGxmdW5jKCkNCisgKiBUaGlzIGlzIHRoZSBwb2xsaW5nIGZ1bmN0
aW9uIGZvciB3YWl0aW5nIChuaWNlbHkhKSB1bnRpbCBkcml2ZSBzdG9wcw0K
KyAqIGJlaW5nIGJ1c3kuIEl0IGlzIGludm9rZWQgYXQgdGhlIGVuZCBvZiBh
IHdyaXRlLCBhZnRlciB0aGUgcHJldmlvdXMgcG9sbA0KKyAqIGhhcyBmaW5p
c2hlZC4NCisgKg0KKyAqIE9uY2Ugbm90IGJ1c3ksIHRoZSBlbmQgcmVxdWVz
dCBpcyBjYWxsZWQuDQogICovDQotc3RhdGljIHZvaWQgcHJvbWlzZV9maW5p
c2hfd3JpdGUoaWRlX2RyaXZlX3QgKmRyaXZlKQ0KK3N0YXRpYyB2b2lkIHBy
b21pc2VfY29tcGxldGVfcG9sbGZ1bmMoaWRlX2RyaXZlX3QgKmRyaXZlKQ0K
IHsNCi0Jc3RydWN0IHJlcXVlc3QgKnJxID0gSFdHUk9VUChkcml2ZSktPnJx
Ow0KKwlpZGVfaHdncm91cF90ICpod2dyb3VwID0gSFdHUk9VUChkcml2ZSk7
DQorCXN0cnVjdCByZXF1ZXN0ICpycSA9IGh3Z3JvdXAtPnJxOw0KIAlpbnQg
aTsNCiANCi0JZm9yIChpID0gcnEtPm5yX3NlY3RvcnM7IGkgPiAwOyApIHsN
Ci0JCWkgLT0gcnEtPmN1cnJlbnRfbnJfc2VjdG9yczsNCi0JCWlkZV9lbmRf
cmVxdWVzdCgxLCBIV0dST1VQKGRyaXZlKSk7DQotCX0NCi19DQotDQotLyoN
Ci0gKiBwcm9taXNlX3dyaXRlX2ludHIoKQ0KLSAqIFRoaXMgaW50ZXJydXB0
IGlzIGNhbGxlZCBhZnRlciB0aGUgcGFydGljdWxhcmx5IG9kZCBwb2xsaW5n
IGZvciBjb21wbGV0aW9uDQotICogb2YgdGhlIHdyaXRlIHJlcXVlc3QsIG9u
Y2UgYWxsIHRoZSBkYXRhIGhhcyBiZWVuIHNlbnQuDQotICovIA0KLXN0YXRp
YyB2b2lkIHByb21pc2Vfd3JpdGVfaW50cihpZGVfZHJpdmVfdCAqZHJpdmUp
DQotew0KLQlieXRlIHN0YXQ7DQotDQotCWlmICghT0tfU1RBVChzdGF0PUdF
VF9TVEFUKCksRFJJVkVfUkVBRFksZHJpdmUtPmJhZF93c3RhdCkpIHsNCi0J
CWlkZV9lcnJvcihkcml2ZSwgInByb21pc2Vfd3JpdGVfaW50ciIsIHN0YXQp
Ow0KKwlpZiAoR0VUX1NUQVQoKSAmIEJVU1lfU1RBVCkgew0KKwkJaWYgKHRp
bWVfYmVmb3JlKGppZmZpZXMsIGh3Z3JvdXAtPnBvbGxfdGltZW91dCkpIHsN
CisJCQlpZGVfc2V0X2hhbmRsZXIoZHJpdmUsICZwcm9taXNlX2NvbXBsZXRl
X3BvbGxmdW5jLCAxKTsNCisJCQlyZXR1cm47IC8qIGNvbnRpbnVlIHBvbGxp
bmcuLi4gKi8NCisJCX0NCisJCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IDA7
DQorCQlwcmludGsoS0VSTl9FUlIgIiVzOiBjb21wbGV0aW9uIHRpbWVvdXQg
LSBzdGlsbCBidXN5IVxuIiwNCisJCSAgICAgICBkcml2ZS0+bmFtZSk7DQor
CQlpZGVfZXJyb3IoZHJpdmUsICJidXN5IHRpbWVvdXQiLCBHRVRfU1RBVCgp
KTsNCisJCXJldHVybjsNCiAJfQ0KIA0KKwlod2dyb3VwLT5wb2xsX3RpbWVv
dXQgPSAwOw0KICNpZmRlZiBERUJVR19XUklURQ0KIAlwcmludGsoS0VSTl9E
RUJVRyAiJXM6IFdyaXRlIGNvbXBsZXRlIC0gZW5kX3JlcXVlc3RcbiIsIGRy
aXZlLT5uYW1lKTsNCiAjZW5kaWYNCi0JcHJvbWlzZV9maW5pc2hfd3JpdGUo
ZHJpdmUpOw0KKwlmb3IgKGkgPSBycS0+bnJfc2VjdG9yczsgaSA+IDA7ICkg
ew0KKwkJaSAtPSBycS0+Y3VycmVudF9ucl9zZWN0b3JzOw0KKwkJaWRlX2Vu
ZF9yZXF1ZXN0KDEsIGh3Z3JvdXApOw0KKwl9DQogfQ0KIA0KIC8qDQpAQCAt
NDEwLDIyICs0MTUsMjkgQEANCiAgKi8NCiBzdGF0aWMgdm9pZCBwcm9taXNl
X3dyaXRlX3BvbGxmdW5jIChpZGVfZHJpdmVfdCAqZHJpdmUpDQogew0KKwlp
ZGVfaHdncm91cF90ICpod2dyb3VwID0gSFdHUk9VUChkcml2ZSk7DQorDQog
CWlmIChJTl9CWVRFKElERV9OU0VDVE9SX1JFRykgIT0gMCkgew0KLQkJaWYg
KHRpbWVfYmVmb3JlKGppZmZpZXMsIEhXR1JPVVAoZHJpdmUpLT5wb2xsX3Rp
bWVvdXQpKSB7DQorCQlpZiAodGltZV9iZWZvcmUoamlmZmllcywgaHdncm91
cC0+cG9sbF90aW1lb3V0KSkgew0KIAkJCWlkZV9zZXRfaGFuZGxlciAoZHJp
dmUsICZwcm9taXNlX3dyaXRlX3BvbGxmdW5jLCAxKTsNCiAJCQlyZXR1cm47
IC8qIGNvbnRpbnVlIHBvbGxpbmcuLi4gKi8NCiAJCX0NCisJCWh3Z3JvdXAt
PnBvbGxfdGltZW91dCA9IDA7DQogCQlwcmludGsoS0VSTl9FUlIgIiVzOiB3
cml0ZSB0aW1lZC1vdXQhXG4iLGRyaXZlLT5uYW1lKTsNCiAJCWlkZV9lcnJv
ciAoZHJpdmUsICJ3cml0ZSB0aW1lb3V0IiwgR0VUX1NUQVQoKSk7DQogCQly
ZXR1cm47DQogCX0NCiANCisJLyoNCisJICogTm93IHdyaXRlIG91dCBsYXN0
IDQgc2VjdG9ycyBhbmQgcG9sbCBmb3Igbm90IEJVU1kNCisJICovDQogCWlk
ZV9tdWx0d3JpdGUoZHJpdmUsIDQpOw0KKwlod2dyb3VwLT5wb2xsX3RpbWVv
dXQgPSBqaWZmaWVzICsgV0FJVF9XT1JTVENBU0U7DQorCWlkZV9zZXRfaGFu
ZGxlcihkcml2ZSwgJnByb21pc2VfY29tcGxldGVfcG9sbGZ1bmMsIDEpOw0K
ICNpZmRlZiBERUJVR19XUklURQ0KIAlwcmludGsoS0VSTl9ERUJVRyAiJXM6
IERvbmUgbGFzdCA0IHNlY3RvcnMgLSBzdGF0dXMgPSAlMDJ4XG4iLA0KIAkJ
ZHJpdmUtPm5hbWUsIEdFVF9TVEFUKCkpOw0KICNlbmRpZg0KLQlpZGVfc2V0
X2hhbmRsZXIoZHJpdmUsICZwcm9taXNlX3dyaXRlX2ludHIsIFdBSVRfQ01E
KTsNCiAJcmV0dXJuOw0KIH0NCiANCkBAIC00MzMsOCArNDQ1LDggQEANCiAg
KiBwcm9taXNlX3dyaXRlKCkgdHJhbnNmZXJzIGEgYmxvY2sgb2Ygb25lIG9y
IG1vcmUgc2VjdG9ycyBvZiBkYXRhIHRvIGENCiAgKiBkcml2ZSBhcyBwYXJ0
IG9mIGEgZGlzayB3cml0ZSBvcGVyYXRpb24uIEFsbCBidXQgNCBzZWN0b3Jz
IGFyZSB0cmFuc2ZlcmVkDQogICogaW4gdGhlIGZpcnN0IGF0dGVtcHQsIHRo
ZW4gdGhlIGludGVyZmFjZSBpcyBwb2xsZWQgKG5pY2VseSEpIGZvciBjb21w
bGV0aW9uDQotICogYmVmb3JlIHRoZSBmaW5hbCA0IHNlY3RvcnMgYXJlIHRy
YW5zZmVyZWQuIFRoZSBpbnRlcnJ1cHQgZ2VuZXJhdGVkIG9uIA0KLSAqIHdy
aXRlcyBvY2N1cnMgYWZ0ZXIgdGhpcyBwcm9jZXNzLCB3aGljaCBpcyB3aHkg
SSBnb3QgaXQgd3JvbmcgZm9yIHNvIGxvbmchDQorICogYmVmb3JlIHRoZSBm
aW5hbCA0IHNlY3RvcnMgYXJlIHRyYW5zZmVyZWQuIFRoZXJlIGlzIG5vIGlu
dGVycnVwdCBnZW5lcmF0ZWQNCisgKiBvbiB3cml0ZXMgKGF0IGxlYXN0IG9u
IHRoZSBEQzQwMzBWTC0yKSwgd2UganVzdCBoYXZlIHRvIHBvbGwgZm9yIE5P
VCBCVVNZLg0KICAqLw0KIHN0YXRpYyB2b2lkIHByb21pc2Vfd3JpdGUgKGlk
ZV9kcml2ZV90ICpkcml2ZSkNCiB7DQpAQCAtNDQ2LDE4ICs0NTgsMjcgQEAN
CiAJICAgICAgICJidWZmZXI9MHglMDh4XG4iLCBkcml2ZS0+bmFtZSwgcnEt
PnNlY3RvciwNCiAJICAgICAgIHJxLT5zZWN0b3IgKyBycS0+bnJfc2VjdG9y
cyAtIDEsICh1bnNpZ25lZCBpbnQpcnEtPmJ1ZmZlcik7DQogI2VuZGlmDQor
DQorCS8qDQorCSAqIElmIHRoZXJlIGFyZSBtb3JlIHRoYW4gNCBzZWN0b3Jz
IHRvIHRyYW5zZmVyLCBkbyBuLTQgdGhlbiBnbyBpbnRvDQorCSAqIHRoZSBw
b2xsaW5nIHN0cmF0ZWd5IGFzIGRlZmluZWQgYWJvdmUuDQorCSAqLw0KIAlp
ZiAocnEtPm5yX3NlY3RvcnMgPiA0KSB7DQogCQlpZGVfbXVsdHdyaXRlKGRy
aXZlLCBycS0+bnJfc2VjdG9ycyAtIDQpOw0KIAkJaHdncm91cC0+cG9sbF90
aW1lb3V0ID0gamlmZmllcyArIFdBSVRfV09SU1RDQVNFOw0KIAkJaWRlX3Nl
dF9oYW5kbGVyIChkcml2ZSwgJnByb21pc2Vfd3JpdGVfcG9sbGZ1bmMsIDEp
Ow0KLQkJcmV0dXJuOw0KIAl9IGVsc2Ugew0KKwkvKg0KKwkgKiBUaGVyZSBh
cmUgNCBvciBmZXdlciBzZWN0b3JzIHRvIHRyYW5zZmVyLCBkbyB0aGVtIGFs
bCBpbiBvbmUgZ28NCisJICogYW5kIHdhaXQgZm9yIE5PVCBCVVNZLg0KKwkg
Ki8NCiAJCWlkZV9tdWx0d3JpdGUoZHJpdmUsIHJxLT5ucl9zZWN0b3JzKTsN
CisJCWh3Z3JvdXAtPnBvbGxfdGltZW91dCA9IGppZmZpZXMgKyBXQUlUX1dP
UlNUQ0FTRTsNCisJCWlkZV9zZXRfaGFuZGxlcihkcml2ZSwgJnByb21pc2Vf
Y29tcGxldGVfcG9sbGZ1bmMsIDEpOw0KICNpZmRlZiBERUJVR19XUklURQ0K
IAkJcHJpbnRrKEtFUk5fREVCVUcgIiVzOiBwcm9taXNlX3dyaXRlOiA8PSA0
IHNlY3RvcnMsICINCiAJCQkic3RhdHVzID0gJTAyeFxuIiwgZHJpdmUtPm5h
bWUsIEdFVF9TVEFUKCkpOw0KICNlbmRpZg0KLQkJcHJvbWlzZV9maW5pc2hf
d3JpdGUoZHJpdmUpOw0KIAl9DQogfQ0KIA0KZGlmZiAtdXJOIGxpbnV4LTIu
My45LTEtcHJpc3RpbmUvaW5jbHVkZS9saW51eC9pZGUuaCBsaW51eC9pbmNs
dWRlL2xpbnV4L2lkZS5oDQotLS0gbGludXgtMi4zLjktMS1wcmlzdGluZS9p
bmNsdWRlL2xpbnV4L2lkZS5oCVRodSBKdW4gMjQgMDA6MTA6MjcgMTk5OQ0K
KysrIGxpbnV4L2luY2x1ZGUvbGludXgvaWRlLmgJVGh1IEp1biAyNCAwMDo1
MTo0NyAxOTk5DQpAQCAtNDYzLDYgKzQ2Myw4IEBADQogI2lmZGVmIENPTkZJ
R19QUk9DX0ZTDQogdm9pZCBwcm9jX2lkZV9jcmVhdGUodm9pZCk7DQogdm9p
ZCBwcm9jX2lkZV9kZXN0cm95KHZvaWQpOw0KK3ZvaWQgZGVzdHJveV9wcm9j
X2lkZV9kcml2ZXMoaWRlX2h3aWZfdCAqKTsNCit2b2lkIGNyZWF0ZV9wcm9j
X2lkZV9pbnRlcmZhY2VzKHZvaWQpOw0KIHZvaWQgaWRlX2FkZF9wcm9jX2Vu
dHJpZXMoc3RydWN0IHByb2NfZGlyX2VudHJ5ICpkaXIsIGlkZV9wcm9jX2Vu
dHJ5X3QgKnAsIHZvaWQgKmRhdGEpOw0KIHZvaWQgaWRlX3JlbW92ZV9wcm9j
X2VudHJpZXMoc3RydWN0IHByb2NfZGlyX2VudHJ5ICpkaXIsIGlkZV9wcm9j
X2VudHJ5X3QgKnApOw0KIHJlYWRfcHJvY190IHByb2NfaWRlX3JlYWRfY2Fw
YWNpdHk7DQpAQCAtNzU3LDYgKzc1OSw3IEBADQogDQogI2lmbmRlZiBfSURF
X0MNCiBleHRlcm4gc3RydWN0IGZpbGVfb3BlcmF0aW9ucyBpZGVfZm9wc1td
Ow0KK2V4dGVybiBpZGVfcHJvY19lbnRyeV90IGdlbmVyaWNfc3ViZHJpdmVy
X2VudHJpZXNbXTsNCiAjZW5kaWYNCiANCiAjaWZkZWYgX0lERV9DDQo=
--998314481-1859724222-930285519=:19942--

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