From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 9A75521E0818A for ; Fri, 30 Mar 2018 21:13:04 -0700 (PDT) Subject: [PATCH v8 11/18] mm, dax: enable filesystems to trigger dev_pagemap ->page_free callbacks From: Dan Williams Date: Fri, 30 Mar 2018 21:03:08 -0700 Message-ID: <152246898837.36038.26895928842345061.stgit@dwillia2-desk3.amr.corp.intel.com> In-Reply-To: <152246892890.36038.18436540150980653229.stgit@dwillia2-desk3.amr.corp.intel.com> References: <152246892890.36038.18436540150980653229.stgit@dwillia2-desk3.amr.corp.intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: linux-nvdimm@lists.01.org Cc: Michal Hocko , jack@suse.cz, snitzer@redhat.com, david@fromorbit.com, linux-kernel@vger.kernel.org, linux-xfs@vger.kernel.org, =?utf-8?b?SsOpcsO0bWU=?= Glisse , linux-fsdevel@vger.kernel.org, Christoph Hellwig List-ID: SW4gb3JkZXIgdG8gcmVzb2x2ZSBjb2xsaXNpb25zIGJldHdlZW4gZmlsZXN5c3RlbSBvcGVyYXRp b25zIGFuZCBETUEgdG8KREFYIG1hcHBlZCBwYWdlcyB3ZSBuZWVkIGEgY2FsbGJhY2sgd2hlbiBE TUEgY29tcGxldGVzLiBXaXRoIGEgY2FsbGJhY2sKd2UgY2FuIGhvbGQgb2ZmIGZpbGVzeXN0ZW0g b3BlcmF0aW9ucyB3aGlsZSBETUEgaXMgaW4tZmxpZ2h0IGFuZCB0aGVuCnJlc3VtZSB0aG9zZSBv cGVyYXRpb25zIHdoZW4gdGhlIGxhc3QgcHV0X3BhZ2UoKSBvY2N1cnMgb24gYSBETUEgcGFnZS4K ClJlY2FsbCB0aGF0IHRoZSAnc3RydWN0IHBhZ2UnIGVudHJpZXMgZm9yIERBWCBtZW1vcnkgYXJl IGNyZWF0ZWQgd2l0aApkZXZtX21lbXJlbWFwX3BhZ2VzKCkuIFRoYXQgcm91dGluZSBhcnJhbmdl cyBmb3IgdGhlIHBhZ2VzIHRvIGJlCmFsbG9jYXRlZCwgYnV0IG5ldmVyIG9ubGluZWQsIHNvIGEg REFYIHBhZ2UgaXMgRE1BLWlkbGUgd2hlbiBpdHMKcmVmZXJlbmNlIGNvdW50IHJlYWNoZXMgb25l LgoKQWxzbyByZWNhbGwgdGhhdCB0aGUgSE1NIHN1Yi1zeXN0ZW0gYWRkZWQgaW5mcmFzdHJ1Y3R1 cmUgdG8gdHJhcCB0aGUKcGFnZS1pZGxlICgyLXRvLTEgcmVmZXJlbmNlIGNvdW50KSB0cmFuc2l0 aW9uIG9mIHRoZSBwYWdlcyBhbGxvY2F0ZWQgYnkKZGV2bV9tZW1yZW1hcF9wYWdlcygpIGFuZCB0 cmlnZ2VyIGEgY2FsbGJhY2sgdmlhIHRoZSAnc3RydWN0CmRldl9wYWdlbWFwJyBhc3NvY2lhdGVk IHdpdGggdGhlIHBhZ2UgcmFuZ2UuIFdoZXJlYXMgdGhlIEhNTSBjYWxsYmFja3MKYXJlIGdvaW5n IHRvIGEgZGV2aWNlIGRyaXZlciB0byBtYW5hZ2UgYm91bmNlIHBhZ2VzIGluIGRldmljZS1tZW1v cnkgaW4KdGhlIGZpbGVzeXN0ZW0tZGF4IGNhc2Ugd2Ugd2lsbCBjYWxsIGJhY2sgdG8gZmlsZXN5 c3RlbSBzcGVjaWZpZWQKY2FsbGJhY2suCgpTaW5jZSB0aGUgY2FsbGJhY2sgaXMgbm90IGtub3du IGF0IGRldm1fbWVtcmVtYXBfcGFnZXMoKSB0aW1lIHdlIGFycmFuZ2UKZm9yIHRoZSBmaWxlc3lz dGVtIHRvIGluc3RhbGwgaXQgYXQgbW91bnQgdGltZS4gTm8gZnVuY3Rpb25hbCBjaGFuZ2VzCmFy ZSBleHBlY3RlZCBhcyB0aGlzIG9ubHkgcmVnaXN0ZXJzIGEgbm9wIGhhbmRsZXIgZm9yIHRoZSAt PnBhZ2VfZnJlZSgpCmV2ZW50IGZvciBkZXZpY2UtbWFwcGVkIHBhZ2VzLgoKQ2M6IE1pY2hhbCBI b2NrbyA8bWhvY2tvQHN1c2UuY29tPgpSZXZpZXdlZC1ieTogIkrDqXLDtG1lIEdsaXNzZSIgPGpn bGlzc2VAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzdG9waCBIZWxsd2lnIDxoY2hAbHN0 LmRlPgpSZXZpZXdlZC1ieTogSmFuIEthcmEgPGphY2tAc3VzZS5jej4KU2lnbmVkLW9mZi1ieTog RGFuIFdpbGxpYW1zIDxkYW4uai53aWxsaWFtc0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9kYXgv c3VwZXIuYyAgIHwgICAyMSArKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvbnZkaW1tL3Bt ZW0uYyB8ICAgIDMgKystCiBmcy9leHQyL3N1cGVyLmMgICAgICAgfCAgICA2ICsrKy0tLQogZnMv ZXh0NC9zdXBlci5jICAgICAgIHwgICAgNiArKystLS0KIGZzL3hmcy94ZnNfc3VwZXIuYyAgICB8 ICAgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KIGluY2x1ZGUvbGludXgvZGF4LmggICB8ICAgMjMg KysrKysrKysrKysrKystLS0tLS0tLS0KIDYgZmlsZXMgY2hhbmdlZCwgNDMgaW5zZXJ0aW9ucygr KSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9kYXgvc3VwZXIuYyBiL2Ry aXZlcnMvZGF4L3N1cGVyLmMKaW5kZXggYzRjZjI4NGRmZTFjLi43ZDI2MGYxMThhMzkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZGF4L3N1cGVyLmMKKysrIGIvZHJpdmVycy9kYXgvc3VwZXIuYwpAQCAt NjMsMTYgKzYzLDYgQEAgaW50IGJkZXZfZGF4X3Bnb2ZmKHN0cnVjdCBibG9ja19kZXZpY2UgKmJk ZXYsIHNlY3Rvcl90IHNlY3Rvciwgc2l6ZV90IHNpemUsCiB9CiBFWFBPUlRfU1lNQk9MKGJkZXZf ZGF4X3Bnb2ZmKTsKIAotI2lmIElTX0VOQUJMRUQoQ09ORklHX0ZTX0RBWCkKLXN0cnVjdCBkYXhf ZGV2aWNlICpmc19kYXhfZ2V0X2J5X2JkZXYoc3RydWN0IGJsb2NrX2RldmljZSAqYmRldikKLXsK LQlpZiAoIWJsa19xdWV1ZV9kYXgoYmRldi0+YmRfcXVldWUpKQotCQlyZXR1cm4gTlVMTDsKLQly ZXR1cm4gZnNfZGF4X2dldF9ieV9ob3N0KGJkZXYtPmJkX2Rpc2stPmRpc2tfbmFtZSk7Ci19Ci1F WFBPUlRfU1lNQk9MX0dQTChmc19kYXhfZ2V0X2J5X2JkZXYpOwotI2VuZGlmCi0KIC8qKgogICog X19iZGV2X2RheF9zdXBwb3J0ZWQoKSAtIENoZWNrIGlmIHRoZSBkZXZpY2Ugc3VwcG9ydHMgZGF4 IGZvciBmaWxlc3lzdGVtCiAgKiBAc2I6IFRoZSBzdXBlcmJsb2NrIG9mIHRoZSBkZXZpY2UKQEAg LTU3OSw2ICs1NjksMTcgQEAgc3RydWN0IGRheF9kZXZpY2UgKmFsbG9jX2RheCh2b2lkICpwcml2 YXRlLCBjb25zdCBjaGFyICpfX2hvc3QsCiB9CiBFWFBPUlRfU1lNQk9MX0dQTChhbGxvY19kYXgp OwogCitzdHJ1Y3QgZGF4X2RldmljZSAqYWxsb2NfZGF4X2Rldm1hcCh2b2lkICpwcml2YXRlLCBj b25zdCBjaGFyICpob3N0LAorCQljb25zdCBzdHJ1Y3QgZGF4X29wZXJhdGlvbnMgKm9wcywgc3Ry dWN0IGRldl9wYWdlbWFwICpwZ21hcCkKK3sKKwlzdHJ1Y3QgZGF4X2RldmljZSAqZGF4X2RldiA9 IGFsbG9jX2RheChwcml2YXRlLCBob3N0LCBvcHMpOworCisJaWYgKGRheF9kZXYpCisJCWRheF9k ZXYtPnBnbWFwID0gcGdtYXA7CisJcmV0dXJuIGRheF9kZXY7Cit9CitFWFBPUlRfU1lNQk9MX0dQ TChhbGxvY19kYXhfZGV2bWFwKTsKKwogdm9pZCBwdXRfZGF4KHN0cnVjdCBkYXhfZGV2aWNlICpk YXhfZGV2KQogewogCWlmICghZGF4X2RldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL3Bt ZW0uYyBiL2RyaXZlcnMvbnZkaW1tL3BtZW0uYwppbmRleCAwNmY4ZGNjNTJjYTYuLmU2ZDczNTFm MzM3OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9udmRpbW0vcG1lbS5jCisrKyBiL2RyaXZlcnMvbnZk aW1tL3BtZW0uYwpAQCAtNDA4LDcgKzQwOCw4IEBAIHN0YXRpYyBpbnQgcG1lbV9hdHRhY2hfZGlz ayhzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJbnZkaW1tX2JhZGJsb2Nrc19wb3B1bGF0ZShuZF9yZWdp b24sICZwbWVtLT5iYiwgJmJiX3Jlcyk7CiAJZGlzay0+YmIgPSAmcG1lbS0+YmI7CiAKLQlkYXhf ZGV2ID0gYWxsb2NfZGF4KHBtZW0sIGRpc2stPmRpc2tfbmFtZSwgJnBtZW1fZGF4X29wcyk7CisJ ZGF4X2RldiA9IGFsbG9jX2RheF9kZXZtYXAocG1lbSwgZGlzay0+ZGlza19uYW1lLCAmcG1lbV9k YXhfb3BzLAorCQkJJnBtZW0tPnBnbWFwKTsKIAlpZiAoIWRheF9kZXYpIHsKIAkJcHV0X2Rpc2so ZGlzayk7CiAJCXJldHVybiAtRU5PTUVNOwpkaWZmIC0tZ2l0IGEvZnMvZXh0Mi9zdXBlci5jIGIv ZnMvZXh0Mi9zdXBlci5jCmluZGV4IDc2NjZjMDY1Yjk2Zi4uNmFlMjBlMzE5YmM0IDEwMDY0NAot LS0gYS9mcy9leHQyL3N1cGVyLmMKKysrIGIvZnMvZXh0Mi9zdXBlci5jCkBAIC0xNzIsNyArMTcy LDcgQEAgc3RhdGljIHZvaWQgZXh0Ml9wdXRfc3VwZXIgKHN0cnVjdCBzdXBlcl9ibG9jayAqIHNi KQogCWJyZWxzZSAoc2JpLT5zX3NiaCk7CiAJc2ItPnNfZnNfaW5mbyA9IE5VTEw7CiAJa2ZyZWUo c2JpLT5zX2Jsb2NrZ3JvdXBfbG9jayk7Ci0JZnNfcHV0X2RheChzYmktPnNfZGF4ZGV2KTsKKwlm c19kYXhfcmVsZWFzZShzYmktPnNfZGF4ZGV2LCBzYik7CiAJa2ZyZWUoc2JpKTsKIH0KIApAQCAt ODE3LDcgKzgxNyw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGRlc2NyaXB0b3JfbG9jKHN0cnVj dCBzdXBlcl9ibG9jayAqc2IsCiAKIHN0YXRpYyBpbnQgZXh0Ml9maWxsX3N1cGVyKHN0cnVjdCBz dXBlcl9ibG9jayAqc2IsIHZvaWQgKmRhdGEsIGludCBzaWxlbnQpCiB7Ci0Jc3RydWN0IGRheF9k ZXZpY2UgKmRheF9kZXYgPSBmc19kYXhfZ2V0X2J5X2JkZXYoc2ItPnNfYmRldik7CisJc3RydWN0 IGRheF9kZXZpY2UgKmRheF9kZXYgPSBmc19kYXhfY2xhaW1fYmRldihzYi0+c19iZGV2LCBzYik7 CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICogYmg7CiAJc3RydWN0IGV4dDJfc2JfaW5mbyAqIHNiaTsK IAlzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayAqIGVzOwpAQCAtMTIxMyw3ICsxMjEzLDcgQEAgc3Rh dGljIGludCBleHQyX2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0 YSwgaW50IHNpbGVudCkKIAlrZnJlZShzYmktPnNfYmxvY2tncm91cF9sb2NrKTsKIAlrZnJlZShz YmkpOwogZmFpbGVkOgotCWZzX3B1dF9kYXgoZGF4X2Rldik7CisJZnNfZGF4X3JlbGVhc2UoZGF4 X2Rldiwgc2IpOwogCXJldHVybiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL2V4dDQvc3VwZXIu YyBiL2ZzL2V4dDQvc3VwZXIuYwppbmRleCAzOWJmNDY0YzM1ZjEuLjMxNWEzMjM3MjllMyAxMDA2 NDQKLS0tIGEvZnMvZXh0NC9zdXBlci5jCisrKyBiL2ZzL2V4dDQvc3VwZXIuYwpAQCAtOTUyLDcg Kzk1Miw3IEBAIHN0YXRpYyB2b2lkIGV4dDRfcHV0X3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9jayAq c2IpCiAJaWYgKHNiaS0+c19jaGtzdW1fZHJpdmVyKQogCQljcnlwdG9fZnJlZV9zaGFzaChzYmkt PnNfY2hrc3VtX2RyaXZlcik7CiAJa2ZyZWUoc2JpLT5zX2Jsb2NrZ3JvdXBfbG9jayk7Ci0JZnNf cHV0X2RheChzYmktPnNfZGF4ZGV2KTsKKwlmc19kYXhfcmVsZWFzZShzYmktPnNfZGF4ZGV2LCBz Yik7CiAJa2ZyZWUoc2JpKTsKIH0KIApAQCAtMzM5OCw3ICszMzk4LDcgQEAgc3RhdGljIHZvaWQg ZXh0NF9zZXRfcmVzdl9jbHVzdGVycyhzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiKQogCiBzdGF0aWMg aW50IGV4dDRfZmlsbF9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLCB2b2lkICpkYXRhLCBp bnQgc2lsZW50KQogewotCXN0cnVjdCBkYXhfZGV2aWNlICpkYXhfZGV2ID0gZnNfZGF4X2dldF9i eV9iZGV2KHNiLT5zX2JkZXYpOworCXN0cnVjdCBkYXhfZGV2aWNlICpkYXhfZGV2ID0gZnNfZGF4 X2NsYWltX2JkZXYoc2ItPnNfYmRldiwgc2IpOwogCWNoYXIgKm9yaWdfZGF0YSA9IGtzdHJkdXAo ZGF0YSwgR0ZQX0tFUk5FTCk7CiAJc3RydWN0IGJ1ZmZlcl9oZWFkICpiaDsKIAlzdHJ1Y3QgZXh0 NF9zdXBlcl9ibG9jayAqZXMgPSBOVUxMOwpAQCAtNDQwOCw3ICs0NDA4LDcgQEAgc3RhdGljIGlu dCBleHQ0X2ZpbGxfc3VwZXIoc3RydWN0IHN1cGVyX2Jsb2NrICpzYiwgdm9pZCAqZGF0YSwgaW50 IHNpbGVudCkKIG91dF9mcmVlX2Jhc2U6CiAJa2ZyZWUoc2JpKTsKIAlrZnJlZShvcmlnX2RhdGEp OwotCWZzX3B1dF9kYXgoZGF4X2Rldik7CisJZnNfZGF4X3JlbGVhc2UoZGF4X2Rldiwgc2IpOwog CXJldHVybiBlcnIgPyBlcnIgOiByZXQ7CiB9CiAKZGlmZiAtLWdpdCBhL2ZzL3hmcy94ZnNfc3Vw ZXIuYyBiL2ZzL3hmcy94ZnNfc3VwZXIuYwppbmRleCA5MzU4OGVhM2QzZDIuLmVmN2RkNzE0OGMw YiAxMDA2NDQKLS0tIGEvZnMveGZzL3hmc19zdXBlci5jCisrKyBiL2ZzL3hmcy94ZnNfc3VwZXIu YwpAQCAtNzI0LDcgKzcyNCw3IEBAIHhmc19jbG9zZV9kZXZpY2VzKAogCiAJCXhmc19mcmVlX2J1 ZnRhcmcobXAsIG1wLT5tX2xvZ2Rldl90YXJncCk7CiAJCXhmc19ibGtkZXZfcHV0KGxvZ2Rldik7 Ci0JCWZzX3B1dF9kYXgoZGF4X2xvZ2Rldik7CisJCWZzX2RheF9yZWxlYXNlKGRheF9sb2dkZXYs IG1wKTsKIAl9CiAJaWYgKG1wLT5tX3J0ZGV2X3RhcmdwKSB7CiAJCXN0cnVjdCBibG9ja19kZXZp Y2UgKnJ0ZGV2ID0gbXAtPm1fcnRkZXZfdGFyZ3AtPmJ0X2JkZXY7CkBAIC03MzIsMTAgKzczMiwx MCBAQCB4ZnNfY2xvc2VfZGV2aWNlcygKIAogCQl4ZnNfZnJlZV9idWZ0YXJnKG1wLCBtcC0+bV9y dGRldl90YXJncCk7CiAJCXhmc19ibGtkZXZfcHV0KHJ0ZGV2KTsKLQkJZnNfcHV0X2RheChkYXhf cnRkZXYpOworCQlmc19kYXhfcmVsZWFzZShkYXhfcnRkZXYsIG1wKTsKIAl9CiAJeGZzX2ZyZWVf YnVmdGFyZyhtcCwgbXAtPm1fZGRldl90YXJncCk7Ci0JZnNfcHV0X2RheChkYXhfZGRldik7CisJ ZnNfZGF4X3JlbGVhc2UoZGF4X2RkZXYsIG1wKTsKIH0KIAogLyoKQEAgLTc1Myw5ICs3NTMsOSBA QCB4ZnNfb3Blbl9kZXZpY2VzKAogCXN0cnVjdCB4ZnNfbW91bnQJKm1wKQogewogCXN0cnVjdCBi bG9ja19kZXZpY2UJKmRkZXYgPSBtcC0+bV9zdXBlci0+c19iZGV2OwotCXN0cnVjdCBkYXhfZGV2 aWNlCSpkYXhfZGRldiA9IGZzX2RheF9nZXRfYnlfYmRldihkZGV2KTsKLQlzdHJ1Y3QgZGF4X2Rl dmljZQkqZGF4X2xvZ2RldiA9IE5VTEwsICpkYXhfcnRkZXYgPSBOVUxMOworCXN0cnVjdCBkYXhf ZGV2aWNlCSpkYXhfZGRldiA9IGZzX2RheF9jbGFpbV9iZGV2KGRkZXYsIG1wKTsKIAlzdHJ1Y3Qg YmxvY2tfZGV2aWNlCSpsb2dkZXYgPSBOVUxMLCAqcnRkZXYgPSBOVUxMOworCXN0cnVjdCBkYXhf ZGV2aWNlCSpkYXhfbG9nZGV2ID0gTlVMTCwgKmRheF9ydGRldiA9IE5VTEw7CiAJaW50CQkJZXJy b3I7CiAKIAkvKgpAQCAtNzY1LDcgKzc2NSw3IEBAIHhmc19vcGVuX2RldmljZXMoCiAJCWVycm9y ID0geGZzX2Jsa2Rldl9nZXQobXAsIG1wLT5tX2xvZ25hbWUsICZsb2dkZXYpOwogCQlpZiAoZXJy b3IpCiAJCQlnb3RvIG91dDsKLQkJZGF4X2xvZ2RldiA9IGZzX2RheF9nZXRfYnlfYmRldihsb2dk ZXYpOworCQlkYXhfbG9nZGV2ID0gZnNfZGF4X2NsYWltX2JkZXYobG9nZGV2LCBtcCk7CiAJfQog CiAJaWYgKG1wLT5tX3J0bmFtZSkgewpAQCAtNzc5LDcgKzc3OSw3IEBAIHhmc19vcGVuX2Rldmlj ZXMoCiAJCQllcnJvciA9IC1FSU5WQUw7CiAJCQlnb3RvIG91dF9jbG9zZV9ydGRldjsKIAkJfQot CQlkYXhfcnRkZXYgPSBmc19kYXhfZ2V0X2J5X2JkZXYocnRkZXYpOworCQlkYXhfcnRkZXYgPSBm c19kYXhfY2xhaW1fYmRldihydGRldiwgbXApOwogCX0KIAogCS8qCkBAIC04MTMsMTQgKzgxMywx NCBAQCB4ZnNfb3Blbl9kZXZpY2VzKAogCXhmc19mcmVlX2J1ZnRhcmcobXAsIG1wLT5tX2RkZXZf dGFyZ3ApOwogIG91dF9jbG9zZV9ydGRldjoKIAl4ZnNfYmxrZGV2X3B1dChydGRldik7Ci0JZnNf cHV0X2RheChkYXhfcnRkZXYpOworCWZzX2RheF9yZWxlYXNlKGRheF9ydGRldiwgbXApOwogIG91 dF9jbG9zZV9sb2dkZXY6CiAJaWYgKGxvZ2RldiAmJiBsb2dkZXYgIT0gZGRldikgewogCQl4ZnNf YmxrZGV2X3B1dChsb2dkZXYpOwotCQlmc19wdXRfZGF4KGRheF9sb2dkZXYpOworCQlmc19kYXhf cmVsZWFzZShkYXhfbG9nZGV2LCBtcCk7CiAJfQogIG91dDoKLQlmc19wdXRfZGF4KGRheF9kZGV2 KTsKKwlmc19kYXhfcmVsZWFzZShkYXhfZGRldiwgbXApOwogCXJldHVybiBlcnJvcjsKIH0KIApk aWZmIC0tZ2l0IGEvaW5jbHVkZS9saW51eC9kYXguaCBiL2luY2x1ZGUvbGludXgvZGF4LmgKaW5k ZXggZTlkNTlhNmIwNmUxLi5hODhmZjAwOWUyYTEgMTAwNjQ0Ci0tLSBhL2luY2x1ZGUvbGludXgv ZGF4LmgKKysrIGIvaW5jbHVkZS9saW51eC9kYXguaApAQCAtMzIsNiArMzIsOCBAQCBleHRlcm4g c3RydWN0IGF0dHJpYnV0ZV9ncm91cCBkYXhfYXR0cmlidXRlX2dyb3VwOwogc3RydWN0IGRheF9k ZXZpY2UgKmRheF9nZXRfYnlfaG9zdChjb25zdCBjaGFyICpob3N0KTsKIHN0cnVjdCBkYXhfZGV2 aWNlICphbGxvY19kYXgodm9pZCAqcHJpdmF0ZSwgY29uc3QgY2hhciAqaG9zdCwKIAkJY29uc3Qg c3RydWN0IGRheF9vcGVyYXRpb25zICpvcHMpOworc3RydWN0IGRheF9kZXZpY2UgKmFsbG9jX2Rh eF9kZXZtYXAodm9pZCAqcHJpdmF0ZSwgY29uc3QgY2hhciAqaG9zdCwKKwkJY29uc3Qgc3RydWN0 IGRheF9vcGVyYXRpb25zICpvcHMsIHN0cnVjdCBkZXZfcGFnZW1hcCAqcGdtYXApOwogdm9pZCBw dXRfZGF4KHN0cnVjdCBkYXhfZGV2aWNlICpkYXhfZGV2KTsKIHZvaWQga2lsbF9kYXgoc3RydWN0 IGRheF9kZXZpY2UgKmRheF9kZXYpOwogdm9pZCBkYXhfd3JpdGVfY2FjaGUoc3RydWN0IGRheF9k ZXZpY2UgKmRheF9kZXYsIGJvb2wgd2MpOwpAQCAtNTAsNiArNTIsMTIgQEAgc3RhdGljIGlubGlu ZSBzdHJ1Y3QgZGF4X2RldmljZSAqYWxsb2NfZGF4KHZvaWQgKnByaXZhdGUsIGNvbnN0IGNoYXIg Kmhvc3QsCiAJICovCiAJcmV0dXJuIE5VTEw7CiB9CitzdGF0aWMgaW5saW5lIHN0cnVjdCBkYXhf ZGV2aWNlICphbGxvY19kYXhfZGV2bWFwKHZvaWQgKnByaXZhdGUsCisJCWNvbnN0IGNoYXIgKmhv c3QsIGNvbnN0IHN0cnVjdCBkYXhfb3BlcmF0aW9ucyAqb3BzLAorCQlzdHJ1Y3QgZGV2X3BhZ2Vt YXAgKnBnbWFwKQoreworCXJldHVybiBOVUxMOworfQogc3RhdGljIGlubGluZSB2b2lkIHB1dF9k YXgoc3RydWN0IGRheF9kZXZpY2UgKmRheF9kZXYpCiB7CiB9CkBAIC03OSwxMiArODcsOCBAQCBz dGF0aWMgaW5saW5lIHN0cnVjdCBkYXhfZGV2aWNlICpmc19kYXhfZ2V0X2J5X2hvc3QoY29uc3Qg Y2hhciAqaG9zdCkKIAlyZXR1cm4gZGF4X2dldF9ieV9ob3N0KGhvc3QpOwogfQogCi1zdGF0aWMg aW5saW5lIHZvaWQgZnNfcHV0X2RheChzdHJ1Y3QgZGF4X2RldmljZSAqZGF4X2RldikKLXsKLQlw dXRfZGF4KGRheF9kZXYpOwotfQotCi1zdHJ1Y3QgZGF4X2RldmljZSAqZnNfZGF4X2dldF9ieV9i ZGV2KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYpOworc3RydWN0IGRheF9kZXZpY2UgKmZzX2Rh eF9jbGFpbV9iZGV2KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsIHZvaWQgKm93bmVyKTsKK3Zv aWQgZnNfZGF4X3JlbGVhc2Uoc3RydWN0IGRheF9kZXZpY2UgKmRheF9kZXYsIHZvaWQgKm93bmVy KTsKIGludCBkYXhfd3JpdGViYWNrX21hcHBpbmdfcmFuZ2Uoc3RydWN0IGFkZHJlc3Nfc3BhY2Ug Km1hcHBpbmcsCiAJCXN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsIHN0cnVjdCB3cml0ZWJhY2tf Y29udHJvbCAqd2JjKTsKIHN0cnVjdCBkYXhfZGV2aWNlICpmc19kYXhfY2xhaW0oc3RydWN0IGRh eF9kZXZpY2UgKmRheF9kZXYsIHZvaWQgKm93bmVyKTsKQEAgLTEwMCwxMyArMTA0LDE0IEBAIHN0 YXRpYyBpbmxpbmUgc3RydWN0IGRheF9kZXZpY2UgKmZzX2RheF9nZXRfYnlfaG9zdChjb25zdCBj aGFyICpob3N0KQogCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgaW5saW5lIHZvaWQgZnNfcHV0 X2RheChzdHJ1Y3QgZGF4X2RldmljZSAqZGF4X2RldikKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGRh eF9kZXZpY2UgKmZzX2RheF9jbGFpbV9iZGV2KHN0cnVjdCBibG9ja19kZXZpY2UgKmJkZXYsCisJ CXZvaWQgKm93bmVyKQogeworCXJldHVybiBOVUxMOwogfQogCi1zdGF0aWMgaW5saW5lIHN0cnVj dCBkYXhfZGV2aWNlICpmc19kYXhfZ2V0X2J5X2JkZXYoc3RydWN0IGJsb2NrX2RldmljZSAqYmRl dikKK3N0YXRpYyBpbmxpbmUgdm9pZCBmc19kYXhfcmVsZWFzZShzdHJ1Y3QgZGF4X2RldmljZSAq ZGF4X2Rldiwgdm9pZCAqb3duZXIpCiB7Ci0JcmV0dXJuIE5VTEw7CiB9CiAKIHN0YXRpYyBpbmxp bmUgaW50IGRheF93cml0ZWJhY2tfbWFwcGluZ19yYW5nZShzdHJ1Y3QgYWRkcmVzc19zcGFjZSAq bWFwcGluZywKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkxpbnV4LW52ZGltbSBtYWlsaW5nIGxpc3QKTGludXgtbnZkaW1tQGxpc3RzLjAxLm9yZwpodHRw czovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW52ZGltbQo=