From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.5 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 80E59CA9EC3 for ; Thu, 31 Oct 2019 04:19:43 +0000 (UTC) Received: from ml01.01.org (ml01.01.org [198.145.21.10]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 517582080F for ; Thu, 31 Oct 2019 04:19:43 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="signature verification failed" (2048-bit key) header.d=intel-com.20150623.gappssmtp.com header.i=@intel-com.20150623.gappssmtp.com header.b="kijhLMul" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 517582080F Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-nvdimm-bounces@lists.01.org Received: from new-ml01.vlan13.01.org (localhost [IPv6:::1]) by ml01.01.org (Postfix) with ESMTP id D7B8E100EA55E; Wed, 30 Oct 2019 21:20:13 -0700 (PDT) Received-SPF: Pass (mailfrom) identity=mailfrom; client-ip=2607:f8b0:4864:20::342; helo=mail-ot1-x342.google.com; envelope-from=dan.j.williams@intel.com; receiver= Received: from mail-ot1-x342.google.com (mail-ot1-x342.google.com [IPv6:2607:f8b0:4864:20::342]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 891AC100EA554 for ; Wed, 30 Oct 2019 21:20:11 -0700 (PDT) Received: by mail-ot1-x342.google.com with SMTP id b19so4197556otq.10 for ; Wed, 30 Oct 2019 21:19:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5ANTni5esd/W6avlPFRicVa8M39xgxWPQ5ZjKIIJvzk=; b=kijhLMuldPcQ3iE8MnsUWCi/YUvav7iBvPzzW0gJakoCGGA9KVoMtxbGznJ1B+J4J7 wvLAlFgsPWdtIKDpkV4QAZBR/E38T0QS6HViAJF9De01Xx7JzrIc0P05ouwDFlPLWHq4 nfIVUlyqQ0KPBPVPkdvuELfvaAo7dGeHDEoMZpBKA/K5C4hLqbGuS1YlaefqsZ4rt6N/ 4q0P+RxTyu90pGVaswND9CG0OudhcNukyT+ygzLhb5FvGpVmHOXw8hu1sKqxWn6kXhH1 MKrnbhIrPJqt6cwbXUkQkSPFIppz1akcObMifEq425PRTP7a+kWWQAuWFWT6wxZJ49+P JOJw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5ANTni5esd/W6avlPFRicVa8M39xgxWPQ5ZjKIIJvzk=; b=NlMwxKjx+K5m5kf2Uu/g+GpOn3HwC2ur3IYfB5RUl4de5vTS27EHG8F5pI+iLadVJy dqR1wI714Ex5RkeDDols1QbrsHmjrO+UtrDVHkSSJ2+eBBMHxEJ453aGw2Z5l0PVU0QL //5b/u9w15cn/SIbpUKyA3oqfQcXnusWqP4WhvAHRClxYih95/IXEPkFE2yEn9A2eCPO cDvSOIYBBUVXCbqEmO3UrdejpmETE4RY6sQAsp7syFd4QQt5FOxxDO3NRltU47VS/LHz huoAg4NsG2AQfdfSrFHXNirGQZ4A+3h3ofpjyN+MLPMjJo8yi4PnT+u4r4LV0pY0PwUa HJOg== X-Gm-Message-State: APjAAAWUX4ThJ0i2hoHUX/MLKZ019OGU+wFTymOklvyUfpTdEazJeVjV PkUwLIDw3SUphDMHElaaG8VoMPskcrNAWdDH6Iq3Nw== X-Google-Smtp-Source: APXvYqxQY6aIiIcY+f3IRPDa4+nMvbcYq3Gg9kXeeEiLcn0bwnmN6nbFB8BkfDvLNTLzqZ2uJ+IW6FFMUR/imwdEaTA= X-Received: by 2002:a05:6830:18d1:: with SMTP id v17mr2567241ote.71.1572495579690; Wed, 30 Oct 2019 21:19:39 -0700 (PDT) MIME-Version: 1.0 References: <20191017073308.32645-1-aneesh.kumar@linux.ibm.com> <49c98556-5c57-b8fc-ef50-fa0ed679e094@linux.ibm.com> In-Reply-To: From: Dan Williams Date: Wed, 30 Oct 2019 21:19:28 -0700 Message-ID: Subject: Re: [PATCH v3] libnvdimm/nsio: differentiate between probe mapping and runtime mapping To: "Aneesh Kumar K.V" Content-Type: multipart/mixed; boundary="000000000000705f4c05962d2857" Message-ID-Hash: ISDUIGUIIAPPUA6V2BXWVJL57M2EYPV5 X-Message-ID-Hash: ISDUIGUIIAPPUA6V2BXWVJL57M2EYPV5 X-MailFrom: dan.j.williams@intel.com X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; suspicious-header CC: linux-nvdimm X-Mailman-Version: 3.1.1 Precedence: list List-Id: "Linux-nvdimm developer list." Archived-At: List-Archive: List-Help: List-Post: List-Subscribe: List-Unsubscribe: --000000000000705f4c05962d2857 Content-Type: text/plain; charset="UTF-8" On Wed, Oct 30, 2019 at 9:10 PM Aneesh Kumar K.V wrote: [..] > > > > Can you share the call stack? we clear bad blocks on write isn't? and we > do only read while probing? > > We are still working on enabling `ndctl test` to run on POWER. Hence was > not able capture these issues. Will try to get that resolved soon. Here's the splat. I've also attached a reworked version of the patch that has code organization fixups. It might be the case that it needs to fully move to a model where each nd_*_probe() routine does its own management of devm_namespace_enable() based on the sizes it needs to complete the probe process. nd_pmem namespace3.0: request out of range WARNING: CPU: 16 PID: 1551 at tools/testing/nvdimm/../../../drivers/nvdimm/claim.c:264 nsio_rw_bytes+0x14c/0x260 [libnvdimm] RIP: 0010:nsio_rw_bytes+0x14c/0x260 [libnvdimm] Call Trace: nd_pfn_validate+0x3d9/0x560 [libnvdimm] nd_pfn_probe+0xc0/0x150 [libnvdimm] ? nd_btt_probe+0x1e/0x270 [libnvdimm] nd_pmem_probe+0x63/0xc0 [nd_pmem] nvdimm_bus_probe+0x91/0x310 [libnvdimm] That nd_pfn_validate+0x3d9 corresponds to the nvdimm_write_bytes() in nd_pfn_clear_memmap_errors(). --000000000000705f4c05962d2857 Content-Type: text/x-patch; charset="US-ASCII"; name="namespace-enable.patch" Content-Disposition: attachment; filename="namespace-enable.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_k2e78xhy0 bGlibnZkaW1tL25hbWVzcGFjZTogRGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHByb2JlIG1hcHBpbmcg YW5kIHJ1bnRpbWUgbWFwcGluZwoKRnJvbTogQW5lZXNoIEt1bWFyIEsuViA8YW5lZXNoLmt1bWFy QGxpbnV4LmlibS5jb20+CgpUaGUgbnZkaW1tIGNvcmUgY3VycmVudGx5IG1hcHMgdGhlIGZ1bGwg bmFtZXNwYWNlIHRvIGFuIGlvcmVtYXAgcmFuZ2UKd2hpbGUgcHJvYmluZyB0aGUgbmFtZXNwYWNl IG1vZGUuIFRoaXMgY2FuIHJlc3VsdCBpbiBwcm9iZSBmYWlsdXJlcyBvbgphcmNoaXRlY3R1cmVz IHRoYXQgaGF2ZSBsaW1pdGVkIGlvcmVtYXAgc3BhY2UuCgpGb3IgZXhhbXBsZSwgd2l0aCBhIGxh cmdlIGJ0dCBuYW1lc3BhY2UgdGhhdCBjb25zdW1lcyBtb3N0IG9mIEkvTyByZW1hcApyYW5nZSwg ZGVwZW5kaW5nIG9uIHRoZSBzZXF1ZW5jZSBvZiBuYW1lc3BhY2UgaW5pdGlhbGl6YXRpb24sIHRo ZSB1c2VyCmNhbiBmaW5kIGEgcGZuIG5hbWVzcGFjZSBpbml0aWFsaXphdGlvbiBmYWlsdXJlIGR1 ZSB0byB1bmF2YWlsYWJsZSBJL08KcmVtYXAgc3BhY2Ugd2hpY2ggbnZkaW1tIGNvcmUgdXNlcyBm b3IgdGVtcG9yYXJ5IG1hcHBpbmcuCgpudmRpbW0gY29yZSBjYW4gYXZvaWQgdGhpcyBmYWlsdXJl IGJ5IG9ubHkgbWFwcGluZyB0aGUgcmVzZXJ2ZWQgaW5mbwpibG9jayBhcmVhIHRvIGNoZWNrIGZv ciBwZm4gc3VwZXJibG9jayB0eXBlIGFuZCBtYXAgdGhlIGZ1bGwgbmFtZXNwYWNlCnJlc291cmNl IG9ubHkgYmVmb3JlIHVzaW5nIHRoZSBuYW1lc3BhY2UuCgpHaXZlbiB0aGF0IHBlcnNvbmFsaXRp ZXMgbGlrZSBCVFQgY2FuIGJlIGxheWVyZWQgb24gdG9wIG9mIGFueSBuYW1lc3BhY2UKdHlwZSBj cmVhdGUgYSBnZW5lcmljIGZvcm0gb2YgZGV2bV9uc2lvX2VuYWJsZSAoZGV2bV9uYW1lc3BhY2Vf ZW5hYmxlKQphbmQgdXNlIGl0IGluc2lkZSB0aGUgcGVyLXBlcnNvbmFsaXR5IGF0dGFjaCByb3V0 aW5lcy4gTm93CmRldm1fbmFtZXNwYWNlX2VuYWJsZSgpIGlzIGFsd2F5cyBwYWlyZWQgd2l0aCBk aXNhYmxlIHVubGVzcyB0aGUgbWFwcGluZwppcyBnb2luZyB0byBiZSB1c2VkIGZvciBsb25nIHRl cm0gcnVudGltZSBhY2Nlc3MuCgpTaWduZWQtb2ZmLWJ5OiBBbmVlc2ggS3VtYXIgSy5WIDxhbmVl c2gua3VtYXJAbGludXguaWJtLmNvbT4KTGluazogaHR0cHM6Ly9sb3JlLmtlcm5lbC5vcmcvci8y MDE5MTAxNzA3MzMwOC4zMjY0NS0xLWFuZWVzaC5rdW1hckBsaW51eC5pYm0uY29tCltkamJ3OiBy ZXdvcmtzIHRvIG1vdmUgZGV2bV9uYW1lc3BhY2Vfe2VuLGRpc31hYmxlIGludG8gKmF0dGFjaCBo ZWxwZXJzXQpTaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2RheC9wbWVtL2NvcmUuYyAgICAgICAgIHwgICAgNiArKystLS0K IGRyaXZlcnMvbnZkaW1tL2J0dC5jICAgICAgICAgICAgfCAgIDEwICsrKysrKysrLS0KIGRyaXZl cnMvbnZkaW1tL2NsYWltLmMgICAgICAgICAgfCAgIDE0ICsrKysrKy0tLS0tLS0tCiBkcml2ZXJz L252ZGltbS9uYW1lc3BhY2VfZGV2cy5jIHwgICAxNyArKysrKysrKysrKysrKysrKwogZHJpdmVy cy9udmRpbW0vbmQtY29yZS5oICAgICAgICB8ICAgMTYgKysrKysrKysrKysrKysrKwogZHJpdmVy cy9udmRpbW0vbmQuaCAgICAgICAgICAgICB8ICAgMjIgKysrKysrKysrLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9udmRpbW0vcGZuX2RldnMuYyAgICAgICB8ICAgIDkgKystLS0tLS0tCiBkcml2ZXJz L252ZGltbS9wbWVtLmMgICAgICAgICAgIHwgICAxNyArKysrKysrKysrKysrLS0tLQogOCBmaWxl cyBjaGFuZ2VkLCA3NCBpbnNlcnRpb25zKCspLCAzNyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2RheC9wbWVtL2NvcmUuYyBiL2RyaXZlcnMvZGF4L3BtZW0vY29yZS5jCmluZGV4 IDZlYjZkZmRmMTliZi4uMmJlZGY4NDE0ZmZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2RheC9wbWVt L2NvcmUuYworKysgYi9kcml2ZXJzL2RheC9wbWVtL2NvcmUuYwpAQCAtMjUsMjAgKzI1LDIwIEBA IHN0cnVjdCBkZXZfZGF4ICpfX2RheF9wbWVtX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgZW51 bSBkZXZfZGF4X3N1YnN5cyBzdWJzeXMpCiAJbmRucyA9IG52ZGltbV9uYW1lc3BhY2VfY29tbW9u X3Byb2JlKGRldik7CiAJaWYgKElTX0VSUihuZG5zKSkKIAkJcmV0dXJuIEVSUl9DQVNUKG5kbnMp OwotCW5zaW8gPSB0b19uZF9uYW1lc3BhY2VfaW8oJm5kbnMtPmRldik7CiAKIAkvKiBwYXJzZSB0 aGUgJ3BmbicgaW5mbyBibG9jayB2aWEgLT5yd19ieXRlcyAqLwotCXJjID0gZGV2bV9uc2lvX2Vu YWJsZShkZXYsIG5zaW8pOworCXJjID0gZGV2bV9uYW1lc3BhY2VfZW5hYmxlKGRldiwgbmRucywg bmRfaW5mb19ibG9ja19yZXNlcnZlKCkpOwogCWlmIChyYykKIAkJcmV0dXJuIEVSUl9QVFIocmMp OwogCXJjID0gbnZkaW1tX3NldHVwX3BmbihuZF9wZm4sICZwZ21hcCk7CiAJaWYgKHJjKQogCQly ZXR1cm4gRVJSX1BUUihyYyk7Ci0JZGV2bV9uc2lvX2Rpc2FibGUoZGV2LCBuc2lvKTsKKwlkZXZt X25hbWVzcGFjZV9kaXNhYmxlKGRldiwgbmRucyk7CiAKIAkvKiByZXNlcnZlIHRoZSBtZXRhZGF0 YSBhcmVhLCBkZXZpY2UtZGF4IHdpbGwgcmVzZXJ2ZSB0aGUgZGF0YSAqLwogCXBmbl9zYiA9IG5k X3Bmbi0+cGZuX3NiOwogCW9mZnNldCA9IGxlNjRfdG9fY3B1KHBmbl9zYi0+ZGF0YW9mZik7CisJ bnNpbyA9IHRvX25kX25hbWVzcGFjZV9pbygmbmRucy0+ZGV2KTsKIAlpZiAoIWRldm1fcmVxdWVz dF9tZW1fcmVnaW9uKGRldiwgbnNpby0+cmVzLnN0YXJ0LCBvZmZzZXQsCiAJCQkJZGV2X25hbWUo Jm5kbnMtPmRldikpKSB7CiAJCWRldl93YXJuKGRldiwgImNvdWxkIG5vdCByZXNlcnZlIG1ldGFk YXRhXG4iKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL2J0dC5jIGIvZHJpdmVycy9udmRp bW0vYnR0LmMKaW5kZXggM2U5ZjQ1YWVjOGQxLi44Y2I4OTBhOTg3YjAgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvbnZkaW1tL2J0dC5jCisrKyBiL2RyaXZlcnMvbnZkaW1tL2J0dC5jCkBAIC0xNjc0LDcg KzE2NzQsOCBAQCBpbnQgbnZkaW1tX25hbWVzcGFjZV9hdHRhY2hfYnR0KHN0cnVjdCBuZF9uYW1l c3BhY2VfY29tbW9uICpuZG5zKQogCXN0cnVjdCBuZF9yZWdpb24gKm5kX3JlZ2lvbjsKIAlzdHJ1 Y3QgYnR0X3NiICpidHRfc2I7CiAJc3RydWN0IGJ0dCAqYnR0OwotCXNpemVfdCByYXdzaXplOwor CXNpemVfdCBzaXplLCByYXdzaXplOworCWludCByYzsKIAogCWlmICghbmRfYnR0LT51dWlkIHx8 ICFuZF9idHQtPm5kbnMgfHwgIW5kX2J0dC0+bGJhc2l6ZSkgewogCQlkZXZfZGJnKCZuZF9idHQt PmRldiwgImluY29tcGxldGUgYnR0IGNvbmZpZ3VyYXRpb25cbiIpOwpAQCAtMTY4NSw2ICsxNjg2 LDExIEBAIGludCBudmRpbW1fbmFtZXNwYWNlX2F0dGFjaF9idHQoc3RydWN0IG5kX25hbWVzcGFj ZV9jb21tb24gKm5kbnMpCiAJaWYgKCFidHRfc2IpCiAJCXJldHVybiAtRU5PTUVNOwogCisJc2l6 ZSA9IG52ZGltbV9uYW1lc3BhY2VfY2FwYWNpdHkobmRucyk7CisJcmMgPSBkZXZtX25hbWVzcGFj ZV9lbmFibGUoJm5kX2J0dC0+ZGV2LCBuZG5zLCBzaXplKTsKKwlpZiAocmMpCisJCXJldHVybiBy YzsKKwogCS8qCiAJICogSWYgdGhpcyByZXR1cm5zIDwgMCwgdGhhdCBpcyBvayBhcyBpdCBqdXN0 IG1lYW5zIHRoZXJlIHdhc24ndAogCSAqIGFuIGV4aXN0aW5nIEJUVCwgYW5kIHdlJ3JlIGNyZWF0 aW5nIGEgbmV3IG9uZS4gV2Ugc3RpbGwgbmVlZCB0bwpAQCAtMTY5Myw3ICsxNjk5LDcgQEAgaW50 IG52ZGltbV9uYW1lc3BhY2VfYXR0YWNoX2J0dChzdHJ1Y3QgbmRfbmFtZXNwYWNlX2NvbW1vbiAq bmRucykKIAkgKi8KIAluZF9idHRfdmVyc2lvbihuZF9idHQsIG5kbnMsIGJ0dF9zYik7CiAKLQly YXdzaXplID0gbnZkaW1tX25hbWVzcGFjZV9jYXBhY2l0eShuZG5zKSAtIG5kX2J0dC0+aW5pdGlh bF9vZmZzZXQ7CisJcmF3c2l6ZSA9IHNpemUgLSBuZF9idHQtPmluaXRpYWxfb2Zmc2V0OwogCWlm IChyYXdzaXplIDwgQVJFTkFfTUlOX1NJWkUpIHsKIAkJZGV2X2RiZygmbmRfYnR0LT5kZXYsICIl cyBtdXN0IGJlIGF0IGxlYXN0ICVsZCBieXRlc1xuIiwKIAkJCQlkZXZfbmFtZSgmbmRucy0+ZGV2 KSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvbnZkaW1tL2NsYWltLmMgYi9kcml2ZXJzL252ZGltbS9j bGFpbS5jCmluZGV4IDI5ODVjYTk0OTkxMi4uNDU5NjRhY2JhOTQ0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL252ZGltbS9jbGFpbS5jCisrKyBiL2RyaXZlcnMvbnZkaW1tL2NsYWltLmMKQEAgLTMwMCwx MyArMzAwLDE0IEBAIHN0YXRpYyBpbnQgbnNpb19yd19ieXRlcyhzdHJ1Y3QgbmRfbmFtZXNwYWNl X2NvbW1vbiAqbmRucywKIAlyZXR1cm4gcmM7CiB9CiAKLWludCBkZXZtX25zaW9fZW5hYmxlKHN0 cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykKK2ludCBkZXZt X25zaW9fZW5hYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAq bnNpbywKKwkJcmVzb3VyY2Vfc2l6ZV90IHNpemUpCiB7CiAJc3RydWN0IHJlc291cmNlICpyZXMg PSAmbnNpby0+cmVzOwogCXN0cnVjdCBuZF9uYW1lc3BhY2VfY29tbW9uICpuZG5zID0gJm5zaW8t PmNvbW1vbjsKIAotCW5zaW8tPnNpemUgPSByZXNvdXJjZV9zaXplKHJlcyk7Ci0JaWYgKCFkZXZt X3JlcXVlc3RfbWVtX3JlZ2lvbihkZXYsIHJlcy0+c3RhcnQsIHJlc291cmNlX3NpemUocmVzKSwK Kwluc2lvLT5zaXplID0gc2l6ZTsKKwlpZiAoIWRldm1fcmVxdWVzdF9tZW1fcmVnaW9uKGRldiwg cmVzLT5zdGFydCwgc2l6ZSwKIAkJCQlkZXZfbmFtZSgmbmRucy0+ZGV2KSkpIHsKIAkJZGV2X3dh cm4oZGV2LCAiY291bGQgbm90IHJlc2VydmUgcmVnaW9uICVwUlxuIiwgcmVzKTsKIAkJcmV0dXJu IC1FQlVTWTsKQEAgLTMxOCwxMiArMzE5LDEwIEBAIGludCBkZXZtX25zaW9fZW5hYmxlKHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykKIAludmRpbW1fYmFk YmxvY2tzX3BvcHVsYXRlKHRvX25kX3JlZ2lvbihuZG5zLT5kZXYucGFyZW50KSwgJm5zaW8tPmJi LAogCQkJJm5zaW8tPnJlcyk7CiAKLQluc2lvLT5hZGRyID0gZGV2bV9tZW1yZW1hcChkZXYsIHJl cy0+c3RhcnQsIHJlc291cmNlX3NpemUocmVzKSwKLQkJCUFSQ0hfTUVNUkVNQVBfUE1FTSk7CisJ bnNpby0+YWRkciA9IGRldm1fbWVtcmVtYXAoZGV2LCByZXMtPnN0YXJ0LCBzaXplLCBBUkNIX01F TVJFTUFQX1BNRU0pOwogCiAJcmV0dXJuIFBUUl9FUlJfT1JfWkVSTyhuc2lvLT5hZGRyKTsKIH0K LUVYUE9SVF9TWU1CT0xfR1BMKGRldm1fbnNpb19lbmFibGUpOwogCiB2b2lkIGRldm1fbnNpb19k aXNhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykK IHsKQEAgLTMzMSw2ICszMzAsNSBAQCB2b2lkIGRldm1fbnNpb19kaXNhYmxlKHN0cnVjdCBkZXZp Y2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykKIAogCWRldm1fbWVtdW5tYXAo ZGV2LCBuc2lvLT5hZGRyKTsKIAlkZXZtX2V4aXRfYmFkYmxvY2tzKGRldiwgJm5zaW8tPmJiKTsK LQlkZXZtX3JlbGVhc2VfbWVtX3JlZ2lvbihkZXYsIHJlcy0+c3RhcnQsIHJlc291cmNlX3NpemUo cmVzKSk7CisJZGV2bV9yZWxlYXNlX21lbV9yZWdpb24oZGV2LCByZXMtPnN0YXJ0LCBuc2lvLT5z aXplKTsKIH0KLUVYUE9SVF9TWU1CT0xfR1BMKGRldm1fbnNpb19kaXNhYmxlKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvbnZkaW1tL25hbWVzcGFjZV9kZXZzLmMgYi9kcml2ZXJzL252ZGltbS9uYW1l c3BhY2VfZGV2cy5jCmluZGV4IDg1YjU1MzA5NGQxOS4uMjJmYWI4MGE5NmZjIDEwMDY0NAotLS0g YS9kcml2ZXJzL252ZGltbS9uYW1lc3BhY2VfZGV2cy5jCisrKyBiL2RyaXZlcnMvbnZkaW1tL25h bWVzcGFjZV9kZXZzLmMKQEAgLTE3NjMsNiArMTc2MywyMyBAQCBzdHJ1Y3QgbmRfbmFtZXNwYWNl X2NvbW1vbiAqbnZkaW1tX25hbWVzcGFjZV9jb21tb25fcHJvYmUoc3RydWN0IGRldmljZSAqZGV2 KQogfQogRVhQT1JUX1NZTUJPTChudmRpbW1fbmFtZXNwYWNlX2NvbW1vbl9wcm9iZSk7CiAKK2lu dCBkZXZtX25hbWVzcGFjZV9lbmFibGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbmRfbmFt ZXNwYWNlX2NvbW1vbiAqbmRucywKKwkJcmVzb3VyY2Vfc2l6ZV90IHNpemUpCit7CisJaWYgKGlz X25hbWVzcGFjZV9ibGsoJm5kbnMtPmRldikpCisJCXJldHVybiAwOworCXJldHVybiBkZXZtX25z aW9fZW5hYmxlKGRldiwgdG9fbmRfbmFtZXNwYWNlX2lvKCZuZG5zLT5kZXYpLCBzaXplKTsKK30K K0VYUE9SVF9TWU1CT0xfR1BMKGRldm1fbmFtZXNwYWNlX2VuYWJsZSk7CisKK3ZvaWQgZGV2bV9u YW1lc3BhY2VfZGlzYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBuZF9uYW1lc3BhY2Vf Y29tbW9uICpuZG5zKQoreworCWlmIChpc19uYW1lc3BhY2VfYmxrKCZuZG5zLT5kZXYpKQorCQly ZXR1cm47CisJZGV2bV9uc2lvX2Rpc2FibGUoZGV2LCB0b19uZF9uYW1lc3BhY2VfaW8oJm5kbnMt PmRldikpOworfQorRVhQT1JUX1NZTUJPTF9HUEwoZGV2bV9uYW1lc3BhY2VfZGlzYWJsZSk7CisK IHN0YXRpYyBzdHJ1Y3QgZGV2aWNlICoqY3JlYXRlX25hbWVzcGFjZV9pbyhzdHJ1Y3QgbmRfcmVn aW9uICpuZF9yZWdpb24pCiB7CiAJc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbzsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvbnZkaW1tL25kLWNvcmUuaCBiL2RyaXZlcnMvbnZkaW1tL25kLWNvcmUu aAppbmRleCAyNWZhMTIxMTA0ZDAuLjI1YWUzM2RhOTg3ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9u dmRpbW0vbmQtY29yZS5oCisrKyBiL2RyaXZlcnMvbnZkaW1tL25kLWNvcmUuaApAQCAtMTcxLDYg KzE3MSwyMiBAQCBzc2l6ZV90IG5kX25hbWVzcGFjZV9zdG9yZShzdHJ1Y3QgZGV2aWNlICpkZXYs CiBzdHJ1Y3QgbmRfcGZuICp0b19uZF9wZm5fc2FmZShzdHJ1Y3QgZGV2aWNlICpkZXYpOwogYm9v bCBpc19udmRpbW1fYnVzKHN0cnVjdCBkZXZpY2UgKmRldik7CiAKKyNpZiBJU19FTkFCTEVEKENP TkZJR19ORF9DTEFJTSkKK2ludCBkZXZtX25zaW9fZW5hYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwg c3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbywKKwkJcmVzb3VyY2Vfc2l6ZV90IHNpemUpOwor dm9pZCBkZXZtX25zaW9fZGlzYWJsZShzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBuZF9uYW1l c3BhY2VfaW8gKm5zaW8pOworI2Vsc2UKK3N0YXRpYyBpbmxpbmUgaW50IGRldm1fbnNpb19lbmFi bGUoc3RydWN0IGRldmljZSAqZGV2LAorCQlzdHJ1Y3QgbmRfbmFtZXNwYWNlX2lvICpuc2lvLCBy ZXNvdXJjZV9zaXplX3Qgc2l6ZSkKK3sKKwlyZXR1cm4gLUVOWElPOworfQorCit2b2lkIGRldm1f bnNpb19kaXNhYmxlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9pbyAq bnNpbykKK3sKK30KKyNlbmRpZgorCiAjaWZkZWYgQ09ORklHX1BST1ZFX0xPQ0tJTkcKIGV4dGVy biBzdHJ1Y3QgY2xhc3MgKm5kX2NsYXNzOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL252ZGltbS9u ZC5oIGIvZHJpdmVycy9udmRpbW0vbmQuaAppbmRleCA1Nzc4MDAyNDIxMTAuLjM4NmYxOTUwN2Ix MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9udmRpbW0vbmQuaAorKysgYi9kcml2ZXJzL252ZGltbS9u ZC5oCkBAIC0yMTIsNiArMjEyLDExIEBAIHN0cnVjdCBuZF9kYXggewogCXN0cnVjdCBuZF9wZm4g bmRfcGZuOwogfTsKIAorc3RhdGljIGlubGluZSB1MzIgbmRfaW5mb19ibG9ja19yZXNlcnZlKHZv aWQpCit7CisJcmV0dXJuIEFMSUdOKFNaXzhLLCBQQUdFX1NJWkUpOworfQorCiBlbnVtIG5kX2Fz eW5jX21vZGUgewogCU5EX1NZTkMsCiAJTkRfQVNZTkMsCkBAIC0zNzMsMjkgKzM3OCwyMCBAQCBj b25zdCBjaGFyICpudmRpbW1fbmFtZXNwYWNlX2Rpc2tfbmFtZShzdHJ1Y3QgbmRfbmFtZXNwYWNl X2NvbW1vbiAqbmRucywKIHVuc2lnbmVkIGludCBwbWVtX3NlY3Rvcl9zaXplKHN0cnVjdCBuZF9u YW1lc3BhY2VfY29tbW9uICpuZG5zKTsKIHZvaWQgbnZkaW1tX2JhZGJsb2Nrc19wb3B1bGF0ZShz dHJ1Y3QgbmRfcmVnaW9uICpuZF9yZWdpb24sCiAJCXN0cnVjdCBiYWRibG9ja3MgKmJiLCBjb25z dCBzdHJ1Y3QgcmVzb3VyY2UgKnJlcyk7CitpbnQgZGV2bV9uYW1lc3BhY2VfZW5hYmxlKHN0cnVj dCBkZXZpY2UgKmRldiwgc3RydWN0IG5kX25hbWVzcGFjZV9jb21tb24gKm5kbnMsCisJCXJlc291 cmNlX3NpemVfdCBzaXplKTsKK3ZvaWQgZGV2bV9uYW1lc3BhY2VfZGlzYWJsZShzdHJ1Y3QgZGV2 aWNlICpkZXYsCisJCXN0cnVjdCBuZF9uYW1lc3BhY2VfY29tbW9uICpuZG5zKTsKICNpZiBJU19F TkFCTEVEKENPTkZJR19ORF9DTEFJTSkKLQogLyogbWF4IHN0cnVjdCBwYWdlIHNpemUgaW5kZXBl bmRlbnQgb2Yga2VybmVsIGNvbmZpZyAqLwogI2RlZmluZSBNQVhfU1RSVUNUX1BBR0VfU0laRSA2 NAotCiBpbnQgbnZkaW1tX3NldHVwX3BmbihzdHJ1Y3QgbmRfcGZuICpuZF9wZm4sIHN0cnVjdCBk ZXZfcGFnZW1hcCAqcGdtYXApOwotaW50IGRldm1fbnNpb19lbmFibGUoc3RydWN0IGRldmljZSAq ZGV2LCBzdHJ1Y3QgbmRfbmFtZXNwYWNlX2lvICpuc2lvKTsKLXZvaWQgZGV2bV9uc2lvX2Rpc2Fi bGUoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgbmRfbmFtZXNwYWNlX2lvICpuc2lvKTsKICNl bHNlCiBzdGF0aWMgaW5saW5lIGludCBudmRpbW1fc2V0dXBfcGZuKHN0cnVjdCBuZF9wZm4gKm5k X3BmbiwKIAkJCQkgICBzdHJ1Y3QgZGV2X3BhZ2VtYXAgKnBnbWFwKQogewogCXJldHVybiAtRU5Y SU87CiB9Ci1zdGF0aWMgaW5saW5lIGludCBkZXZtX25zaW9fZW5hYmxlKHN0cnVjdCBkZXZpY2Ug KmRldiwKLQkJc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykKLXsKLQlyZXR1cm4gLUVOWElP OwotfQotc3RhdGljIGlubGluZSB2b2lkIGRldm1fbnNpb19kaXNhYmxlKHN0cnVjdCBkZXZpY2Ug KmRldiwKLQkJc3RydWN0IG5kX25hbWVzcGFjZV9pbyAqbnNpbykKLXsKLX0KICNlbmRpZgogaW50 IG5kX2Jsa19yZWdpb25faW5pdChzdHJ1Y3QgbmRfcmVnaW9uICpuZF9yZWdpb24pOwogaW50IG5k X3JlZ2lvbl9hY3RpdmF0ZShzdHJ1Y3QgbmRfcmVnaW9uICpuZF9yZWdpb24pOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9udmRpbW0vcGZuX2RldnMuYyBiL2RyaXZlcnMvbnZkaW1tL3Bmbl9kZXZzLmMK aW5kZXggOWY5Y2I1MTMwMWU3Li45Mjc0NjViMzVjYWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvbnZk aW1tL3Bmbl9kZXZzLmMKKysrIGIvZHJpdmVycy9udmRpbW0vcGZuX2RldnMuYwpAQCAtNjI3LDEx ICs2MjcsNiBAQCBpbnQgbmRfcGZuX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IG5k X25hbWVzcGFjZV9jb21tb24gKm5kbnMpCiB9CiBFWFBPUlRfU1lNQk9MKG5kX3Bmbl9wcm9iZSk7 CiAKLXN0YXRpYyB1MzIgaW5mb19ibG9ja19yZXNlcnZlKHZvaWQpCi17Ci0JcmV0dXJuIEFMSUdO KFNaXzhLLCBQQUdFX1NJWkUpOwotfQotCiAvKgogICogV2UgaG90cGx1ZyBtZW1vcnkgYXQgc3Vi LXNlY3Rpb24gZ3JhbnVsYXJpdHksIHBhZCB0aGUgcmVzZXJ2ZWQgYXJlYQogICogZnJvbSB0aGUg cHJldmlvdXMgc2VjdGlvbiBiYXNlIHRvIHRoZSBuYW1lc3BhY2UgYmFzZSBhZGRyZXNzLgpAQCAt NjQ1LDcgKzY0MCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGluaXRfYWx0bWFwX2Jhc2UocmVz b3VyY2Vfc2l6ZV90IGJhc2UpCiAKIHN0YXRpYyB1bnNpZ25lZCBsb25nIGluaXRfYWx0bWFwX3Jl c2VydmUocmVzb3VyY2Vfc2l6ZV90IGJhc2UpCiB7Ci0JdW5zaWduZWQgbG9uZyByZXNlcnZlID0g aW5mb19ibG9ja19yZXNlcnZlKCkgPj4gUEFHRV9TSElGVDsKKwl1bnNpZ25lZCBsb25nIHJlc2Vy dmUgPSBuZF9pbmZvX2Jsb2NrX3Jlc2VydmUoKSA+PiBQQUdFX1NISUZUOwogCXVuc2lnbmVkIGxv bmcgYmFzZV9wZm4gPSBQSFlTX1BGTihiYXNlKTsKIAogCXJlc2VydmUgKz0gYmFzZV9wZm4gLSBT VUJTRUNUSU9OX0FMSUdOX0RPV04oYmFzZV9wZm4pOwpAQCAtNjYwLDcgKzY1NSw3IEBAIHN0YXRp YyBpbnQgX19udmRpbW1fc2V0dXBfcGZuKHN0cnVjdCBuZF9wZm4gKm5kX3Bmbiwgc3RydWN0IGRl dl9wYWdlbWFwICpwZ21hcCkKIAl1NjQgb2Zmc2V0ID0gbGU2NF90b19jcHUocGZuX3NiLT5kYXRh b2ZmKTsKIAl1MzIgc3RhcnRfcGFkID0gX19sZTMyX3RvX2NwdShwZm5fc2ItPnN0YXJ0X3BhZCk7 CiAJdTMyIGVuZF90cnVuYyA9IF9fbGUzMl90b19jcHUocGZuX3NiLT5lbmRfdHJ1bmMpOwotCXUz MiByZXNlcnZlID0gaW5mb19ibG9ja19yZXNlcnZlKCk7CisJdTMyIHJlc2VydmUgPSBuZF9pbmZv X2Jsb2NrX3Jlc2VydmUoKTsKIAlzdHJ1Y3QgbmRfbmFtZXNwYWNlX2NvbW1vbiAqbmRucyA9IG5k X3Bmbi0+bmRuczsKIAlzdHJ1Y3QgbmRfbmFtZXNwYWNlX2lvICpuc2lvID0gdG9fbmRfbmFtZXNw YWNlX2lvKCZuZG5zLT5kZXYpOwogCXJlc291cmNlX3NpemVfdCBiYXNlID0gbnNpby0+cmVzLnN0 YXJ0ICsgc3RhcnRfcGFkOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9udmRpbW0vcG1lbS5jIGIvZHJp dmVycy9udmRpbW0vcG1lbS5jCmluZGV4IGY5Zjc2ZjZiYTA3Yi4uN2E2ZjQ1MDFkY2RhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL252ZGltbS9wbWVtLmMKKysrIGIvZHJpdmVycy9udmRpbW0vcG1lbS5j CkBAIC0zNzIsNiArMzcyLDEwIEBAIHN0YXRpYyBpbnQgcG1lbV9hdHRhY2hfZGlzayhzdHJ1Y3Qg ZGV2aWNlICpkZXYsCiAJaWYgKCFwbWVtKQogCQlyZXR1cm4gLUVOT01FTTsKIAorCXJjID0gZGV2 bV9uYW1lc3BhY2VfZW5hYmxlKGRldiwgbmRucywgbmRfaW5mb19ibG9ja19yZXNlcnZlKCkpOwor CWlmIChyYykKKwkJcmV0dXJuIHJjOworCiAJLyogd2hpbGUgbnNpb19yd19ieXRlcyBpcyBhY3Rp dmUsIHBhcnNlIGEgcGZuIGluZm8gYmxvY2sgaWYgcHJlc2VudCAqLwogCWlmIChpc19uZF9wZm4o ZGV2KSkgewogCQluZF9wZm4gPSB0b19uZF9wZm4oZGV2KTsKQEAgLTM4MSw3ICszODUsNyBAQCBz dGF0aWMgaW50IHBtZW1fYXR0YWNoX2Rpc2soc3RydWN0IGRldmljZSAqZGV2LAogCX0KIAogCS8q IHdlJ3JlIGF0dGFjaGluZyBhIGJsb2NrIGRldmljZSwgZGlzYWJsZSByYXcgbmFtZXNwYWNlIGFj Y2VzcyAqLwotCWRldm1fbnNpb19kaXNhYmxlKGRldiwgbnNpbyk7CisJZGV2bV9uYW1lc3BhY2Vf ZGlzYWJsZShkZXYsIG5kbnMpOwogCiAJZGV2X3NldF9kcnZkYXRhKGRldiwgcG1lbSk7CiAJcG1l bS0+cGh5c19hZGRyID0gcmVzLT5zdGFydDsKQEAgLTQ5NywxNSArNTAxLDE2IEBAIHN0YXRpYyBp bnQgbmRfcG1lbV9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJaWYgKElTX0VSUihuZG5zKSkK IAkJcmV0dXJuIFBUUl9FUlIobmRucyk7CiAKLQlpZiAoZGV2bV9uc2lvX2VuYWJsZShkZXYsIHRv X25kX25hbWVzcGFjZV9pbygmbmRucy0+ZGV2KSkpCi0JCXJldHVybiAtRU5YSU87Ci0KIAlpZiAo aXNfbmRfYnR0KGRldikpCiAJCXJldHVybiBudmRpbW1fbmFtZXNwYWNlX2F0dGFjaF9idHQobmRu cyk7CiAKIAlpZiAoaXNfbmRfcGZuKGRldikpCiAJCXJldHVybiBwbWVtX2F0dGFjaF9kaXNrKGRl diwgbmRucyk7CiAKKwlyZXQgPSBkZXZtX25hbWVzcGFjZV9lbmFibGUoZGV2LCBuZG5zLCBuZF9p bmZvX2Jsb2NrX3Jlc2VydmUoKSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKwogCXJldCA9 IG5kX2J0dF9wcm9iZShkZXYsIG5kbnMpOwogCWlmIChyZXQgPT0gMCkKIAkJcmV0dXJuIC1FTlhJ TzsKQEAgLTUzMiw2ICs1MzcsMTAgQEAgc3RhdGljIGludCBuZF9wbWVtX3Byb2JlKHN0cnVjdCBk ZXZpY2UgKmRldikKIAkJcmV0dXJuIC1FTlhJTzsKIAllbHNlIGlmIChyZXQgPT0gLUVPUE5PVFNV UFApCiAJCXJldHVybiByZXQ7CisKKwkvKiBwcm9iZSBjb21wbGV0ZSwgYXR0YWNoIGhhbmRsZXMg bmFtZXNwYWNlIGVuYWJsaW5nICovCisJZGV2bV9uYW1lc3BhY2VfZGlzYWJsZShkZXYsIG5kbnMp OworCiAJcmV0dXJuIHBtZW1fYXR0YWNoX2Rpc2soZGV2LCBuZG5zKTsKIH0KIAo= --000000000000705f4c05962d2857 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Linux-nvdimm mailing list -- linux-nvdimm@lists.01.org To unsubscribe send an email to linux-nvdimm-leave@lists.01.org --000000000000705f4c05962d2857--