Re: [f2fs-dev] [PATCH] f2fs: quiesce background threads during system suspend using PM notifier
Daeho Jeong <[email protected]> Mon, 3 Aug 2026 11:42:15 -0700
| Newsgroups | net.sourceforge.lists.linux-f2fs-devel,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <CACOAw_zrCxT0HS_fo9kfSrMEsVbNTo=uV8uTpHCbzbrBmjZUog@mail.gmail.com> |
T24gTW9uLCBBdWcgMywgMjAyNiBhdCAyOjA44oCvQU0gQ2hhbyBZdSA8Y2hhb0BrZXJuZWwub3Jn PiB3cm90ZToKPgo+IE9uIDcvMzAvMjYgMDM6MjMsIERhZWhvIEplb25nIHdyb3RlOgo+ID4gRnJv bTogRGFlaG8gSmVvbmcgPGRhZWhvamVvbmdAZ29vZ2xlLmNvbT4KPiA+Cj4gPiBEdXJpbmcgc3lz dGVtIHN1c3BlbmQsIGEgcmFjZSBjb25kaXRpb24gY2FuIGNhdXNlIGYyZnNfZ2MgYW5kIGYyZnNf ZGlzY2FyZAo+ID4gdGhyZWFkcyB0byBjYWxsIHN1Ym1pdF9iaW8oKSB3aGlsZSB0aGUgdW5kZXJs eWluZyBibG9jayBkZXZpY2UgKGUuZy4sIFVGUykKPiA+IGlzIGluIFJ1bnRpbWUgUE0gc3VzcGVu ZC4gQmVjYXVzZSBSdW50aW1lIFBNIHdvcmtlciB0aHJlYWRzIGFyZSBhbHJlYWR5Cj4gPiBmcm96 ZW4gZHVyaW5nIHRhc2sgZnJlZXppbmcsIHRoZSB0aHJlYWRzIGJlY29tZSB0cmFwcGVkIGluCj4g PiBfX2Jpb19xdWV1ZV9lbnRlcigpIHdhaXRpbmcgb24gbXFfZnJlZXplX3dxLCBsZWFkaW5nIHRv IGEgUE0gZnJlZXplcgo+ID4gdGltZW91dC4KPiA+Cj4gPiBUbyBwcmV2ZW50IHRoaXMgZGVhZGxv Y2ssIHJlZ2lzdGVyIGEgUE0gbm90aWZpZXIgdG8gc2V0IFNCSV9JU19TVVNQRU5ESU5HCj4gPiBk dXJpbmcgUE1fU1VTUEVORF9QUkVQQVJFLiBCYWNrZ3JvdW5kIEdDIGFuZCBkaXNjYXJkIHRocmVh ZHMgY2hlY2sgdGhpcwo+Cj4gU2hvdWxkIHdlIGNvdmVyIGlzc3VlX2ZsdXNoX3RocmVhZCBhbmQg aXNzdWVfY2hlY2twb2ludF90aHJlYWQgYXMgd2VsbCBpbgo+IHdoZXJlIHdlIHdpbGwgc3VibWl0 IGJpbz8KClVubGlrZSBHQyBhbmQgZGlzY2FyZCwgd2hpY2ggYXJlIGJhY2tncm91bmQgb3B0aW1p emF0aW9uIHRhc2tzIGFuZCBjYW4KYmUgc2FmZWx5IHBhdXNlZCwgb3RoZXIgb3BlcmF0aW9ucyBs aWtlIGNoZWNrcG9pbnQgYXJlIGNyaXRpY2FsIGZvcgpkYXRhIGNvbnNpc3RlbmN5LgpJdCBpcyBi ZXR0ZXIgbm90IHRvIGludGVycnVwdCB0aGVtIGluIHRoZSBtaWRkbGUgb2YgdGhlaXIgcHJvZ3Jl c3MuIElmCnRoZXkgYXJlIHJ1bm5pbmcgYW5kIHRha2UgdG9vIGxvbmcsIGl0IGlzIHNhZmVyIHRv IGp1c3QgbGV0IHRoZSBzeXN0ZW0Kc3VzcGVuZCB0ZW1wb3JhcmlseSBmYWlsIHJhdGhlciB0aGFu IGZvcmNpYmx5IGJyZWFraW5nIHRoZWlyCm9wZXJhdGlvbnMuCgo+Cj4gPiBmbGFnIGFuZCBpbW1l ZGlhdGVseSBzdG9wIGlzc3VpbmcgbmV3IGJpb3MsIGFsbG93aW5nIHRoZW0gdG8gZW50ZXIgYQo+ ID4gZnJlZXphYmxlIHNsZWVwIHN0YXRlIGNsZWFubHkgYmVmb3JlIHByb2Nlc3MgZnJlZXppbmcg YmVnaW5zLgo+ID4KPiA+IFNpZ25lZC1vZmYtYnk6IERhZWhvIEplb25nIDxkYWVob2plb25nQGdv b2dsZS5jb20+Cj4gPiAtLS0KPiA+ICAgZnMvZjJmcy9mMmZzLmggICAgfCAgMyArKysKPiA+ICAg ZnMvZjJmcy9nYy5jICAgICAgfCAxMyArKysrKysrKy0tLS0tCj4gPiAgIGZzL2YyZnMvc2VnbWVu dC5jIHwgMTMgKysrKysrKysrLS0tLQo+ID4gICBmcy9mMmZzL3N1cGVyLmMgICB8IDI1ICsrKysr KysrKysrKysrKysrKysrKysrKysKPiA+ICAgNCBmaWxlcyBjaGFuZ2VkLCA0NSBpbnNlcnRpb25z KCspLCA5IGRlbGV0aW9ucygtKQo+ID4KPiA+IGRpZmYgLS1naXQgYS9mcy9mMmZzL2YyZnMuaCBi L2ZzL2YyZnMvZjJmcy5oCj4gPiBpbmRleCBmMjRlMzBiYjVjM2QuLmM0NmJmNGRmOTQxMiAxMDA2 NDQKPiA+IC0tLSBhL2ZzL2YyZnMvZjJmcy5oCj4gPiArKysgYi9mcy9mMmZzL2YyZnMuaAo+ID4g QEAgLTI1LDYgKzI1LDcgQEAKPiA+ICAgI2luY2x1ZGUgPGxpbnV4L3F1b3Rhb3BzLmg+Cj4gPiAg ICNpbmNsdWRlIDxsaW51eC9wYXJ0X3N0YXQuaD4KPiA+ICAgI2luY2x1ZGUgPGxpbnV4L3J3X2hp bnQuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvc3VzcGVuZC5oPgo+ID4KPiA+ICAgI2luY2x1ZGUg PGxpbnV4L2ZzY3J5cHQuaD4KPiA+ICAgI2luY2x1ZGUgPGxpbnV4L2ZzdmVyaXR5Lmg+Cj4gPiBA QCAtMTQ5NCw2ICsxNDk1LDcgQEAgZW51bSB7Cj4gPiAgICAgICBTQklfSVNfRlJFRVpJTkcsICAg ICAgICAgICAgICAgICAgICAgICAgLyogZnJlZXplZnMgaXMgaW4gcHJvY2VzcyAqLwo+ID4gICAg ICAgU0JJX0lTX1dSSVRBQkxFLCAgICAgICAgICAgICAgICAgICAgICAgIC8qIHJlbW92ZSBybyBt b3VudG9wdGlvbiB0cmFuc2llbnRseSAqLwo+ID4gICAgICAgU0JJX0VOQUJMRV9DSEVDS1BPSU5U LCAgICAgICAgICAgICAgICAgIC8qIGluZGljYXRlIGl0J3MgZHVyaW5nIGYyZnNfZW5hYmxlX2No ZWNrcG9pbnQoKSAqLwo+ID4gKyAgICAgU0JJX0lTX1NVU1BFTkRJTkcsICAgICAgICAgICAgICAg ICAgICAgIC8qIHN5c3RlbSBzdXNwZW5kIGlzIGluIHByb2dyZXNzICovCj4gPiAgICAgICBNQVhf U0JJX0ZMQUcsCj4gPiAgIH07Cj4gPgo+ID4gQEAgLTE3NTcsNiArMTc1OSw3IEBAIHN0cnVjdCBm MmZzX3NiX2luZm8gewo+ID4gICAgICAgc3RydWN0IGYyZnNfcndzZW0gc2JfbG9jazsgICAgICAg ICAgICAgIC8qIGxvY2sgZm9yIHJhdyBzdXBlciBibG9jayAqLwo+ID4gICAgICAgaW50IHZhbGlk X3N1cGVyX2Jsb2NrOyAgICAgICAgICAgICAgICAgIC8qIHZhbGlkIHN1cGVyIGJsb2NrIG5vICov Cj4gPiAgICAgICB1bnNpZ25lZCBsb25nIHNfZmxhZzsgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiBmbGFncyBmb3Igc2JpICovCj4gPiArICAgICBzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgcG1f bmI7ICAgICAgICAgICAgLyogZm9yIFBNIG5vdGlmaWVyICovCj4gPiAgICAgICBzdHJ1Y3QgbXV0 ZXggd3JpdGVwYWdlczsgICAgICAgICAgICAgICAgLyogbXV0ZXggZm9yIHdyaXRlcGFnZXMoKSAq Lwo+ID4KPiA+ICAgI2lmZGVmIENPTkZJR19CTEtfREVWX1pPTkVECj4gPiBkaWZmIC0tZ2l0IGEv ZnMvZjJmcy9nYy5jIGIvZnMvZjJmcy9nYy5jCj4gPiBpbmRleCA5M2JjYjM1YTViNWQuLjg2YjJi Mjk0MDJhNSAxMDA2NDQKPiA+IC0tLSBhL2ZzL2YyZnMvZ2MuYwo+ID4gKysrIGIvZnMvZjJmcy9n Yy5jCj4gPiBAQCAtNzEsNyArNzEsOCBAQCBzdGF0aWMgaW50IGdjX3RocmVhZF9mdW5jKHZvaWQg KmRhdGEpCj4gPiAgICAgICAgICAgICAgIGlmIChrdGhyZWFkX3Nob3VsZF9zdG9wKCkpCj4gPiAg ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPgo+ID4gLSAgICAgICAgICAgICBpZiAoc2Jp LT5zYi0+c193cml0ZXJzLmZyb3plbiA+PSBTQl9GUkVFWkVfV1JJVEUpIHsKPiA+ICsgICAgICAg ICAgICAgaWYgKHNiaS0+c2ItPnNfd3JpdGVycy5mcm96ZW4gPj0gU0JfRlJFRVpFX1dSSVRFIHx8 Cj4gPiArICAgICAgICAgICAgICAgICAgICAgaXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJX0lTX1NV U1BFTkRJTkcpKSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgaW5jcmVhc2Vfc2xlZXBfdGlt ZShnY190aCwgJndhaXRfbXMpOwo+ID4gICAgICAgICAgICAgICAgICAgICAgIHN0YXRfb3RoZXJf c2tpcF9iZ2djX2NvdW50KHNiaSk7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7 Cj4gPiBAQCAtMTA2NCw4ICsxMDY1LDkgQEAgc3RhdGljIGludCBnY19ub2RlX3NlZ21lbnQoc3Ry dWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+ID4gICAgICAgICAgICAgICBzdHJ1Y3Qgbm9kZV9pbmZv IG5pOwo+ID4gICAgICAgICAgICAgICBpbnQgZXJyOwo+ID4KPiA+IC0gICAgICAgICAgICAgLyog c3RvcCBCR19HQyBpZiB0aGVyZSBpcyBub3QgZW5vdWdoIGZyZWUgc2VjdGlvbnMuICovCj4gPiAt ICAgICAgICAgICAgIGlmIChnY190eXBlID09IEJHX0dDICYmIGhhc19ub3RfZW5vdWdoX2ZyZWVf c2VjcyhzYmksIDAsIDApKQo+ID4gKyAgICAgICAgICAgICAvKiBzdG9wIEJHX0dDIGlmIHRoZXJl IGlzIG5vdCBlbm91Z2ggZnJlZSBzZWN0aW9ucyBvciBzdXNwZW5kaW5nLiAqLwo+ID4gKyAgICAg ICAgICAgICBpZiAoZ2NfdHlwZSA9PSBCR19HQyAmJiAoaGFzX25vdF9lbm91Z2hfZnJlZV9zZWNz KHNiaSwgMCwgMCkgfHwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJX0lTX1NVU1BFTkRJTkcpKSkKPiA+ICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gc3VibWl0dGVkOwo+ID4KPiA+ICAgICAgICAgICAgICAgaWYgKGNo ZWNrX3ZhbGlkX21hcChzYmksIHNlZ25vLCBvZmYpID09IDApCj4gPiBAQCAtMTYxMSw3ICsxNjEz LDggQEAgc3RhdGljIGludCBnY19kYXRhX3NlZ21lbnQoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2Jp LCBzdHJ1Y3QgZjJmc19zdW1tYXJ5ICpzdW0sCj4gPiAgICAgICAgICAgICAgICAqIE9yLCBzdG9w IEdDIGlmIHRoZSBzZWdtZW50IGJlY29tZXMgZnVsbHkgdmFsaWQgY2F1c2VkIGJ5Cj4gPiAgICAg ICAgICAgICAgICAqIHJhY2UgY29uZGl0aW9uIGFsb25nIHdpdGggU1NSIGJsb2NrIGFsbG9jYXRp b24uCj4gPiAgICAgICAgICAgICAgICAqLwo+ID4gLSAgICAgICAgICAgICBpZiAoKGdjX3R5cGUg PT0gQkdfR0MgJiYgaGFzX25vdF9lbm91Z2hfZnJlZV9zZWNzKHNiaSwgMCwgMCkpIHx8Cj4gPiAr ICAgICAgICAgICAgIGlmICgoZ2NfdHlwZSA9PSBCR19HQyAmJiAoaGFzX25vdF9lbm91Z2hfZnJl ZV9zZWNzKHNiaSwgMCwgMCkgfHwKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJX0lTX1NVU1BFTkRJTkcpKSkgfHwKPiA+ICAg ICAgICAgICAgICAgICAgICAgICAoIWZvcmNlX21pZ3JhdGUgJiYgZ2V0X3ZhbGlkX2Jsb2Nrcyhz YmksIHNlZ25vLCB0cnVlKSA9PQo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQ0FQX0JMS1NfUEVSX1NFQyhzYmkpKSkKPiA+ICAgICAgICAg ICAgICAgICAgICAgICByZXR1cm4gc3VibWl0dGVkOwo+ID4gQEAgLTIwMTUsNyArMjAxOCw3IEBA IGludCBmMmZzX2djKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwgc3RydWN0IGYyZnNfZ2NfY29u dHJvbCAqZ2NfY29udHJvbCkKPiA+ICAgICAgICAgICAgICAgZ290byBzdG9wOwo+ID4gICAgICAg fQo+ID4gICByZXRyeToKPiA+IC0gICAgIGlmICh1bmxpa2VseShmcmVlemluZyhjdXJyZW50KSkp IHsKPgo+IFNob3VsZG4ndCB3ZSBrZWVwIG9yaWdpbmFsIGZyZWV6aW5nIGxvZ2ljPyBpbiBjYXNl IGZpbGVzeXN0ZW0gYXJlIGZyb3plbgo+IHdoZW4gbG93IGRldmljZSBzbmFwc2hvdCBpcyB0cmln Z2VyZWQ/CgpTaW5jZSB0aGUgcnVudGltZSBQTSBzdXNwZW5kL3Jlc3VtZSB3b3JrZXJzIGFyZSBv bmx5IGZyb3plbiBkdXJpbmcKc3lzdGVtLXdpZGUgUE0gdHJhbnNpdGlvbnMgKHN1c3BlbmQvaGli ZXJuYXRpb24pLCB0aGUgUE0gbm90aWZpZXIKYXBwcm9hY2ggd2l0aCBTQklfSVNfU1VTUEVORElO RyBzdWZmaWNpZW50bHkgcHJldmVudHMgdGhlIGRlYWRsb2NrLgoKVGhhbmtzLAoKPgo+ID4gKyAg ICAgaWYgKGlzX3NiaV9mbGFnX3NldChzYmksIFNCSV9JU19TVVNQRU5ESU5HKSkgewo+ID4gICAg ICAgICAgICAgICByZXQgPSAwOwo+ID4gICAgICAgICAgICAgICBnb3RvIHN0b3A7Cj4gPiAgICAg ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZnMvZjJmcy9zZWdtZW50LmMgYi9mcy9mMmZzL3NlZ21lbnQu Ywo+ID4gaW5kZXggZDcwZGM1ZWYzZGU0Li5lMjcxOTc5NTMzNTYgMTAwNjQ0Cj4gPiAtLS0gYS9m cy9mMmZzL3NlZ21lbnQuYwo+ID4gKysrIGIvZnMvZjJmcy9zZWdtZW50LmMKPiA+IEBAIC0xMzAw LDcgKzEzMDAsOCBAQCBzdGF0aWMgaW50IF9fc3VibWl0X2Rpc2NhcmRfY21kKHN0cnVjdCBmMmZz X3NiX2luZm8gKnNiaSwKPiA+ICAgICAgIGlmIChkYy0+c3RhdGUgIT0gRF9QUkVQKQo+ID4gICAg ICAgICAgICAgICByZXR1cm4gMDsKPiA+Cj4gPiAtICAgICBpZiAoaXNfc2JpX2ZsYWdfc2V0KHNi aSwgU0JJX05FRURfRlNDSykpCj4gPiArICAgICBpZiAoaXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJ X05FRURfRlNDSykgfHwKPiA+ICsgICAgICAgICAgICAgaXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJ X0lTX1NVU1BFTkRJTkcpKQo+ID4gICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+Cj4gPiAgICNp ZmRlZiBDT05GSUdfQkxLX0RFVl9aT05FRAo+ID4gQEAgLTEzNDEsNiArMTM0Miw5IEBAIHN0YXRp YyBpbnQgX19zdWJtaXRfZGlzY2FyZF9jbWQoc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpLAo+ID4g ICAgICAgICAgICAgICB1bnNpZ25lZCBsb25nIGZsYWdzOwo+ID4gICAgICAgICAgICAgICBib29s IGxhc3QgPSB0cnVlOwo+ID4KPiA+ICsgICAgICAgICAgICAgaWYgKGlzX3NiaV9mbGFnX3NldChz YmksIFNCSV9JU19TVVNQRU5ESU5HKSkKPiA+ICsgICAgICAgICAgICAgICAgICAgICBicmVhazsK PiA+ICsKPiA+ICAgICAgICAgICAgICAgaWYgKGxlbiA+IG1heF9kaXNjYXJkX2Jsb2Nrcykgewo+ ID4gICAgICAgICAgICAgICAgICAgICAgIGxlbiA9IG1heF9kaXNjYXJkX2Jsb2NrczsKPiA+ICAg ICAgICAgICAgICAgICAgICAgICBsYXN0ID0gZmFsc2U7Cj4gPiBAQCAtMTYxNSw3ICsxNjE5LDcg QEAgc3RhdGljIHZvaWQgX19pc3N1ZV9kaXNjYXJkX2NtZF9vcmRlcmx5KHN0cnVjdCBmMmZzX3Ni X2luZm8gKnNiaSwKPiA+ICAgICAgICAgICAgICAgaWYgKGRjLT5zdGF0ZSAhPSBEX1BSRVApCj4g PiAgICAgICAgICAgICAgICAgICAgICAgZ290byBuZXh0Owo+ID4KPiA+IC0gICAgICAgICAgICAg aWYgKCppc3N1ZWQgPiAwICYmIHVubGlrZWx5KGZyZWV6aW5nKGN1cnJlbnQpKSkKPgo+IERpdHRv LAo+Cj4gPiArICAgICAgICAgICAgIGlmIChpc19zYmlfZmxhZ19zZXQoc2JpLCBTQklfSVNfU1VT UEVORElORykpCj4gPiAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPgo+ID4gICAgICAg ICAgICAgICBpZiAoZHBvbGljeS0+aW9fYXdhcmUgJiYgIWlzX2lkbGUoc2JpLCBESVNDQVJEX1RJ TUUpKSB7Cj4gPiBAQCAtMTY4OCw3ICsxNjkyLDcgQEAgc3RhdGljIGludCBfX2lzc3VlX2Rpc2Nh cmRfY21kKHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSwKPiA+ICAgICAgICAgICAgICAgbGlzdF9m b3JfZWFjaF9lbnRyeV9zYWZlKGRjLCB0bXAsIHBlbmRfbGlzdCwgbGlzdCkgewo+ID4gICAgICAg ICAgICAgICAgICAgICAgIGYyZnNfYnVnX29uKHNiaSwgZGMtPnN0YXRlICE9IERfUFJFUCk7Cj4g Pgo+ID4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChpc3N1ZWQgPiAwICYmIHVubGlrZWx5KGZy ZWV6aW5nKGN1cnJlbnQpKSkgewo+Cj4gRGl0dG8sCj4KPiBUaGFua3MsCj4KPiA+ICsgICAgICAg ICAgICAgICAgICAgICBpZiAoaXNfc2JpX2ZsYWdfc2V0KHNiaSwgU0JJX0lTX1NVU1BFTkRJTkcp KSB7Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXNwZW5kZWQgPSB0cnVlOwo+ ID4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7Cj4gPiAgICAgICAgICAgICAg ICAgICAgICAgfQo+ID4gQEAgLTE5NTUsNyArMTk1OSw4IEBAIHN0YXRpYyBpbnQgaXNzdWVfZGlz Y2FyZF90aHJlYWQodm9pZCAqZGF0YSkKPiA+ICAgICAgICAgICAgICAgICAgICAgICBjb250aW51 ZTsKPiA+ICAgICAgICAgICAgICAgaWYgKGt0aHJlYWRfc2hvdWxkX3N0b3AoKSkKPiA+ICAgICAg ICAgICAgICAgICAgICAgICByZXR1cm4gMDsKPiA+IC0gICAgICAgICAgICAgaWYgKGlzX3NiaV9m bGFnX3NldChzYmksIFNCSV9ORUVEX0ZTQ0spIHx8Cj4gPiArICAgICAgICAgICAgIGlmIChpc19z YmlfZmxhZ19zZXQoc2JpLCBTQklfSVNfU1VTUEVORElORykgfHwKPiA+ICsgICAgICAgICAgICAg ICAgICAgICBpc19zYmlfZmxhZ19zZXQoc2JpLCBTQklfTkVFRF9GU0NLKSB8fAo+ID4gICAgICAg ICAgICAgICAgICAgICAgICFhdG9taWNfcmVhZCgmZGNjLT5kaXNjYXJkX2NtZF9jbnQpKSB7Cj4g PiAgICAgICAgICAgICAgICAgICAgICAgd2FpdF9tcyA9IGRwb2xpY3kubWF4X2ludGVydmFsOwo+ ID4gICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwo+ID4gZGlmZiAtLWdpdCBhL2ZzL2Yy ZnMvc3VwZXIuYyBiL2ZzL2YyZnMvc3VwZXIuYwo+ID4gaW5kZXggZDVkYzgzZTYxM2UyLi41MzZm M2ZmZTUzNTQgMTAwNjQ0Cj4gPiAtLS0gYS9mcy9mMmZzL3N1cGVyLmMKPiA+ICsrKyBiL2ZzL2Yy ZnMvc3VwZXIuYwo+ID4gQEAgLTE5NzksNiArMTk3OSwyNiBAQCBzdGF0aWMgdm9pZCBkZXN0cm95 X2RldmljZV9saXN0KHN0cnVjdCBmMmZzX3NiX2luZm8gKnNiaSkKPiA+ICAgICAgIGt2ZnJlZShz YmktPmRldnMpOwo+ID4gICB9Cj4gPgo+ID4gK3N0YXRpYyBpbnQgZjJmc19wbV9ub3RpZmllcihz dHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iLAo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICB1 bnNpZ25lZCBsb25nIGFjdGlvbiwgdm9pZCAqcHRyKQo+ID4gK3sKPiA+ICsgICAgIHN0cnVjdCBm MmZzX3NiX2luZm8gKnNiaSA9IGNvbnRhaW5lcl9vZihuYiwgc3RydWN0IGYyZnNfc2JfaW5mbywg cG1fbmIpOwo+ID4gKwo+ID4gKyAgICAgc3dpdGNoIChhY3Rpb24pIHsKPiA+ICsgICAgIGNhc2Ug UE1fSElCRVJOQVRJT05fUFJFUEFSRToKPiA+ICsgICAgIGNhc2UgUE1fU1VTUEVORF9QUkVQQVJF Ogo+ID4gKyAgICAgY2FzZSBQTV9SRVNUT1JFX1BSRVBBUkU6Cj4gPiArICAgICAgICAgICAgIHNl dF9zYmlfZmxhZyhzYmksIFNCSV9JU19TVVNQRU5ESU5HKTsKPiA+ICsgICAgICAgICAgICAgYnJl YWs7Cj4gPiArICAgICBjYXNlIFBNX1BPU1RfU1VTUEVORDoKPiA+ICsgICAgIGNhc2UgUE1fUE9T VF9ISUJFUk5BVElPTjoKPiA+ICsgICAgIGNhc2UgUE1fUE9TVF9SRVNUT1JFOgo+ID4gKyAgICAg ICAgICAgICBjbGVhcl9zYmlfZmxhZyhzYmksIFNCSV9JU19TVVNQRU5ESU5HKTsKPiA+ICsgICAg ICAgICAgICAgYnJlYWs7Cj4gPiArICAgICB9Cj4gPiArICAgICByZXR1cm4gTk9USUZZX09LOwo+ ID4gK30KPiA+ICsKPiA+ICAgc3RhdGljIHZvaWQgZjJmc19wdXRfc3VwZXIoc3RydWN0IHN1cGVy X2Jsb2NrICpzYikKPiA+ICAgewo+ID4gICAgICAgc3RydWN0IGYyZnNfc2JfaW5mbyAqc2JpID0g RjJGU19TQihzYik7Cj4gPiBAQCAtMTk4Niw2ICsyMDA2LDggQEAgc3RhdGljIHZvaWQgZjJmc19w dXRfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYikKPiA+ICAgICAgIGludCBlcnIgPSAwOwo+ ID4gICAgICAgYm9vbCBkb25lOwo+ID4KPiA+ICsgICAgIHVucmVnaXN0ZXJfcG1fbm90aWZpZXIo JnNiaS0+cG1fbmIpOwo+ID4gKwo+ID4gICAgICAgLyogdW5yZWdpc3RlciBwcm9jZnMvc3lzZnMg ZW50cmllcyBpbiBhZHZhbmNlIHRvIGF2b2lkIHJhY2UgY2FzZSAqLwo+ID4gICAgICAgZjJmc191 bnJlZ2lzdGVyX3N5c2ZzKHNiaSk7Cj4gPgo+ID4gQEAgLTU0NzIsNiArNTQ5NCw5IEBAIHN0YXRp YyBpbnQgZjJmc19maWxsX3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAqc2IsIHN0cnVjdCBmc19j b250ZXh0ICpmYykKPiA+Cj4gPiAgICAgICBmMmZzX3Jlc3RvcmVfZGV2aWNlX2FsaWFzKHNiaSk7 Cj4gPgo+ID4gKyAgICAgc2JpLT5wbV9uYi5ub3RpZmllcl9jYWxsID0gZjJmc19wbV9ub3RpZmll cjsKPiA+ICsgICAgIHJlZ2lzdGVyX3BtX25vdGlmaWVyKCZzYmktPnBtX25iKTsKPiA+ICsKPiA+ ICAgICAgIHNiaS0+dW1vdW50X2xvY2tfaG9sZGVyID0gTlVMTDsKPiA+ICAgICAgIHJldHVybiAw Owo+ID4KPgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4LWYyZnMtZGV2ZWwgbWFpbGluZyBsaXN0CkxpbnV4LWYyZnMtZGV2ZWxAbGlzdHMuc291 cmNlZm9yZ2UubmV0Cmh0dHBzOi8vbGlzdHMuc291cmNlZm9yZ2UubmV0L2xpc3RzL2xpc3RpbmZv L2xpbnV4LWYyZnMtZGV2ZWwK