Re: [PATCH 4/5] lib: sbi: Extend hart protection abstraction to allow ID configuration
Rahul Pathak <[email protected]> Wed, 22 Jul 2026 16:52:28 +0530
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <CAFR3w34cG3ioCnc=giqf+8Jt4WNviFr6UzLZL1sN_coQW0og-w@mail.gmail.com> |
T24gRnJpLCBKdWwgMTcsIDIwMjYgYXQgMToxNeKAr1BNIEFudXAgUGF0ZWwgPGFudXAucGF0ZWxA b3NzLnF1YWxjb21tLmNvbT4gd3JvdGU6Cj4KPiBUaGVyZSBhcmUgdmFyaW91cyBJRCBjb25maWd1 cmF0aW9uIElTQSBleHRlbnNpb25zIHN1Y2ggYXMgUklTQy1WIFdvcmxkcywKPiBTdXBlcnZpc29y IGRvbWFpbiBJRCwgUW9TIElELCBldGMgd2hpY2ggbmVlZCB0byBiZSByZS1jb25maWd1cmVkIHVw b24KPiBkb21haW4gY29udGV4dCBzd2l0Y2ggb24gYSBoYXJ0LiBFeHRlbmQgaGFydCBwcm90ZWN0 aW9uIGFic3RyYWN0aW9uIHRvCj4gc3VwcG9ydCBib3RoIG1lbW9yeSBwcm90ZWN0aW9uIGFuZCBJ RCBjb25maWd1cmF0aW9uIElTQSBleHRlbnNpb25zLgo+Cj4gU2lnbmVkLW9mZi1ieTogQW51cCBQ YXRlbCA8YW51cC5wYXRlbEBvc3MucXVhbGNvbW0uY29tPgo+IC0tLQo+ICBpbmNsdWRlL3NiaS9z YmlfaGFydF9wcm90ZWN0aW9uLmggfCAxNiArKysrKy0KPiAgbGliL3NiaS9zYmlfaGFydF9wbXAu YyAgICAgICAgICAgIHwgIDIgKwo+ICBsaWIvc2JpL3NiaV9oYXJ0X3Byb3RlY3Rpb24uYyAgICAg fCA5NCArKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tCj4gIGxpYi9zYmkvc2JpX2luaXQu YyAgICAgICAgICAgICAgICB8ICAyICstCj4gIHBsYXRmb3JtL2dlbmVyaWMvZXN3aW4vZWljNzcw eC5jICB8ICAxICsKPiAgNSBmaWxlcyBjaGFuZ2VkLCA5OCBpbnNlcnRpb25zKCspLCAxNyBkZWxl dGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9u LmggYi9pbmNsdWRlL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmgKPiBpbmRleCA1ZTE3MGYwNS4u MTM1OGI1YmUgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9zYmkvc2JpX2hhcnRfcHJvdGVjdGlvbi5o Cj4gKysrIGIvaW5jbHVkZS9zYmkvc2JpX2hhcnRfcHJvdGVjdGlvbi5oCj4gQEAgLTEzLDYgKzEz LDEzIEBACj4gIHN0cnVjdCBzYmlfc2NyYXRjaDsKPiAgc3RydWN0IHNiaV9kb21haW47Cj4KPiAr LyoqIERpZmZlcmVudCB0eXBlcyBvZiBoYXJ0IHByb3RlY3Rpb24gbWVjaGFuaXNtcyAqLwo+ICtl bnVtIHNiaV9oYXJ0X3Byb3RlY3Rpb25fdHlwZSB7Cj4gKyAgICAgICBTQklfSEFSVF9QUk9URUNU SU9OX1RZUEVfTUVNT1JZID0gMCwKPiArICAgICAgIFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9J RCwKPiArICAgICAgIFNCSV9IQVJUX1BST1RFQ1RJT25fVFlQRV9NQVgKVHlwbyBoZXJlICJuIgoK PiArfTsKPiArCj4gIC8qKiBSZXByZXNlbnRhdGlvbiBvZiBoYXJ0IHByb3RlY3Rpb24gbWVjaGFu aXNtICovCj4gIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uIHsKPiAgICAgICAgIC8qKiBMaXN0 IGhlYWQgKi8KPiBAQCAtMjEsNiArMjgsOSBAQCBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiB7 Cj4gICAgICAgICAvKiogTmFtZSBvZiB0aGUgaGFydCBwcm90ZWN0aW9uIG1lY2hhbmlzbSAqLwo+ ICAgICAgICAgY2hhciBuYW1lWzMyXTsKPgo+ICsgICAgICAgLyoqIFR5cGUgb2YgdGhlIGhhcnQg cHJvdGVjdGlvbiBtZWNoYW5pc20gKi8KPiArICAgICAgIGVudW0gc2JpX2hhcnRfcHJvdGVjdGlv bl90eXBlIHR5cGU7Cj4gKwo+ICAgICAgICAgLyoqIFJhdGluZ3Mgb2YgdGhlIGhhcnQgcHJvdGVj dGlvbiBtZWNoYW5pc20gKGhpZ2hlciBpcyBiZXR0ZXIpICovCj4gICAgICAgICB1bnNpZ25lZCBs b25nIHJhdGluZzsKPgo+IEBAIC00MCwxMSArNTAsMTEgQEAgc3RydWN0IHNiaV9oYXJ0X3Byb3Rl Y3Rpb24gewo+ICB9Owo+Cj4gIC8qKgo+IC0gKiBHZXQgdGhlIGJlc3QgaGFydCBwcm90ZWN0aW9u IG1lY2hhbmlzbQo+ICsgKiBHZXQgdGhlIGJlc3QgaGFydCBtZW1vcnkgcHJvdGVjdGlvbiBtZWNo YW5pc20KPiAgICoKPiAtICogQHJldHVybiBwb2ludGVyIHRvIGJlc3QgaGFydCBwcm90ZWN0aW9u IG1lY2hhbmlzbQo+ICsgKiBAcmV0dXJuIHBvaW50ZXIgdG8gYmVzdCBoYXJ0IG1lbW9yeSBwcm90 ZWN0aW9uIG1lY2hhbmlzbQo+ICAgKi8KPiAtc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKnNi aV9oYXJ0X3Byb3RlY3Rpb25fYmVzdCh2b2lkKTsKPiArc3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rp b24gKnNiaV9oYXJ0X21lbW9yeV9wcm90ZWN0aW9uX2Jlc3Qodm9pZCk7Cj4KPiAgLyoqCj4gICAq IFJlZ2lzdGVyIGEgaGFydCBwcm90ZWN0aW9uIG1lY2hhbmlzbQo+IGRpZmYgLS1naXQgYS9saWIv c2JpL3NiaV9oYXJ0X3BtcC5jIGIvbGliL3NiaS9zYmlfaGFydF9wbXAuYwo+IGluZGV4IDVlZGUz Y2MxLi5jMGE0Y2UxYiAxMDA2NDQKPiAtLS0gYS9saWIvc2JpL3NiaV9oYXJ0X3BtcC5jCj4gKysr IGIvbGliL3NiaS9zYmlfaGFydF9wbXAuYwo+IEBAIC00MjUsNiArNDI1LDcgQEAgc3RhdGljIHZv aWQgc2JpX2hhcnRfcG1wX3VuY29uZmlndXJlKHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRjaCwK PiAgc3RhdGljIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uIHBtcF9wcm90ZWN0aW9uID0gewo+ ICAgICAgICAgLm5hbWUgPSAicG1wIiwKPiAgICAgICAgIC5yYXRpbmcgPSAxMDAsCj4gKyAgICAg ICAudHlwZSA9IFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9NRU1PUlksCj4gICAgICAgICAuY29u ZmlndXJlID0gc2JpX2hhcnRfb2xkcG1wX2NvbmZpZ3VyZSwKPiAgICAgICAgIC51bmNvbmZpZ3Vy ZSA9IHNiaV9oYXJ0X3BtcF91bmNvbmZpZ3VyZSwKPiAgfTsKPiBAQCAtNDMyLDYgKzQzMyw3IEBA IHN0YXRpYyBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiBwbXBfcHJvdGVjdGlvbiA9IHsKPiAg c3RhdGljIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uIGVwbXBfcHJvdGVjdGlvbiA9IHsKPiAg ICAgICAgIC5uYW1lID0gImVwbXAiLAo+ICAgICAgICAgLnJhdGluZyA9IDIwMCwKPiArICAgICAg IC50eXBlID0gU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX01FTU9SWSwKPiAgICAgICAgIC5jb25m aWd1cmUgPSBzYmlfaGFydF9zbWVwbXBfY29uZmlndXJlLAo+ICAgICAgICAgLnVuY29uZmlndXJl ID0gc2JpX2hhcnRfcG1wX3VuY29uZmlndXJlLAo+ICAgICAgICAgLm1hcF9yYW5nZSA9IHNiaV9o YXJ0X3NtZXBtcF9tYXBfcmFuZ2UsCj4gZGlmZiAtLWdpdCBhL2xpYi9zYmkvc2JpX2hhcnRfcHJv dGVjdGlvbi5jIGIvbGliL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmMKPiBpbmRleCBmZWNlZmRl OC4uZDMxZTk5MzggMTAwNjQ0Cj4gLS0tIGEvbGliL3NiaS9zYmlfaGFydF9wcm90ZWN0aW9uLmMK PiArKysgYi9saWIvc2JpL3NiaV9oYXJ0X3Byb3RlY3Rpb24uYwo+IEBAIC0xMCwxMiArMTAsMTYg QEAKPgo+ICBzdGF0aWMgU0JJX0xJU1RfSEVBRChoYXJ0X3Byb3RlY3Rpb25fbGlzdCk7Cj4KPiAt c3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKnNiaV9oYXJ0X3Byb3RlY3Rpb25fYmVzdCh2b2lk KQo+ICtzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqc2JpX2hhcnRfbWVtb3J5X3Byb3RlY3Rp b25fYmVzdCh2b2lkKQo+ICB7Cj4gLSAgICAgICBpZiAoc2JpX2xpc3RfZW1wdHkoJmhhcnRfcHJv dGVjdGlvbl9saXN0KSkKPiAtICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7Cj4gKyAgICAgICBz dHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqcG9zOwo+Cj4gLSAgICAgICByZXR1cm4gc2JpX2xp c3RfZmlyc3RfZW50cnkoJmhhcnRfcHJvdGVjdGlvbl9saXN0LCBzdHJ1Y3Qgc2JpX2hhcnRfcHJv dGVjdGlvbiwgaGVhZCk7Cj4gKyAgICAgICBzYmlfbGlzdF9mb3JfZWFjaF9lbnRyeShwb3MsICZo YXJ0X3Byb3RlY3Rpb25fbGlzdCwgaGVhZCkgewo+ICsgICAgICAgICAgICAgICBpZiAocG9zLT50 eXBlID09IFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9NRU1PUlkpCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIHBvczsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICByZXR1cm4gTlVM TDsKPiAgfQo+Cj4gIGludCBzYmlfaGFydF9wcm90ZWN0aW9uX3JlZ2lzdGVyKHN0cnVjdCBzYmlf aGFydF9wcm90ZWN0aW9uICpocHJvdCkKPiBAQCAtNzQsMzMgKzc4LDk3IEBAIHN0YXRpYyB2b2lk IF9faGFydF9wcm90ZWN0aW9uX3VuY29uZmlndXJlKHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRj aCwKPiAgaW50IHNiaV9oYXJ0X3Byb3RlY3Rpb25fY29uZmlndXJlKHN0cnVjdCBzYmlfc2NyYXRj aCAqc2NyYXRjaCwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IHNi aV9kb21haW4gKmRvbSkKPiAgewo+IC0gICAgICAgcmV0dXJuIF9faGFydF9wcm90ZWN0aW9uX2Nv bmZpZ3VyZShzY3JhdGNoLCBzYmlfaGFydF9wcm90ZWN0aW9uX2Jlc3QoKSwgZG9tKTsKPiArICAg ICAgIGJvb2wgZG9fY29uZmlndXJlLCBtZW1vcnlfcHJvdGVjdF9kb25lID0gZmFsc2U7Cj4gKyAg ICAgICBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3Q7Cj4gKyAgICAgICBpbnQgcmV0 Owo+ICsKPiArICAgICAgIHNiaV9saXN0X2Zvcl9lYWNoX2VudHJ5KGhwcm90LCAmaGFydF9wcm90 ZWN0aW9uX2xpc3QsIGhlYWQpIHsKPiArICAgICAgICAgICAgICAgZG9fY29uZmlndXJlID0gZmFs c2U7Cj4gKyAgICAgICAgICAgICAgIHN3aXRjaCAoaHByb3QtPnR5cGUpIHsKV2hpbGUgcmVhZGlu ZyB0aGUgY29kZSBmb3VuZCB0aGF0IGhwcm90LT50eXBlIGNoZWNraW5nIGlzIG5vdCBkb25lCmlu IHRoZSBlYXJseSBzdGFnZSBpbiBzYmlfaGFydF9wcm90ZWN0aW9uX3JlZ2lzdGVyIGl0c2VsZi4g SWYgZmlybXdhcmUKaGFzIHRvIGV4cGxpY2l0bHkgY2hlY2sgYW5kIGZhaWwgdXBvbiBpbnZhbGlk IHR5cGUgdGhlbiB3aHkgbm90IGZhaWwKd2hpbGUgcmVnaXN0ZXJpbmcgdGhlIHByb3RlY3Rpb24g bWVjaGFuaXNtIGl0c2VsZi4KCgo+ICsgICAgICAgICAgICAgICBjYXNlIFNCSV9IQVJUX1BST1RF Q1RJT05fVFlQRV9NRU1PUlk6Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZG9fY29uZmlndXJl ID0gIW1lbW9yeV9wcm90ZWN0X2RvbmU7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgbWVtb3J5 X3Byb3RlY3RfZG9uZSA9IHRydWU7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4g KyAgICAgICAgICAgICAgIGNhc2UgU0JJX0hBUlRfUFJPVEVDVElPTl9UWVBFX0lEOgo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGRvX2NvbmZpZ3VyZSA9IHRydWU7Cj4gKyAgICAgICAgICAgICAg ICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAgICAgICAg ICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAgICAgICAg aWYgKCFkb19jb25maWd1cmUpCj4gKyAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Cj4g Kwo+ICsgICAgICAgICAgICAgICByZXQgPSBfX2hhcnRfcHJvdGVjdGlvbl9jb25maWd1cmUoc2Ny YXRjaCwgaHByb3QsIGRvbSk7Cj4gKyAgICAgICAgICAgICAgIGlmIChyZXQpCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiArICAgICAgIH0KPiArCj4gKyAgICAgICByZXR1 cm4gMDsKPiAgfQo+Cj4gIHZvaWQgc2JpX2hhcnRfcHJvdGVjdGlvbl91bmNvbmZpZ3VyZShzdHJ1 Y3Qgc2JpX3NjcmF0Y2ggKnNjcmF0Y2gsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBzYmlfZG9tYWluICpkb20pCj4gIHsKPiAtICAgICAgIF9faGFydF9wcm90 ZWN0aW9uX3VuY29uZmlndXJlKHNjcmF0Y2gsIHNiaV9oYXJ0X3Byb3RlY3Rpb25fYmVzdCgpLCBk b20pOwo+ICsKPiArICAgICAgIGJvb2wgZG9fdW5jb25maWd1cmUsIG1lbW9yeV9wcm90ZWN0X2Rv bmUgPSBmYWxzZTsKPiArICAgICAgIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uICpocHJvdDsK PiArCj4gKyAgICAgICBzYmlfbGlzdF9mb3JfZWFjaF9lbnRyeShocHJvdCwgJmhhcnRfcHJvdGVj dGlvbl9saXN0LCBoZWFkKSB7Cj4gKyAgICAgICAgICAgICAgIGRvX3VuY29uZmlndXJlID0gZmFs c2U7Cj4gKyAgICAgICAgICAgICAgIHN3aXRjaCAoaHByb3QtPnR5cGUpIHsKPiArICAgICAgICAg ICAgICAgY2FzZSBTQklfSEFSVF9QUk9URUNUSU9OX1RZUEVfTUVNT1JZOgo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGRvX3VuY29uZmlndXJlID0gIW1lbW9yeV9wcm90ZWN0X2RvbmU7Cj4gKyAg ICAgICAgICAgICAgICAgICAgICAgbWVtb3J5X3Byb3RlY3RfZG9uZSA9IHRydWU7Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIGNhc2UgU0JJX0hBUlRf UFJPVEVDVElPTl9UWVBFX0lEOgo+ICsgICAgICAgICAgICAgICAgICAgICAgIGRvX3VuY29uZmln dXJlID0gdHJ1ZTsKPiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAgICAg ICAgICAgZGVmYXVsdDoKPiArICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiArICAgICAg ICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICBpZiAoIWRvX3VuY29uZmlndXJlKQo+ICsgICAg ICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ICsKPiArICAgICAgICAgICAgICAgX19oYXJ0 X3Byb3RlY3Rpb25fdW5jb25maWd1cmUoc2NyYXRjaCwgaHByb3QsIGRvbSk7Cj4gKyAgICAgICB9 Cj4gIH0KPgo+ICBpbnQgc2JpX2hhcnRfcHJvdGVjdGlvbl9yZWNvbmZpZ3VyZShzdHJ1Y3Qgc2Jp X3NjcmF0Y2ggKnNjcmF0Y2gsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IHNiaV9kb21haW4gKmN1cnJlbnRfZG9tLAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0cnVjdCBzYmlfZG9tYWluICpuZXh0X2RvbSkKPiAgewo+IC0gICAgICAg c3RydWN0IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKmhwcm90ID0gc2JpX2hhcnRfcHJvdGVjdGlvbl9i ZXN0KCk7Cj4gKyAgICAgICBib29sIGRvX3JlY29uZmlndXJlLCBtZW1vcnlfcHJvdGVjdF9kb25l ID0gZmFsc2U7Cj4gKyAgICAgICBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3Q7Cj4g ICAgICAgICBpbnQgcmV0Owo+Cj4gLSAgICAgICBfX2hhcnRfcHJvdGVjdGlvbl91bmNvbmZpZ3Vy ZShzY3JhdGNoLCBocHJvdCwgY3VycmVudF9kb20pOwo+IC0gICAgICAgcmV0ID0gX19oYXJ0X3By b3RlY3Rpb25fY29uZmlndXJlKHNjcmF0Y2gsIGhwcm90LCBuZXh0X2RvbSk7Cj4gLSAgICAgICBp ZiAocmV0KQo+IC0gICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ICsgICAgICAgc2JpX2xpc3Rf Zm9yX2VhY2hfZW50cnkoaHByb3QsICZoYXJ0X3Byb3RlY3Rpb25fbGlzdCwgaGVhZCkgewo+ICsg ICAgICAgICAgICAgICBkb19yZWNvbmZpZ3VyZSA9IGZhbHNlOwo+ICsgICAgICAgICAgICAgICBz d2l0Y2ggKGhwcm90LT50eXBlKSB7Cj4gKyAgICAgICAgICAgICAgIGNhc2UgU0JJX0hBUlRfUFJP VEVDVElPTl9UWVBFX01FTU9SWToKPiArICAgICAgICAgICAgICAgICAgICAgICBkb19yZWNvbmZp Z3VyZSA9ICFtZW1vcnlfcHJvdGVjdF9kb25lOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIG1l bW9yeV9wcm90ZWN0X2RvbmUgPSB0cnVlOwo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFr Owo+ICsgICAgICAgICAgICAgICBjYXNlIFNCSV9IQVJUX1BST1RFQ1RJT05fVFlQRV9JRDoKPiAr ICAgICAgICAgICAgICAgICAgICAgICBkb19yZWNvbmZpZ3VyZSA9IHRydWU7Cj4gKyAgICAgICAg ICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIGRlZmF1bHQ6Cj4gKyAgICAg ICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gKyAgICAgICAgICAgICAgIH0KPiArICAgICAgICAg ICAgICAgaWYgKCFkb19yZWNvbmZpZ3VyZSkKPiArICAgICAgICAgICAgICAgICAgICAgICBjb250 aW51ZTsKPiArCj4gKyAgICAgICAgICAgICAgIF9faGFydF9wcm90ZWN0aW9uX3VuY29uZmlndXJl KHNjcmF0Y2gsIGhwcm90LCBjdXJyZW50X2RvbSk7Cj4gKyAgICAgICAgICAgICAgIHJldCA9IF9f aGFydF9wcm90ZWN0aW9uX2NvbmZpZ3VyZShzY3JhdGNoLCBocHJvdCwgbmV4dF9kb20pOwo+ICsg ICAgICAgICAgICAgICBpZiAocmV0KQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7Cj4gKyAgICAgICB9Cj4KPiAgICAgICAgIHJldHVybiAwOwo+ICB9Cj4KPiAgaW50IHNiaV9o YXJ0X3Byb3RlY3Rpb25fbWFwX3JhbmdlKHVuc2lnbmVkIGxvbmcgYmFzZSwgdW5zaWduZWQgbG9u ZyBzaXplKQo+ICB7Cj4gLSAgICAgICBzdHJ1Y3Qgc2JpX2hhcnRfcHJvdGVjdGlvbiAqaHByb3Qg PSBzYmlfaGFydF9wcm90ZWN0aW9uX2Jlc3QoKTsKPiArICAgICAgIHN0cnVjdCBzYmlfaGFydF9w cm90ZWN0aW9uICpocHJvdCA9IHNiaV9oYXJ0X21lbW9yeV9wcm90ZWN0aW9uX2Jlc3QoKTsKPgo+ ICAgICAgICAgaWYgKCFocHJvdCB8fCAhaHByb3QtPm1hcF9yYW5nZSkKPiAgICAgICAgICAgICAg ICAgcmV0dXJuIDA7Cj4gQEAgLTExMCw3ICsxNzgsNyBAQCBpbnQgc2JpX2hhcnRfcHJvdGVjdGlv bl9tYXBfcmFuZ2UodW5zaWduZWQgbG9uZyBiYXNlLCB1bnNpZ25lZCBsb25nIHNpemUpCj4KPiAg aW50IHNiaV9oYXJ0X3Byb3RlY3Rpb25fdW5tYXBfcmFuZ2UodW5zaWduZWQgbG9uZyBiYXNlLCB1 bnNpZ25lZCBsb25nIHNpemUpCj4gIHsKPiAtICAgICAgIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0 aW9uICpocHJvdCA9IHNiaV9oYXJ0X3Byb3RlY3Rpb25fYmVzdCgpOwo+ICsgICAgICAgc3RydWN0 IHNiaV9oYXJ0X3Byb3RlY3Rpb24gKmhwcm90ID0gc2JpX2hhcnRfbWVtb3J5X3Byb3RlY3Rpb25f YmVzdCgpOwo+Cj4gICAgICAgICBpZiAoIWhwcm90IHx8ICFocHJvdC0+dW5tYXBfcmFuZ2UpCj4g ICAgICAgICAgICAgICAgIHJldHVybiAwOwo+IGRpZmYgLS1naXQgYS9saWIvc2JpL3NiaV9pbml0 LmMgYi9saWIvc2JpL3NiaV9pbml0LmMKPiBpbmRleCBkNzRkYzY3Yy4uM2YxZjEzNmEgMTAwNjQ0 Cj4gLS0tIGEvbGliL3NiaS9zYmlfaW5pdC5jCj4gKysrIGIvbGliL3NiaS9zYmlfaW5pdC5jCj4g QEAgLTkzLDcgKzkzLDcgQEAgc3RhdGljIHZvaWQgc2JpX2Jvb3RfcHJpbnRfZ2VuZXJhbChzdHJ1 Y3Qgc2JpX3NjcmF0Y2ggKnNjcmF0Y2gpCj4gICAgICAgICBzYmlfcHJpbnRmKCJQbGF0Zm9ybSBG ZWF0dXJlcyAgICAgICAgICAgOiAlc1xuIiwgc3RyKTsKPiAgICAgICAgIHNiaV9wcmludGYoIlBs YXRmb3JtIEhBUlQgQ291bnQgICAgICAgICA6ICV1XG4iLAo+ICAgICAgICAgICAgICAgICAgICBz YmlfcGxhdGZvcm1faGFydF9jb3VudChwbGF0KSk7Cj4gLSAgICAgICBocHJvdCA9IHNiaV9oYXJ0 X3Byb3RlY3Rpb25fYmVzdCgpOwo+ICsgICAgICAgaHByb3QgPSBzYmlfaGFydF9tZW1vcnlfcHJv dGVjdGlvbl9iZXN0KCk7Cj4gICAgICAgICBzYmlfcHJpbnRmKCJQbGF0Zm9ybSBIQVJUIFByb3Rl Y3Rpb24gICAgOiAlc1xuIiwKPiAgICAgICAgICAgICAgICAgICAgKGhwcm90KSA/IGhwcm90LT5u YW1lIDogIi0tLSIpOwo+ICAgICAgICAgaWRldiA9IHNiaV9pcGlfZ2V0X2RldmljZSgpOwo+IGRp ZmYgLS1naXQgYS9wbGF0Zm9ybS9nZW5lcmljL2Vzd2luL2VpYzc3MHguYyBiL3BsYXRmb3JtL2dl bmVyaWMvZXN3aW4vZWljNzcweC5jCj4gaW5kZXggZGE0ZDBlMzQuLmM3MTE5OGE4IDEwMDY0NAo+ IC0tLSBhL3BsYXRmb3JtL2dlbmVyaWMvZXN3aW4vZWljNzcweC5jCj4gKysrIGIvcGxhdGZvcm0v Z2VuZXJpYy9lc3dpbi9laWM3NzB4LmMKPiBAQCAtNDcwLDYgKzQ3MCw3IEBAIHN0YXRpYyB2b2lk IGVzd2luX2VpYzc3MDBfcG1wX3VuY29uZmlndXJlKHN0cnVjdCBzYmlfc2NyYXRjaCAqc2NyYXRj aCwKPiAgc3RhdGljIHN0cnVjdCBzYmlfaGFydF9wcm90ZWN0aW9uIGVzd2luX2VpYzc3MDBfcG1w X3Byb3RlY3Rpb24gPSB7Cj4gICAgICAgICAubmFtZSA9ICJlaWM3NzAwX3BtcCIsCj4gICAgICAg ICAucmF0aW5nID0gLTFVTCwKPiArICAgICAgIC50eXBlID0gU0JJX0hBUlRfUFJPVEVDVElPTl9U WVBFX01FTU9SWSwKPiAgICAgICAgIC5jb25maWd1cmUgPSBlc3dpbl9laWM3NzAwX3BtcF9jb25m aWd1cmUsCj4gICAgICAgICAudW5jb25maWd1cmUgPSBlc3dpbl9laWM3NzAwX3BtcF91bmNvbmZp Z3VyZSwKPiAgfTsKPiAtLQo+IDIuNDMuMAo+Cj4KPiAtLQo+IG9wZW5zYmkgbWFpbGluZyBsaXN0 Cj4gb3BlbnNiaUBsaXN0cy5pbmZyYWRlYWQub3JnCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5v cmcvbWFpbG1hbi9saXN0aW5mby9vcGVuc2JpCgotLSAKb3BlbnNiaSBtYWlsaW5nIGxpc3QKb3Bl bnNiaUBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxt YW4vbGlzdGluZm8vb3BlbnNiaQo=