Re: [PATCH v2 032/110] hfsplus: use PRIino format for i_ino

Viacheslav Dubeyko <[email protected]> Mon, 2 Mar 2026 22:36:08 +0000
Newsgroups org.kernel.vger.autofs,dev.linux.lists.fsverity,dev.linux.lists.netfs,dev.linux.lists.ntfs3,dev.linux.lists.nvdimm,dev.linux.lists.ocfs2-devel,dev.linux.lists.v9fs,net.sourceforge.lists.linux-f2fs-devel,org.freedesktop.lists.amd-gfx,org.freedesktop.lists.dri-devel,org.infradead.lists.linux-mtd,org.kernel.vger.audit,org.kernel.vger.bpf,org.kernel.vger.ceph-devel,org.kernel.vger.ecryptfs,org.kernel.vger.linux-bluetooth,org.kernel.vger.linux-can,org.kernel.vger.linux-cifs,org.kernel.vger.linux-ext4,org.kernel.vger.linux-fscrypt,org.kernel.vger.linux-fsdevel,org.kernel.vger.linux-hams,org.kernel.vger.linux-integrity,org.kernel.vger.linux-kernel,org.kernel.vger.linux-media,org.kernel.vger.linux-nfs,org.kernel.vger.linux-nilfs,org.kernel.vger.linux-perf-users,org.kernel.vger.linux-sctp,org.kernel.vger.linux-security-module,org.kernel.vger.linux-trace-kernel,org.kernel.vger.linux-unionfs,org.kernel.vger.linux-x25,org.kernel.vger.linux-xfs,org.kernel.vger.netdev,org.kernel.vger.selinux,org.kvack.linux-mm
Message-ID <[email protected]>
T24gTW9uLCAyMDI2LTAzLTAyIGF0IDE1OjI0IC0wNTAwLCBKZWZmIExheXRvbiB3cm90ZToNCj4g
Q29udmVydCBoZnNwbHVzIGlfaW5vIGZvcm1hdCBzdHJpbmdzIHRvIHVzZSB0aGUgUFJJaW5vIGZv
cm1hdA0KPiBtYWNybyBpbiBwcmVwYXJhdGlvbiBmb3IgdGhlIHdpZGVuaW5nIG9mIGlfaW5vIHZp
YSBraW5vX3QuDQo+IA0KPiBBbHNvIGNvcnJlY3Qgc2lnbmVkIGZvcm1hdCBzcGVjaWZpZXJzIHRv
IHVuc2lnbmVkLCBzaW5jZSBpbm9kZQ0KPiBudW1iZXJzIGFyZSB1bnNpZ25lZCB2YWx1ZXMuDQo+
IA0KPiBTaWduZWQtb2ZmLWJ5OiBKZWZmIExheXRvbiA8amxheXRvbkBrZXJuZWwub3JnPg0KPiAt
LS0NCj4gIGZzL2hmc3BsdXMvYXR0cmlidXRlcy5jIHwgMTAgKysrKystLS0tLQ0KPiAgZnMvaGZz
cGx1cy9jYXRhbG9nLmMgICAgfCAgMiArLQ0KPiAgZnMvaGZzcGx1cy9kaXIuYyAgICAgICAgfCAg
NiArKystLS0NCj4gIGZzL2hmc3BsdXMvZXh0ZW50cy5jICAgIHwgIDYgKysrLS0tDQo+ICBmcy9o
ZnNwbHVzL2lub2RlLmMgICAgICB8ICA4ICsrKystLS0tDQo+ICBmcy9oZnNwbHVzL3N1cGVyLmMg
ICAgICB8ICA2ICsrKy0tLQ0KPiAgZnMvaGZzcGx1cy94YXR0ci5jICAgICAgfCAxMCArKysrKy0t
LS0tDQo+ICA3IGZpbGVzIGNoYW5nZWQsIDI0IGluc2VydGlvbnMoKyksIDI0IGRlbGV0aW9ucygt
KQ0KPiANCj4gZGlmZiAtLWdpdCBhL2ZzL2hmc3BsdXMvYXR0cmlidXRlcy5jIGIvZnMvaGZzcGx1
cy9hdHRyaWJ1dGVzLmMNCj4gaW5kZXggNGI3OWNkNjA2Mjc2ZTMxYzIwZmExOGVmM2EwOTk1OTZm
NTBlOGEwZi4uZDBiM2Y1ODE2NmEwNTdjMGE1YmYyZTQxY2Y2ZmM4Mzk3OThjMGRlZCAxMDA2NDQN
Cj4gLS0tIGEvZnMvaGZzcGx1cy9hdHRyaWJ1dGVzLmMNCj4gKysrIGIvZnMvaGZzcGx1cy9hdHRy
aWJ1dGVzLmMNCj4gQEAgLTIwMyw3ICsyMDMsNyBAQCBpbnQgaGZzcGx1c19jcmVhdGVfYXR0cl9u
b2xvY2soc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwNCj4gIAlpbnQgZW50
cnlfc2l6ZTsNCj4gIAlpbnQgZXJyOw0KPiAgDQo+IC0JaGZzX2RiZygibmFtZSAlcywgaW5vICVs
ZFxuIiwNCj4gKwloZnNfZGJnKCJuYW1lICVzLCBpbm8gJSIgUFJJaW5vICJ1XG4iLA0KPiAgCQlu
YW1lID8gbmFtZSA6IE5VTEwsIGlub2RlLT5pX2lubyk7DQo+ICANCj4gIAlpZiAobmFtZSkgew0K
PiBAQCAtMjU1LDcgKzI1NSw3IEBAIGludCBoZnNwbHVzX2NyZWF0ZV9hdHRyKHN0cnVjdCBpbm9k
ZSAqaW5vZGUsDQo+ICAJaGZzcGx1c19hdHRyX2VudHJ5ICplbnRyeV9wdHI7DQo+ICAJaW50IGVy
cjsNCj4gIA0KPiAtCWhmc19kYmcoIm5hbWUgJXMsIGlubyAlbGRcbiIsDQo+ICsJaGZzX2RiZygi
bmFtZSAlcywgaW5vICUiIFBSSWlubyAidVxuIiwNCj4gIAkJbmFtZSA/IG5hbWUgOiBOVUxMLCBp
bm9kZS0+aV9pbm8pOw0KPiAgDQo+ICAJaWYgKCFIRlNQTFVTX1NCKHNiKS0+YXR0cl90cmVlKSB7
DQo+IEBAIC0zMzcsNyArMzM3LDcgQEAgaW50IGhmc3BsdXNfZGVsZXRlX2F0dHJfbm9sb2NrKHN0
cnVjdCBpbm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ICAJc3RydWN0IHN1cGVyX2Js
b2NrICpzYiA9IGlub2RlLT5pX3NiOw0KPiAgCWludCBlcnI7DQo+ICANCj4gLQloZnNfZGJnKCJu
YW1lICVzLCBpbm8gJWxkXG4iLA0KPiArCWhmc19kYmcoIm5hbWUgJXMsIGlubyAlIiBQUklpbm8g
InVcbiIsDQo+ICAJCW5hbWUgPyBuYW1lIDogTlVMTCwgaW5vZGUtPmlfaW5vKTsNCj4gIA0KPiAg
CWlmIChuYW1lKSB7DQo+IEBAIC0zNjcsNyArMzY3LDcgQEAgaW50IGhmc3BsdXNfZGVsZXRlX2F0
dHIoc3RydWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSkNCj4gIAlzdHJ1Y3Qgc3Vw
ZXJfYmxvY2sgKnNiID0gaW5vZGUtPmlfc2I7DQo+ICAJc3RydWN0IGhmc19maW5kX2RhdGEgZmQ7
DQo+ICANCj4gLQloZnNfZGJnKCJuYW1lICVzLCBpbm8gJWxkXG4iLA0KPiArCWhmc19kYmcoIm5h
bWUgJXMsIGlubyAlIiBQUklpbm8gInVcbiIsDQo+ICAJCW5hbWUgPyBuYW1lIDogTlVMTCwgaW5v
ZGUtPmlfaW5vKTsNCj4gIA0KPiAgCWlmICghSEZTUExVU19TQihzYiktPmF0dHJfdHJlZSkgew0K
PiBAQCAtNDM2LDcgKzQzNiw3IEBAIGludCBoZnNwbHVzX3JlcGxhY2VfYXR0cihzdHJ1Y3QgaW5v
ZGUgKmlub2RlLA0KPiAgCWhmc3BsdXNfYXR0cl9lbnRyeSAqZW50cnlfcHRyOw0KPiAgCWludCBl
cnIgPSAwOw0KPiAgDQo+IC0JaGZzX2RiZygibmFtZSAlcywgaW5vICVsZFxuIiwNCj4gKwloZnNf
ZGJnKCJuYW1lICVzLCBpbm8gJSIgUFJJaW5vICJ1XG4iLA0KPiAgCQluYW1lID8gbmFtZSA6IE5V
TEwsIGlub2RlLT5pX2lubyk7DQo+ICANCj4gIAlpZiAoIUhGU1BMVVNfU0Ioc2IpLT5hdHRyX3Ry
ZWUpIHsNCj4gZGlmZiAtLWdpdCBhL2ZzL2hmc3BsdXMvY2F0YWxvZy5jIGIvZnMvaGZzcGx1cy9j
YXRhbG9nLmMNCj4gaW5kZXggMDJjMWVlZTRhNGI4NjA1OWNlYWFiN2E3YzY4YWI2NWFkYmE2ZmEy
Ni4uZDQyMmYxMTdjNjBkZWU2ZmQ4ZWNlMGQwMWQ0Y2U2NmUwNDQyMWU0YSAxMDA2NDQNCj4gLS0t
IGEvZnMvaGZzcGx1cy9jYXRhbG9nLmMNCj4gKysrIGIvZnMvaGZzcGx1cy9jYXRhbG9nLmMNCj4g
QEAgLTQ0MSw3ICs0NDEsNyBAQCBpbnQgaGZzcGx1c19yZW5hbWVfY2F0KHUzMiBjbmlkLA0KPiAg
CWludCBlbnRyeV9zaXplLCB0eXBlOw0KPiAgCWludCBlcnI7DQo+ICANCj4gLQloZnNfZGJnKCJj
bmlkICV1IC0gaW5vICVsdSwgbmFtZSAlcyAtIGlubyAlbHUsIG5hbWUgJXNcbiIsDQo+ICsJaGZz
X2RiZygiY25pZCAldSAtIGlubyAlIiBQUklpbm8gInUsIG5hbWUgJXMgLSBpbm8gJSIgUFJJaW5v
ICJ1LCBuYW1lICVzXG4iLA0KPiAgCQljbmlkLCBzcmNfZGlyLT5pX2lubywgc3JjX25hbWUtPm5h
bWUsDQo+ICAJCWRzdF9kaXItPmlfaW5vLCBkc3RfbmFtZS0+bmFtZSk7DQo+ICAJZXJyID0gaGZz
X2ZpbmRfaW5pdChIRlNQTFVTX1NCKHNiKS0+Y2F0X3RyZWUsICZzcmNfZmQpOw0KPiBkaWZmIC0t
Z2l0IGEvZnMvaGZzcGx1cy9kaXIuYyBiL2ZzL2hmc3BsdXMvZGlyLmMNCj4gaW5kZXggZDU1OWJm
ODYyNWY4NTNkNTBmZDMxNmQxNTdjZjhhZmUyMjA2OTU2NS4uZTcwMWIxMTQzN2YwOTE3MmY4OGQ2
OGI0ZTRmNTk5ODU5MTU3MmIzOCAxMDA2NDQNCj4gLS0tIGEvZnMvaGZzcGx1cy9kaXIuYw0KPiAr
KysgYi9mcy9oZnNwbHVzL2Rpci5jDQo+IEBAIC0zMTMsNyArMzEzLDcgQEAgc3RhdGljIGludCBo
ZnNwbHVzX2xpbmsoc3RydWN0IGRlbnRyeSAqc3JjX2RlbnRyeSwgc3RydWN0IGlub2RlICpkc3Rf
ZGlyLA0KPiAgCWlmICghU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkNCj4gIAkJcmV0dXJuIC1FUEVS
TTsNCj4gIA0KPiAtCWhmc19kYmcoInNyY19kaXItPmlfaW5vICVsdSwgZHN0X2Rpci0+aV9pbm8g
JWx1LCBpbm9kZS0+aV9pbm8gJWx1XG4iLA0KPiArCWhmc19kYmcoInNyY19kaXItPmlfaW5vICUi
IFBSSWlubyAidSwgZHN0X2Rpci0+aV9pbm8gJSIgUFJJaW5vICJ1LCBpbm9kZS0+aV9pbm8gJSIg
UFJJaW5vICJ1XG4iLA0KPiAgCQlzcmNfZGlyLT5pX2lubywgZHN0X2Rpci0+aV9pbm8sIGlub2Rl
LT5pX2lubyk7DQo+ICANCj4gIAltdXRleF9sb2NrKCZzYmktPnZoX211dGV4KTsNCj4gQEAgLTM4
NSw3ICszODUsNyBAQCBzdGF0aWMgaW50IGhmc3BsdXNfdW5saW5rKHN0cnVjdCBpbm9kZSAqZGly
LCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQo+ICAJaWYgKEhGU1BMVVNfSVNfUlNSQyhpbm9kZSkp
DQo+ICAJCXJldHVybiAtRVBFUk07DQo+ICANCj4gLQloZnNfZGJnKCJkaXItPmlfaW5vICVsdSwg
aW5vZGUtPmlfaW5vICVsdVxuIiwNCj4gKwloZnNfZGJnKCJkaXItPmlfaW5vICUiIFBSSWlubyAi
dSwgaW5vZGUtPmlfaW5vICUiIFBSSWlubyAidVxuIiwNCj4gIAkJZGlyLT5pX2lubywgaW5vZGUt
PmlfaW5vKTsNCj4gIA0KPiAgCW11dGV4X2xvY2soJnNiaS0+dmhfbXV0ZXgpOw0KPiBAQCAtMzkz
LDcgKzM5Myw3IEBAIHN0YXRpYyBpbnQgaGZzcGx1c191bmxpbmsoc3RydWN0IGlub2RlICpkaXIs
IHN0cnVjdCBkZW50cnkgKmRlbnRyeSkNCj4gIAlpZiAoaW5vZGUtPmlfaW5vID09IGNuaWQgJiYN
Cj4gIAkgICAgYXRvbWljX3JlYWQoJkhGU1BMVVNfSShpbm9kZSktPm9wZW5jbnQpKSB7DQo+ICAJ
CXN0ci5uYW1lID0gbmFtZTsNCj4gLQkJc3RyLmxlbiA9IHNwcmludGYobmFtZSwgInRlbXAlbHUi
LCBpbm9kZS0+aV9pbm8pOw0KPiArCQlzdHIubGVuID0gc3ByaW50ZihuYW1lLCAidGVtcCUiIFBS
SWlubyAidSIsIGlub2RlLT5pX2lubyk7DQo+ICAJCXJlcyA9IGhmc3BsdXNfcmVuYW1lX2NhdChp
bm9kZS0+aV9pbm8sDQo+ICAJCQkJCSBkaXIsICZkZW50cnktPmRfbmFtZSwNCj4gIAkJCQkJIHNi
aS0+aGlkZGVuX2RpciwgJnN0cik7DQo+IGRpZmYgLS1naXQgYS9mcy9oZnNwbHVzL2V4dGVudHMu
YyBiL2ZzL2hmc3BsdXMvZXh0ZW50cy5jDQo+IGluZGV4IDhlODg2NTE0ZDI3ZjFlNWQ0ZDk0YmU3
NTE0MmYxOTc2NjllNjIyMzQuLjFkYmZkZjQ0Zjk1NGYyNzY4ODUyNjc4ZDFlMzg2YTkxNzU4ODQ4
ZjkgMTAwNjQ0DQo+IC0tLSBhL2ZzL2hmc3BsdXMvZXh0ZW50cy5jDQo+ICsrKyBiL2ZzL2hmc3Bs
dXMvZXh0ZW50cy5jDQo+IEBAIC0yNzUsNyArMjc1LDcgQEAgaW50IGhmc3BsdXNfZ2V0X2Jsb2Nr
KHN0cnVjdCBpbm9kZSAqaW5vZGUsIHNlY3Rvcl90IGlibG9jaywNCj4gIAltdXRleF91bmxvY2so
JmhpcC0+ZXh0ZW50c19sb2NrKTsNCj4gIA0KPiAgZG9uZToNCj4gLQloZnNfZGJnKCJpbm8gJWx1
LCBpYmxvY2sgJWxsdSAtIGRibG9jayAldVxuIiwNCj4gKwloZnNfZGJnKCJpbm8gJSIgUFJJaW5v
ICJ1LCBpYmxvY2sgJWxsdSAtIGRibG9jayAldVxuIiwNCj4gIAkJaW5vZGUtPmlfaW5vLCAobG9u
ZyBsb25nKWlibG9jaywgZGJsb2NrKTsNCj4gIA0KPiAgCW1hc2sgPSAoMSA8PCBzYmktPmZzX3No
aWZ0KSAtIDE7DQo+IEBAIC00NzYsNyArNDc2LDcgQEAgaW50IGhmc3BsdXNfZmlsZV9leHRlbmQo
c3RydWN0IGlub2RlICppbm9kZSwgYm9vbCB6ZXJvb3V0KQ0KPiAgCQkJZ290byBvdXQ7DQo+ICAJ
fQ0KPiAgDQo+IC0JaGZzX2RiZygiaW5vICVsdSwgc3RhcnQgJXUsIGxlbiAldVxuIiwgaW5vZGUt
PmlfaW5vLCBzdGFydCwgbGVuKTsNCj4gKwloZnNfZGJnKCJpbm8gJSIgUFJJaW5vICJ1LCBzdGFy
dCAldSwgbGVuICV1XG4iLCBpbm9kZS0+aV9pbm8sIHN0YXJ0LCBsZW4pOw0KPiAgDQo+ICAJaWYg
KGhpcC0+YWxsb2NfYmxvY2tzIDw9IGhpcC0+Zmlyc3RfYmxvY2tzKSB7DQo+ICAJCWlmICghaGlw
LT5maXJzdF9ibG9ja3MpIHsNCj4gQEAgLTU0NSw3ICs1NDUsNyBAQCB2b2lkIGhmc3BsdXNfZmls
ZV90cnVuY2F0ZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KPiAgCXUzMiBhbGxvY19jbnQsIGJsa19j
bnQsIHN0YXJ0Ow0KPiAgCWludCByZXM7DQo+ICANCj4gLQloZnNfZGJnKCJpbm8gJWx1LCBwaHlz
X3NpemUgJWxsdSAtPiBpX3NpemUgJWxsdVxuIiwNCj4gKwloZnNfZGJnKCJpbm8gJSIgUFJJaW5v
ICJ1LCBwaHlzX3NpemUgJWxsdSAtPiBpX3NpemUgJWxsdVxuIiwNCj4gIAkJaW5vZGUtPmlfaW5v
LCAobG9uZyBsb25nKWhpcC0+cGh5c19zaXplLCBpbm9kZS0+aV9zaXplKTsNCj4gIA0KPiAgCWlm
IChpbm9kZS0+aV9zaXplID4gaGlwLT5waHlzX3NpemUpIHsNCj4gZGlmZiAtLWdpdCBhL2ZzL2hm
c3BsdXMvaW5vZGUuYyBiL2ZzL2hmc3BsdXMvaW5vZGUuYw0KPiBpbmRleCA5MjJmZjQxZGYwNDJh
ODNkNDczNjRmMmQ5NDFjNDVkYWJkYTI5YWZiLi5mNjEzOTdkYjk3NmU4YjE1ZmExODZjM2IzMWFm
NzFlNTVmOWUyNmE2IDEwMDY0NA0KPiAtLS0gYS9mcy9oZnNwbHVzL2lub2RlLmMNCj4gKysrIGIv
ZnMvaGZzcGx1cy9pbm9kZS5jDQo+IEBAIC0yMzAsNyArMjMwLDcgQEAgc3RhdGljIGludCBoZnNw
bHVzX2dldF9wZXJtcyhzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KPiAgCQlpbm9kZS0+aV9mbGFncyAm
PSB+U19BUFBFTkQ7DQo+ICAJcmV0dXJuIDA7DQo+ICBiYWRfdHlwZToNCj4gLQlwcl9lcnIoImlu
dmFsaWQgZmlsZSB0eXBlIDAlMDRvIGZvciBpbm9kZSAlbHVcbiIsIG1vZGUsIGlub2RlLT5pX2lu
byk7DQo+ICsJcHJfZXJyKCJpbnZhbGlkIGZpbGUgdHlwZSAwJTA0byBmb3IgaW5vZGUgJSIgUFJJ
aW5vICJ1XG4iLCBtb2RlLCBpbm9kZS0+aV9pbm8pOw0KPiAgCXJldHVybiAtRUlPOw0KPiAgfQ0K
PiAgDQo+IEBAIC0zMjgsNyArMzI4LDcgQEAgaW50IGhmc3BsdXNfZmlsZV9mc3luYyhzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgbG9mZl90IHN0YXJ0LCBsb2ZmX3QgZW5kLA0KPiAgCXN0cnVjdCBoZnNwbHVz
X3ZoICp2aGRyID0gc2JpLT5zX3ZoZHI7DQo+ICAJaW50IGVycm9yID0gMCwgZXJyb3IyOw0KPiAg
DQo+IC0JaGZzX2RiZygiaW5vZGUtPmlfaW5vICVsdSwgc3RhcnQgJWxsdSwgZW5kICVsbHVcbiIs
DQo+ICsJaGZzX2RiZygiaW5vZGUtPmlfaW5vICUiIFBSSWlubyAidSwgc3RhcnQgJWxsdSwgZW5k
ICVsbHVcbiIsDQo+ICAJCWlub2RlLT5pX2lubywgc3RhcnQsIGVuZCk7DQo+ICANCj4gIAllcnJv
ciA9IGZpbGVfd3JpdGVfYW5kX3dhaXRfcmFuZ2UoZmlsZSwgc3RhcnQsIGVuZCk7DQo+IEBAIC02
MzksNyArNjM5LDcgQEAgaW50IGhmc3BsdXNfY2F0X3dyaXRlX2lub2RlKHN0cnVjdCBpbm9kZSAq
aW5vZGUpDQo+ICAJaGZzcGx1c19jYXRfZW50cnkgZW50cnk7DQo+ICAJaW50IHJlcyA9IDA7DQo+
ICANCj4gLQloZnNfZGJnKCJpbm9kZS0+aV9pbm8gJWx1XG4iLCBpbm9kZS0+aV9pbm8pOw0KPiAr
CWhmc19kYmcoImlub2RlLT5pX2lubyAlIiBQUklpbm8gInVcbiIsIGlub2RlLT5pX2lubyk7DQo+
ICANCj4gIAlpZiAoSEZTUExVU19JU19SU1JDKGlub2RlKSkNCj4gIAkJbWFpbl9pbm9kZSA9IEhG
U1BMVVNfSShpbm9kZSktPnJzcmNfaW5vZGU7DQo+IEBAIC03MTYsNyArNzE2LDcgQEAgaW50IGhm
c3BsdXNfY2F0X3dyaXRlX2lub2RlKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQo+ICAJaWYgKCFyZXMp
IHsNCj4gIAkJcmVzID0gaGZzX2J0cmVlX3dyaXRlKHRyZWUpOw0KPiAgCQlpZiAocmVzKSB7DQo+
IC0JCQlwcl9lcnIoImItdHJlZSB3cml0ZSBlcnI6ICVkLCBpbm8gJWx1XG4iLA0KPiArCQkJcHJf
ZXJyKCJiLXRyZWUgd3JpdGUgZXJyOiAlZCwgaW5vICUiIFBSSWlubyAidVxuIiwNCj4gIAkJCSAg
ICAgICByZXMsIGlub2RlLT5pX2lubyk7DQo+ICAJCX0NCj4gIAl9DQo+IGRpZmYgLS1naXQgYS9m
cy9oZnNwbHVzL3N1cGVyLmMgYi9mcy9oZnNwbHVzL3N1cGVyLmMNCj4gaW5kZXggNzIyOWE4YWU4
OWY5NDY5MTA5YjFjM2EzMTdlZTliNzcwNWE4M2Y4Yi4uYjc2ODY1ZTJlYWM1MjYwYjY4MWZjNDZi
Mjk3ZjE2NjVmMWJjMTBkYSAxMDA2NDQNCj4gLS0tIGEvZnMvaGZzcGx1cy9zdXBlci5jDQo+ICsr
KyBiL2ZzL2hmc3BsdXMvc3VwZXIuYw0KPiBAQCAtMTU2LDcgKzE1Niw3IEBAIHN0YXRpYyBpbnQg
aGZzcGx1c19zeXN0ZW1fd3JpdGVfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSkNCj4gIAkJaW50
IGVyciA9IGhmc19idHJlZV93cml0ZSh0cmVlKTsNCj4gIA0KPiAgCQlpZiAoZXJyKSB7DQo+IC0J
CQlwcl9lcnIoImItdHJlZSB3cml0ZSBlcnI6ICVkLCBpbm8gJWx1XG4iLA0KPiArCQkJcHJfZXJy
KCJiLXRyZWUgd3JpdGUgZXJyOiAlZCwgaW5vICUiIFBSSWlubyAidVxuIiwNCj4gIAkJCSAgICAg
ICBlcnIsIGlub2RlLT5pX2lubyk7DQo+ICAJCQlyZXR1cm4gZXJyOw0KPiAgCQl9DQo+IEBAIC0x
NjksNyArMTY5LDcgQEAgc3RhdGljIGludCBoZnNwbHVzX3dyaXRlX2lub2RlKHN0cnVjdCBpbm9k
ZSAqaW5vZGUsDQo+ICB7DQo+ICAJaW50IGVycjsNCj4gIA0KPiAtCWhmc19kYmcoImlubyAlbHVc
biIsIGlub2RlLT5pX2lubyk7DQo+ICsJaGZzX2RiZygiaW5vICUiIFBSSWlubyAidVxuIiwgaW5v
ZGUtPmlfaW5vKTsNCj4gIA0KPiAgCWVyciA9IGhmc3BsdXNfZXh0X3dyaXRlX2V4dGVudChpbm9k
ZSk7DQo+ICAJaWYgKGVycikNCj4gQEAgLTE4NCw3ICsxODQsNyBAQCBzdGF0aWMgaW50IGhmc3Bs
dXNfd3JpdGVfaW5vZGUoc3RydWN0IGlub2RlICppbm9kZSwNCj4gIA0KPiAgc3RhdGljIHZvaWQg
aGZzcGx1c19ldmljdF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlKQ0KPiAgew0KPiAtCWhmc19k
YmcoImlubyAlbHVcbiIsIGlub2RlLT5pX2lubyk7DQo+ICsJaGZzX2RiZygiaW5vICUiIFBSSWlu
byAidVxuIiwgaW5vZGUtPmlfaW5vKTsNCj4gIAl0cnVuY2F0ZV9pbm9kZV9wYWdlc19maW5hbCgm
aW5vZGUtPmlfZGF0YSk7DQo+ICAJY2xlYXJfaW5vZGUoaW5vZGUpOw0KPiAgCWlmIChIRlNQTFVT
X0lTX1JTUkMoaW5vZGUpKSB7DQo+IGRpZmYgLS1naXQgYS9mcy9oZnNwbHVzL3hhdHRyLmMgYi9m
cy9oZnNwbHVzL3hhdHRyLmMNCj4gaW5kZXggOTkwNDk0NGNiZDU0ZTNkMzI2NTkxZmE2NWE1ZWQ2
NzhmMzhjYTU4My4uZWY5MTIxODQzNDgyZTgxOTYxZmE1NDFjNTNjOTA2YWIwNGQ2ZmMzMyAxMDA2
NDQNCj4gLS0tIGEvZnMvaGZzcGx1cy94YXR0ci5jDQo+ICsrKyBiL2ZzL2hmc3BsdXMveGF0dHIu
Yw0KPiBAQCAtMjc3LDcgKzI3Nyw3IEBAIGludCBfX2hmc3BsdXNfc2V0eGF0dHIoc3RydWN0IGlu
b2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwNCj4gIAl1MTYgZm9sZGVyX2ZpbmRlcmluZm9f
bGVuID0gc2l6ZW9mKERJbmZvKSArIHNpemVvZihEWEluZm8pOw0KPiAgCXUxNiBmaWxlX2ZpbmRl
cmluZm9fbGVuID0gc2l6ZW9mKEZJbmZvKSArIHNpemVvZihGWEluZm8pOw0KPiAgDQo+IC0JaGZz
X2RiZygiaW5vICVsdSwgbmFtZSAlcywgdmFsdWUgJXAsIHNpemUgJXp1XG4iLA0KPiArCWhmc19k
YmcoImlubyAlIiBQUklpbm8gInUsIG5hbWUgJXMsIHZhbHVlICVwLCBzaXplICV6dVxuIiwNCj4g
IAkJaW5vZGUtPmlfaW5vLCBuYW1lID8gbmFtZSA6IE5VTEwsDQo+ICAJCXZhbHVlLCBzaXplKTsN
Cj4gIA0KPiBAQCAtNDQ3LDcgKzQ0Nyw3IEBAIGludCBoZnNwbHVzX3NldHhhdHRyKHN0cnVjdCBp
bm9kZSAqaW5vZGUsIGNvbnN0IGNoYXIgKm5hbWUsDQo+ICAJCU5MU19NQVhfQ0hBUlNFVF9TSVpF
ICogSEZTUExVU19BVFRSX01BWF9TVFJMRU4gKyAxOw0KPiAgCWludCByZXM7DQo+ICANCj4gLQlo
ZnNfZGJnKCJpbm8gJWx1LCBuYW1lICVzLCBwcmVmaXggJXMsIHByZWZpeGxlbiAlenUsICINCj4g
KwloZnNfZGJnKCJpbm8gJSIgUFJJaW5vICJ1LCBuYW1lICVzLCBwcmVmaXggJXMsIHByZWZpeGxl
biAlenUsICINCj4gIAkJInZhbHVlICVwLCBzaXplICV6dVxuIiwNCj4gIAkJaW5vZGUtPmlfaW5v
LCBuYW1lID8gbmFtZSA6IE5VTEwsDQo+ICAJCXByZWZpeCA/IHByZWZpeCA6IE5VTEwsIHByZWZp
eGxlbiwNCj4gQEAgLTYwNyw3ICs2MDcsNyBAQCBzc2l6ZV90IGhmc3BsdXNfZ2V0eGF0dHIoc3Ry
dWN0IGlub2RlICppbm9kZSwgY29uc3QgY2hhciAqbmFtZSwNCj4gIAlpbnQgcmVzOw0KPiAgCWNo
YXIgKnhhdHRyX25hbWU7DQo+ICANCj4gLQloZnNfZGJnKCJpbm8gJWx1LCBuYW1lICVzLCBwcmVm
aXggJXNcbiIsDQo+ICsJaGZzX2RiZygiaW5vICUiIFBSSWlubyAidSwgbmFtZSAlcywgcHJlZml4
ICVzXG4iLA0KPiAgCQlpbm9kZS0+aV9pbm8sIG5hbWUgPyBuYW1lIDogTlVMTCwNCj4gIAkJcHJl
Zml4ID8gcHJlZml4IDogTlVMTCk7DQo+ICANCj4gQEAgLTcxNyw3ICs3MTcsNyBAQCBzc2l6ZV90
IGhmc3BsdXNfbGlzdHhhdHRyKHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgY2hhciAqYnVmZmVyLCBz
aXplX3Qgc2l6ZSkNCj4gIAlzaXplX3Qgc3RyYnVmX3NpemU7DQo+ICAJaW50IHhhdHRyX25hbWVf
bGVuOw0KPiAgDQo+IC0JaGZzX2RiZygiaW5vICVsdVxuIiwgaW5vZGUtPmlfaW5vKTsNCj4gKwlo
ZnNfZGJnKCJpbm8gJSIgUFJJaW5vICJ1XG4iLCBpbm9kZS0+aV9pbm8pOw0KPiAgDQo+ICAJaWYg
KCFpc194YXR0cl9vcGVyYXRpb25fc3VwcG9ydGVkKGlub2RlKSkNCj4gIAkJcmV0dXJuIC1FT1BO
T1RTVVBQOw0KPiBAQCAtODE5LDcgKzgxOSw3IEBAIHN0YXRpYyBpbnQgaGZzcGx1c19yZW1vdmV4
YXR0cihzdHJ1Y3QgaW5vZGUgKmlub2RlLCBjb25zdCBjaGFyICpuYW1lKQ0KPiAgCWludCBpc194
YXR0cl9hY2xfZGVsZXRlZDsNCj4gIAlpbnQgaXNfYWxsX3hhdHRyc19kZWxldGVkOw0KPiAgDQo+
IC0JaGZzX2RiZygiaW5vICVsdSwgbmFtZSAlc1xuIiwNCj4gKwloZnNfZGJnKCJpbm8gJSIgUFJJ
aW5vICJ1LCBuYW1lICVzXG4iLA0KPiAgCQlpbm9kZS0+aV9pbm8sIG5hbWUgPyBuYW1lIDogTlVM
TCk7DQo+ICANCj4gIAlpZiAoIUhGU1BMVVNfU0IoaW5vZGUtPmlfc2IpLT5hdHRyX3RyZWUpDQoN
ClJldmlld2VkLWJ5OiBWaWFjaGVzbGF2IER1YmV5a28gPHNsYXZhQGR1YmV5a28uY29tPg0KDQpU
aGFua3MsDQpTbGF2YS4NCg==