From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm fixes for 4.8-rc2 Date: Fri, 12 Aug 2016 19:09:07 +0000 Message-ID: <1471028948.2946.21.camel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: 8BIT Return-path: Received: from mga01.intel.com ([192.55.52.88]:42661 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751088AbcHLTJK (ORCPT ); Fri, 12 Aug 2016 15:09:10 -0400 Content-Language: en-US Content-ID: <3EC8DD0F02A02347B6E3573CAA1A63D7@intel.com> Sender: linux-acpi-owner@vger.kernel.org List-Id: linux-acpi@vger.kernel.org To: "torvalds@linux-foundation.org" Cc: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" Hi Linus, please pull from: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes ...to receive: - Fix for the nd+AF8-blk (NVDIMM Block Window Aperture) driver. +AKA-A spec clarification requires the driver to mask off reserved bits in status register. This is tagged for -stable back to the v4.2 kernel. - Fix for a kernel crash in the nvdimm unit tests when module loading is interrupted with SIGTERM. Tagged for -stable since validation efforts external to Intel use the unit tests for qualifying backports. - Add a new 'size' sysfs attribute for the BTT (NVDIMM Block Translation Table) driver to make it symmetric with the other namespace personality drivers (PFN and DAX) that provide a size attribute for indicating how much namespace capacity is lost to metadata. The BTT change arrived at the start of the merge window and has appeared in a -next release. +AKA-It can technically wait for 4.9, but it is small, fixes asymmetry in the libnvdimm-sysfs interface, and something I would have squeezed into the v4.8 pull request had it arrived a few days earlier. --- The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: +AKA- Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2: +AKA- tools/testing/nvdimm: fix SIGTERM vs hotplug crash (2016-08-10 15:59:09 -0700) ---------------------------------------------------------------- Dan Williams (1): +AKAAoACgAKAAoACg-tools/testing/nvdimm: fix SIGTERM vs hotplug crash Ross Zwisler (1): +AKAAoACgAKAAoACg-libnvdimm, nd+AF8-blk: mask off reserved status bits Vishal Verma (1): +AKAAoACgAKAAoACg-nvdimm, btt: add a size attribute for BTTs +AKA-drivers/acpi/nfit/core.c+AKAAoACgAKAAoACgAKAAoACgAHwAoACg-3 +-+-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-1 +- +AKA-drivers/nvdimm/btt+AF8-devs.c+AKAAoACgAKAAoACgAKAAoAB8- 20 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-1 +- +AKA-tools/testing/nvdimm/test/nfit.c +AHwAoACg-2 +-+- +AKA-5 files changed, 26 insertions(+-), 1 deletion(-) commit 68202c9f0ad6e16ee806fbadbc5838d55fe5aa5c Author: Ross Zwisler +ADw-ross.zwisler+AEA-linux.intel.com+AD4- Date:+AKAAoACg-Fri Jul 29 14:59:12 2016 -0600 +AKAAoACgAKA-libnvdimm, nd+AF8-blk: mask off reserved status bits +AKAAoACgAKA- +AKAAoACgAKA-The +ACI-NVDIMM Block Window Driver Writer's Guide+ACI-: +AKAAoACgAKA- +AKAAoACgAKAAoACgAKAAoA-http://pmem.io/documents/NVDIMM+AF8-DriverWritersGuide-July-2016.pdf +AKAAoACgAKA- +AKAAoACgAKA-...defines the layout of the block window status register.+AKAAoA-For the July +AKAAoACgAKA-2016 version of the spec linked to above, this happens in Figure 4 on +AKAAoACgAKA-page 26. +AKAAoACgAKA- +AKAAoACgAKA-The only bits defined in this spec are bits 31, 5, 4, 2, 1 and 0.+AKAAoA-The +AKAAoACgAKA-rest of the bits in the status register are reserved, and there is a +AKAAoACgAKA-warning following the diagram that says: +AKAAoACgAKA- +AKAAoACgAKAAoACgAKAAoA-Note: The driver cannot assume the value of the RESERVED bits in the +AKAAoACgAKAAoACgAKAAoA-status register are zero. These reserved bits need to be masked off, and +AKAAoACgAKAAoACgAKAAoA-the driver must avoid checking the state of those bits. +AKAAoACgAKA- +AKAAoACgAKA-This change ensures that for hardware implementations that set these +AKAAoACgAKA-reserved bits in the status register, the driver won't incorrectly fail the +AKAAoACgAKA-block I/Os. +AKAAoACgAKA- +AKAAoACgAKA-Cc: +ADw-stable+AEA-vger.kernel.org+AD4- +ACM-v4.2+- +AKAAoACgAKA-Reviewed-by: Lee, Chun-Yi +ADw-jlee+AEA-suse.com+AD4- +AKAAoACgAKA-Signed-off-by: Ross Zwisler +ADw-ross.zwisler+AEA-linux.intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- commit abe8b4e3cef88b8202641d63f5ad58141b970b0f Author: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- Date:+AKAAoACg-Wed Jul 27 16:38:59 2016 -0600 +AKAAoACgAKA-nvdimm, btt: add a size attribute for BTTs +AKAAoACgAKA- +AKAAoACgAKA-To be consistent with other namespaces, expose a 'size' attribute for +AKAAoACgAKA-BTT devices also. +AKAAoACgAKA- +AKAAoACgAKA-Cc: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- +AKAAoACgAKA-Reported-by: Linda Knippers +ADw-linda.knippers+AEA-hpe.com+AD4- +AKAAoACgAKA-Signed-off-by: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- commit d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2 Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- Date:+AKAAoACg-Wed Aug 10 15:59:09 2016 -0700 +AKAAoACgAKA-tools/testing/nvdimm: fix SIGTERM vs hotplug crash +AKAAoACgAKA- +AKAAoACgAKA-The unit tests crash when hotplug races the previous probe. This race +AKAAoACgAKA-requires that the loading of the nfit+AF8-test module be terminated with +AKAAoACgAKA-SIGTERM, and the module to be unloaded while the ars scan is still +AKAAoACgAKA-running. +AKAAoACgAKA- +AKAAoACgAKA-In contrast to the normal nfit driver, the unit test calls +AKAAoACgAKA-acpi+AF8-nfit+AF8-init() twice to simulate hotplug, whereas the nominal case +AKAAoACgAKA-goes through the acpi+AF8-nfit+AF8-notify() event handler.+AKAAoA-The +AKAAoACgAKA-acpi+AF8-nfit+AF8-notify() path is careful to flush the previous region +AKAAoACgAKA-registration before servicing the hotplug event. The unit test was +AKAAoACgAKA-missing this guarantee. +AKAAoACgAKA- +AKAAoACgAKAAoA-BUG: unable to handle kernel NULL pointer dereference at+AKAAoACgAKAAoACgAKAAoACgAKAAoA-(null) +AKAAoACgAKAAoA-IP: +AFsAPA-ffffffff810cdce7+AD4AXQ- pwq+AF8-activate+AF8-delayed+AF8-work+-0x47/0x170 +AKAAoACgAKAAoABb-..+AF0- +AKAAoACgAKAAoA-Call Trace: +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce186+AD4AXQ- pwq+AF8-dec+AF8-nr+AF8-in+AF8-flight+-0x66/0xa0 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce490+AD4AXQ- process+AF8-one+AF8-work+-0x2d0/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce331+AD4AXQ- ? process+AF8-one+AF8-work+-0x171/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce88e+AD4AXQ- worker+AF8-thread+-0x4e/0x480 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce840+AD4AXQ- ? process+AF8-one+AF8-work+-0x680/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce840+AD4AXQ- ? process+AF8-one+AF8-work+-0x680/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810d5343+AD4AXQ- kthread+-0xf3/0x110 +AKAAoACgAKAAoACgAFsAPA-ffffffff8199846f+AD4AXQ- ret+AF8-from+AF8-fork+-0x1f/0x40 +AKAAoACgAKAAoACgAFsAPA-ffffffff810d5250+AD4AXQ- ? kthread+AF8-create+AF8-on+AF8-node+-0x230/0x230 +AKAAoACgAKA- +AKAAoACgAKA-Cc: +ADw-stable+AEA-vger.kernel.org+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4 From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by ml01.01.org (Postfix) with ESMTP id 070F41A1E04 for ; Fri, 12 Aug 2016 12:09:09 -0700 (PDT) From: "Williams, Dan J" Subject: [GIT PULL] libnvdimm fixes for 4.8-rc2 Date: Fri, 12 Aug 2016 19:09:07 +0000 Message-ID: <1471028948.2946.21.camel@intel.com> Content-Language: en-US Content-ID: <3EC8DD0F02A02347B6E3573CAA1A63D7@intel.com> MIME-Version: 1.0 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-7" Content-Transfer-Encoding: base64 Errors-To: linux-nvdimm-bounces@lists.01.org Sender: "Linux-nvdimm" To: "torvalds@linux-foundation.org" Cc: "linux-acpi@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" List-ID: SGkgTGludXMsIHBsZWFzZSBwdWxsIGZyb206CgorQUtBIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1 Yi9zY20vbGludXgva2VybmVsL2dpdC9udmRpbW0vbnZkaW1tIGxpYm52ZGltbS1maXhlcwoKLi4u dG8gcmVjZWl2ZToKCi0gRml4IGZvciB0aGUgbmRfYmxrIChOVkRJTU0gQmxvY2sgV2luZG93IEFw ZXJ0dXJlKSBkcml2ZXIuICtBS0EtQSBzcGVjCmNsYXJpZmljYXRpb24gcmVxdWlyZXMgdGhlIGRy aXZlciB0byBtYXNrIG9mZiByZXNlcnZlZCBiaXRzIGluIHN0YXR1cwpyZWdpc3Rlci4gVGhpcyBp cyB0YWdnZWQgZm9yIC1zdGFibGUgYmFjayB0byB0aGUgdjQuMiBrZXJuZWwuCgotIEZpeCBmb3Ig YSBrZXJuZWwgY3Jhc2ggaW4gdGhlIG52ZGltbSB1bml0IHRlc3RzIHdoZW4gbW9kdWxlIGxvYWRp bmcKaXMgaW50ZXJydXB0ZWQgd2l0aCBTSUdURVJNLiBUYWdnZWQgZm9yIC1zdGFibGUgc2luY2Ug dmFsaWRhdGlvbgplZmZvcnRzIGV4dGVybmFsIHRvIEludGVsIHVzZSB0aGUgdW5pdCB0ZXN0cyBm b3IgcXVhbGlmeWluZyBiYWNrcG9ydHMuCgotIEFkZCBhIG5ldyAnc2l6ZScgc3lzZnMgYXR0cmli dXRlIGZvciB0aGUgQlRUIChOVkRJTU0gQmxvY2sKVHJhbnNsYXRpb24gVGFibGUpIGRyaXZlciB0 byBtYWtlIGl0IHN5bW1ldHJpYyB3aXRoIHRoZSBvdGhlciBuYW1lc3BhY2UKcGVyc29uYWxpdHkg ZHJpdmVycyAoUEZOIGFuZCBEQVgpIHRoYXQgcHJvdmlkZSBhIHNpemUgYXR0cmlidXRlIGZvcgpp bmRpY2F0aW5nIGhvdyBtdWNoIG5hbWVzcGFjZSBjYXBhY2l0eSBpcyBsb3N0IHRvIG1ldGFkYXRh LgoKVGhlIEJUVCBjaGFuZ2UgYXJyaXZlZCBhdCB0aGUgc3RhcnQgb2YgdGhlIG1lcmdlIHdpbmRv dyBhbmQgaGFzCmFwcGVhcmVkIGluIGEgLW5leHQgcmVsZWFzZS4gK0FLQS1JdCBjYW4gdGVjaG5p Y2FsbHkgd2FpdCBmb3IgNC45LCBidXQgaXQKaXMgc21hbGwsIGZpeGVzIGFzeW1tZXRyeSBpbiB0 aGUgbGlibnZkaW1tLXN5c2ZzIGludGVyZmFjZSwgYW5kCnNvbWV0aGluZyBJIHdvdWxkIGhhdmUg c3F1ZWV6ZWQgaW50byB0aGUgdjQuOCBwdWxsIHJlcXVlc3QgaGFkIGl0CmFycml2ZWQgYSBmZXcg ZGF5cyBlYXJsaWVyLgoKLS0tCgpUaGUgZm9sbG93aW5nIGNoYW5nZXMgc2luY2UgY29tbWl0IDI5 YjQ4MTdkNDAxOGRmNzgwODYxNTdlYTNhNTVjMWQ5NDI0YTdjZmM6CgorQUtBIExpbnV4IDQuOC1y YzEgKDIwMTYtMDgtMDcgMTg6MTg6MDAgLTA3MDApCgphcmUgYXZhaWxhYmxlIGluIHRoZSBnaXQg cmVwb3NpdG9yeSBhdDoKCitBS0EgZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS9saW51eC9r ZXJuZWwvZ2l0L252ZGltbS9udmRpbW0gbGlibnZkaW1tLWZpeGVzCgpmb3IgeW91IHRvIGZldGNo IGNoYW5nZXMgdXAgdG8gZDhkMzc4ZmExYTBjOThlY2I1MGNhNTJjOWJmM2JjMTRlMjVhYTJkMjoK CitBS0EgdG9vbHMvdGVzdGluZy9udmRpbW06IGZpeCBTSUdURVJNIHZzIGhvdHBsdWcgY3Jhc2gg KDIwMTYtMDgtMTAgMTU6NTk6MDkgLTA3MDApCgotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCkRhbiBXaWxsaWFtcyAoMSk6CitB S0FBb0FDZ0FLQUFvQUNnLXRvb2xzL3Rlc3RpbmcvbnZkaW1tOiBmaXggU0lHVEVSTSB2cyBob3Rw bHVnIGNyYXNoCgpSb3NzIFp3aXNsZXIgKDEpOgorQUtBQW9BQ2dBS0FBb0FDZy1saWJudmRpbW0s IG5kX2JsazogbWFzayBvZmYgcmVzZXJ2ZWQgc3RhdHVzIGJpdHMKClZpc2hhbCBWZXJtYSAoMSk6 CitBS0FBb0FDZ0FLQUFvQUNnLW52ZGltbSwgYnR0OiBhZGQgYSBzaXplIGF0dHJpYnV0ZSBmb3Ig QlRUcwoKK0FLQS1kcml2ZXJzL2FjcGkvbmZpdC9jb3JlLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFv QUNnfCtBS0FBb0EtMyArLSstLQorQUtBLWRyaXZlcnMvbnZkaW1tL2J0dC5jK0FLQUFvQUNnQUtB QW9BQ2dBS0FBb0FDZ0FLQUFvQUNnQUtBfCtBS0FBb0EtMSArLQorQUtBLWRyaXZlcnMvbnZkaW1t L2J0dF9kZXZzLmMrQUtBQW9BQ2dBS0FBb0FDZ0FLQUFvQXwgMjAgKy0rLSstKy0rLSstKy0rLSst Ky0rLSstKy0rLSstKy0rLSstKy0rLQorQUtBLWRyaXZlcnMvbnZkaW1tL25kLmgrQUtBQW9BQ2dB S0FBb0FDZ0FLQUFvQUNnQUtBQW9BQ2dBS0FBb0F8K0FLQUFvQS0xICstCitBS0EtdG9vbHMvdGVz dGluZy9udmRpbW0vdGVzdC9uZml0LmMgfCtBS0FBb0EtMiArLSstCitBS0EtNSBmaWxlcyBjaGFu Z2VkLCAyNiBpbnNlcnRpb25zKCstKSwgMSBkZWxldGlvbigtKQoKY29tbWl0IDY4MjAyYzlmMGFk NmUxNmVlODA2ZmJhZGJjNTgzOGQ1NWZlNWFhNWMKQXV0aG9yOiBSb3NzIFp3aXNsZXIgPHJvc3Mu endpc2xlckBsaW51eC5pbnRlbC5jb20+CkRhdGU6K0FLQUFvQUNnLUZyaSBKdWwgMjkgMTQ6NTk6 MTIgMjAxNiAtMDYwMAoKK0FLQUFvQUNnQUtBLWxpYm52ZGltbSwgbmRfYmxrOiBtYXNrIG9mZiBy ZXNlcnZlZCBzdGF0dXMgYml0cworQUtBQW9BQ2dBS0EKK0FLQUFvQUNnQUtBLVRoZSAiTlZESU1N IEJsb2NrIFdpbmRvdyBEcml2ZXIgV3JpdGVyJ3MgR3VpZGUiOgorQUtBQW9BQ2dBS0EKK0FLQUFv QUNnQUtBQW9BQ2dBS0FBb0EtaHR0cDovL3BtZW0uaW8vZG9jdW1lbnRzL05WRElNTV9Ecml2ZXJX cml0ZXJzR3VpZGUtSnVseS0yMDE2LnBkZgorQUtBQW9BQ2dBS0EKK0FLQUFvQUNnQUtBLi4uZGVm aW5lcyB0aGUgbGF5b3V0IG9mIHRoZSBibG9jayB3aW5kb3cgc3RhdHVzIHJlZ2lzdGVyLitBS0FB b0EtRm9yIHRoZSBKdWx5CitBS0FBb0FDZ0FLQS0yMDE2IHZlcnNpb24gb2YgdGhlIHNwZWMgbGlu a2VkIHRvIGFib3ZlLCB0aGlzIGhhcHBlbnMgaW4gRmlndXJlIDQgb24KK0FLQUFvQUNnQUtBLXBh Z2UgMjYuCitBS0FBb0FDZ0FLQQorQUtBQW9BQ2dBS0EtVGhlIG9ubHkgYml0cyBkZWZpbmVkIGlu IHRoaXMgc3BlYyBhcmUgYml0cyAzMSwgNSwgNCwgMiwgMSBhbmQgMC4rQUtBQW9BLVRoZQorQUtB QW9BQ2dBS0EtcmVzdCBvZiB0aGUgYml0cyBpbiB0aGUgc3RhdHVzIHJlZ2lzdGVyIGFyZSByZXNl cnZlZCwgYW5kIHRoZXJlIGlzIGEKK0FLQUFvQUNnQUtBLXdhcm5pbmcgZm9sbG93aW5nIHRoZSBk aWFncmFtIHRoYXQgc2F5czoKK0FLQUFvQUNnQUtBCitBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BLU5v dGU6IFRoZSBkcml2ZXIgY2Fubm90IGFzc3VtZSB0aGUgdmFsdWUgb2YgdGhlIFJFU0VSVkVEIGJp dHMgaW4gdGhlCitBS0FBb0FDZ0FLQUFvQUNnQUtBQW9BLXN0YXR1cyByZWdpc3RlciBhcmUgemVy by4gVGhlc2UgcmVzZXJ2ZWQgYml0cyBuZWVkIHRvIGJlIG1hc2tlZCBvZmYsIGFuZAorQUtBQW9B Q2dBS0FBb0FDZ0FLQUFvQS10aGUgZHJpdmVyIG11c3QgYXZvaWQgY2hlY2tpbmcgdGhlIHN0YXRl IG9mIHRob3NlIGJpdHMuCitBS0FBb0FDZ0FLQQorQUtBQW9BQ2dBS0EtVGhpcyBjaGFuZ2UgZW5z dXJlcyB0aGF0IGZvciBoYXJkd2FyZSBpbXBsZW1lbnRhdGlvbnMgdGhhdCBzZXQgdGhlc2UKK0FL QUFvQUNnQUtBLXJlc2VydmVkIGJpdHMgaW4gdGhlIHN0YXR1cyByZWdpc3RlciwgdGhlIGRyaXZl ciB3b24ndCBpbmNvcnJlY3RseSBmYWlsIHRoZQorQUtBQW9BQ2dBS0EtYmxvY2sgSS9Pcy4KK0FL QUFvQUNnQUtBCitBS0FBb0FDZ0FLQS1DYzogPHN0YWJsZUB2Z2VyLmtlcm5lbC5vcmc+ICN2NC4y Ky0KK0FLQUFvQUNnQUtBLVJldmlld2VkLWJ5OiBMZWUsIENodW4tWWkgPGpsZWVAc3VzZS5jb20+ CitBS0FBb0FDZ0FLQS1TaWduZWQtb2ZmLWJ5OiBSb3NzIFp3aXNsZXIgPHJvc3Muendpc2xlckBs aW51eC5pbnRlbC5jb20+CitBS0FBb0FDZ0FLQS1TaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMg PGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KCmNvbW1pdCBhYmU4YjRlM2NlZjg4YjgyMDI2NDFk NjNmNWFkNTgxNDFiOTcwYjBmCkF1dGhvcjogVmlzaGFsIFZlcm1hIDx2aXNoYWwubC52ZXJtYUBp bnRlbC5jb20+CkRhdGU6K0FLQUFvQUNnLVdlZCBKdWwgMjcgMTY6Mzg6NTkgMjAxNiAtMDYwMAoK K0FLQUFvQUNnQUtBLW52ZGltbSwgYnR0OiBhZGQgYSBzaXplIGF0dHJpYnV0ZSBmb3IgQlRUcwor QUtBQW9BQ2dBS0EKK0FLQUFvQUNnQUtBLVRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBuYW1l c3BhY2VzLCBleHBvc2UgYSAnc2l6ZScgYXR0cmlidXRlIGZvcgorQUtBQW9BQ2dBS0EtQlRUIGRl dmljZXMgYWxzby4KK0FLQUFvQUNnQUtBCitBS0FBb0FDZ0FLQS1DYzogRGFuIFdpbGxpYW1zIDxk YW4uai53aWxsaWFtc0BpbnRlbC5jb20+CitBS0FBb0FDZ0FLQS1SZXBvcnRlZC1ieTogTGluZGEg S25pcHBlcnMgPGxpbmRhLmtuaXBwZXJzQGhwZS5jb20+CitBS0FBb0FDZ0FLQS1TaWduZWQtb2Zm LWJ5OiBWaXNoYWwgVmVybWEgPHZpc2hhbC5sLnZlcm1hQGludGVsLmNvbT4KK0FLQUFvQUNnQUtB LVNpZ25lZC1vZmYtYnk6IERhbiBXaWxsaWFtcyA8ZGFuLmoud2lsbGlhbXNAaW50ZWwuY29tPgoK Y29tbWl0IGQ4ZDM3OGZhMWEwYzk4ZWNiNTBjYTUyYzliZjNiYzE0ZTI1YWEyZDIKQXV0aG9yOiBE YW4gV2lsbGlhbXMgPGRhbi5qLndpbGxpYW1zQGludGVsLmNvbT4KRGF0ZTorQUtBQW9BQ2ctV2Vk IEF1ZyAxMCAxNTo1OTowOSAyMDE2IC0wNzAwCgorQUtBQW9BQ2dBS0EtdG9vbHMvdGVzdGluZy9u dmRpbW06IGZpeCBTSUdURVJNIHZzIGhvdHBsdWcgY3Jhc2gKK0FLQUFvQUNnQUtBCitBS0FBb0FD Z0FLQS1UaGUgdW5pdCB0ZXN0cyBjcmFzaCB3aGVuIGhvdHBsdWcgcmFjZXMgdGhlIHByZXZpb3Vz IHByb2JlLiBUaGlzIHJhY2UKK0FLQUFvQUNnQUtBLXJlcXVpcmVzIHRoYXQgdGhlIGxvYWRpbmcg b2YgdGhlIG5maXRfdGVzdCBtb2R1bGUgYmUgdGVybWluYXRlZCB3aXRoCitBS0FBb0FDZ0FLQS1T SUdURVJNLCBhbmQgdGhlIG1vZHVsZSB0byBiZSB1bmxvYWRlZCB3aGlsZSB0aGUgYXJzIHNjYW4g aXMgc3RpbGwKK0FLQUFvQUNnQUtBLXJ1bm5pbmcuCitBS0FBb0FDZ0FLQQorQUtBQW9BQ2dBS0Et SW4gY29udHJhc3QgdG8gdGhlIG5vcm1hbCBuZml0IGRyaXZlciwgdGhlIHVuaXQgdGVzdCBjYWxs cworQUtBQW9BQ2dBS0EtYWNwaV9uZml0X2luaXQoKSB0d2ljZSB0byBzaW11bGF0ZSBob3RwbHVn LCB3aGVyZWFzIHRoZSBub21pbmFsIGNhc2UKK0FLQUFvQUNnQUtBLWdvZXMgdGhyb3VnaCB0aGUg YWNwaV9uZml0X25vdGlmeSgpIGV2ZW50IGhhbmRsZXIuK0FLQUFvQS1UaGUKK0FLQUFvQUNnQUtB LWFjcGlfbmZpdF9ub3RpZnkoKSBwYXRoIGlzIGNhcmVmdWwgdG8gZmx1c2ggdGhlIHByZXZpb3Vz IHJlZ2lvbgorQUtBQW9BQ2dBS0EtcmVnaXN0cmF0aW9uIGJlZm9yZSBzZXJ2aWNpbmcgdGhlIGhv dHBsdWcgZXZlbnQuIFRoZSB1bml0IHRlc3Qgd2FzCitBS0FBb0FDZ0FLQS1taXNzaW5nIHRoaXMg Z3VhcmFudGVlLgorQUtBQW9BQ2dBS0EKK0FLQUFvQUNnQUtBQW9BLUJVRzogdW5hYmxlIHRvIGhh bmRsZSBrZXJuZWwgTlVMTCBwb2ludGVyIGRlcmVmZXJlbmNlIGF0K0FLQUFvQUNnQUtBQW9BQ2dB S0FBb0FDZ0FLQUFvQShudWxsKQorQUtBQW9BQ2dBS0FBb0EtSVA6IFs8ZmZmZmZmZmY4MTBjZGNl Nz5dIHB3cV9hY3RpdmF0ZV9kZWxheWVkX3dvcmsrLTB4NDcvMHgxNzAKK0FLQUFvQUNnQUtBQW9B Wy4uXQorQUtBQW9BQ2dBS0FBb0EtQ2FsbCBUcmFjZToKK0FLQUFvQUNnQUtBQW9BQ2dbPGZmZmZm ZmZmODEwY2UxODY+XSBwd3FfZGVjX25yX2luX2ZsaWdodCstMHg2Ni8weGEwCitBS0FBb0FDZ0FL QUFvQUNnWzxmZmZmZmZmZjgxMGNlNDkwPl0gcHJvY2Vzc19vbmVfd29yaystMHgyZDAvMHg2ODAK K0FLQUFvQUNnQUtBQW9BQ2dbPGZmZmZmZmZmODEwY2UzMzE+XSA/IHByb2Nlc3Nfb25lX3dvcmsr LTB4MTcxLzB4NjgwCitBS0FBb0FDZ0FLQUFvQUNnWzxmZmZmZmZmZjgxMGNlODhlPl0gd29ya2Vy X3RocmVhZCstMHg0ZS8weDQ4MAorQUtBQW9BQ2dBS0FBb0FDZ1s8ZmZmZmZmZmY4MTBjZTg0MD5d ID8gcHJvY2Vzc19vbmVfd29yaystMHg2ODAvMHg2ODAKK0FLQUFvQUNnQUtBQW9BQ2dbPGZmZmZm ZmZmODEwY2U4NDA+XSA/IHByb2Nlc3Nfb25lX3dvcmsrLTB4NjgwLzB4NjgwCitBS0FBb0FDZ0FL QUFvQUNnWzxmZmZmZmZmZjgxMGQ1MzQzPl0ga3RocmVhZCstMHhmMy8weDExMAorQUtBQW9BQ2dB S0FBb0FDZ1s8ZmZmZmZmZmY4MTk5ODQ2Zj5dIHJldF9mcm9tX2ZvcmsrLTB4MWYvMHg0MAorQUtB QW9BQ2dBS0FBb0FDZ1s8ZmZmZmZmZmY4MTBkNTI1MD5dID8ga3RocmVhZF9jcmVhdGVfb25fbm9k ZSstMHgyMzAvMHgyMzAKK0FLQUFvQUNnQUtBCitBS0FBb0FDZ0FLQS1DYzogPHN0YWJsZUB2Z2Vy Lmtlcm5lbC5vcmc+CitBS0FBb0FDZ0FLQS1TaWduZWQtb2ZmLWJ5OiBEYW4gV2lsbGlhbXMgPGRh bi5qLndpbGxpYW1zQGludGVsLmNvbT4KX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KTGludXgtbnZkaW1tIG1haWxpbmcgbGlzdApMaW51eC1udmRpbW1AbGlz dHMuMDEub3JnCmh0dHBzOi8vbGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtbnZk aW1tCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752657AbcHLTJO convert rfc822-to-8bit (ORCPT ); Fri, 12 Aug 2016 15:09:14 -0400 Received: from mga01.intel.com ([192.55.52.88]:42661 "EHLO mga01.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751088AbcHLTJK (ORCPT ); Fri, 12 Aug 2016 15:09:10 -0400 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.28,512,1464678000"; d="scan'208";a="1040200880" From: "Williams, Dan J" To: "torvalds@linux-foundation.org" CC: "linux-kernel@vger.kernel.org" , "linux-nvdimm@lists.01.org" , "linux-acpi@vger.kernel.org" Subject: [GIT PULL] libnvdimm fixes for 4.8-rc2 Thread-Topic: [GIT PULL] libnvdimm fixes for 4.8-rc2 Thread-Index: AQHR9M0AyDzgM1rbH0C4ueRbc3XPAA== Date: Fri, 12 Aug 2016 19:09:07 +0000 Message-ID: <1471028948.2946.21.camel@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.252.141.28] Content-Type: text/plain; charset="utf-7" Content-ID: <3EC8DD0F02A02347B6E3573CAA1A63D7@intel.com> Content-Transfer-Encoding: 8BIT MIME-Version: 1.0 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Linus, please pull from: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes ...to receive: - Fix for the nd+AF8-blk (NVDIMM Block Window Aperture) driver. +AKA-A spec clarification requires the driver to mask off reserved bits in status register. This is tagged for -stable back to the v4.2 kernel. - Fix for a kernel crash in the nvdimm unit tests when module loading is interrupted with SIGTERM. Tagged for -stable since validation efforts external to Intel use the unit tests for qualifying backports. - Add a new 'size' sysfs attribute for the BTT (NVDIMM Block Translation Table) driver to make it symmetric with the other namespace personality drivers (PFN and DAX) that provide a size attribute for indicating how much namespace capacity is lost to metadata. The BTT change arrived at the start of the merge window and has appeared in a -next release. +AKA-It can technically wait for 4.9, but it is small, fixes asymmetry in the libnvdimm-sysfs interface, and something I would have squeezed into the v4.8 pull request had it arrived a few days earlier. --- The following changes since commit 29b4817d4018df78086157ea3a55c1d9424a7cfc: +AKA- Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: +AKA- git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2: +AKA- tools/testing/nvdimm: fix SIGTERM vs hotplug crash (2016-08-10 15:59:09 -0700) ---------------------------------------------------------------- Dan Williams (1): +AKAAoACgAKAAoACg-tools/testing/nvdimm: fix SIGTERM vs hotplug crash Ross Zwisler (1): +AKAAoACgAKAAoACg-libnvdimm, nd+AF8-blk: mask off reserved status bits Vishal Verma (1): +AKAAoACgAKAAoACg-nvdimm, btt: add a size attribute for BTTs +AKA-drivers/acpi/nfit/core.c+AKAAoACgAKAAoACgAKAAoACgAHwAoACg-3 +-+-- +AKA-drivers/nvdimm/btt.c+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAfACgAKA-1 +- +AKA-drivers/nvdimm/btt+AF8-devs.c+AKAAoACgAKAAoACgAKAAoAB8- 20 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+- +AKA-drivers/nvdimm/nd.h+AKAAoACgAKAAoACgAKAAoACgAKAAoACgAKAAoAB8AKAAoA-1 +- +AKA-tools/testing/nvdimm/test/nfit.c +AHwAoACg-2 +-+- +AKA-5 files changed, 26 insertions(+-), 1 deletion(-) commit 68202c9f0ad6e16ee806fbadbc5838d55fe5aa5c Author: Ross Zwisler +ADw-ross.zwisler+AEA-linux.intel.com+AD4- Date:+AKAAoACg-Fri Jul 29 14:59:12 2016 -0600 +AKAAoACgAKA-libnvdimm, nd+AF8-blk: mask off reserved status bits +AKAAoACgAKA- +AKAAoACgAKA-The +ACI-NVDIMM Block Window Driver Writer's Guide+ACI-: +AKAAoACgAKA- +AKAAoACgAKAAoACgAKAAoA-http://pmem.io/documents/NVDIMM+AF8-DriverWritersGuide-July-2016.pdf +AKAAoACgAKA- +AKAAoACgAKA-...defines the layout of the block window status register.+AKAAoA-For the July +AKAAoACgAKA-2016 version of the spec linked to above, this happens in Figure 4 on +AKAAoACgAKA-page 26. +AKAAoACgAKA- +AKAAoACgAKA-The only bits defined in this spec are bits 31, 5, 4, 2, 1 and 0.+AKAAoA-The +AKAAoACgAKA-rest of the bits in the status register are reserved, and there is a +AKAAoACgAKA-warning following the diagram that says: +AKAAoACgAKA- +AKAAoACgAKAAoACgAKAAoA-Note: The driver cannot assume the value of the RESERVED bits in the +AKAAoACgAKAAoACgAKAAoA-status register are zero. These reserved bits need to be masked off, and +AKAAoACgAKAAoACgAKAAoA-the driver must avoid checking the state of those bits. +AKAAoACgAKA- +AKAAoACgAKA-This change ensures that for hardware implementations that set these +AKAAoACgAKA-reserved bits in the status register, the driver won't incorrectly fail the +AKAAoACgAKA-block I/Os. +AKAAoACgAKA- +AKAAoACgAKA-Cc: +ADw-stable+AEA-vger.kernel.org+AD4- +ACM-v4.2+- +AKAAoACgAKA-Reviewed-by: Lee, Chun-Yi +ADw-jlee+AEA-suse.com+AD4- +AKAAoACgAKA-Signed-off-by: Ross Zwisler +ADw-ross.zwisler+AEA-linux.intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- commit abe8b4e3cef88b8202641d63f5ad58141b970b0f Author: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- Date:+AKAAoACg-Wed Jul 27 16:38:59 2016 -0600 +AKAAoACgAKA-nvdimm, btt: add a size attribute for BTTs +AKAAoACgAKA- +AKAAoACgAKA-To be consistent with other namespaces, expose a 'size' attribute for +AKAAoACgAKA-BTT devices also. +AKAAoACgAKA- +AKAAoACgAKA-Cc: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- +AKAAoACgAKA-Reported-by: Linda Knippers +ADw-linda.knippers+AEA-hpe.com+AD4- +AKAAoACgAKA-Signed-off-by: Vishal Verma +ADw-vishal.l.verma+AEA-intel.com+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- commit d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2 Author: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4- Date:+AKAAoACg-Wed Aug 10 15:59:09 2016 -0700 +AKAAoACgAKA-tools/testing/nvdimm: fix SIGTERM vs hotplug crash +AKAAoACgAKA- +AKAAoACgAKA-The unit tests crash when hotplug races the previous probe. This race +AKAAoACgAKA-requires that the loading of the nfit+AF8-test module be terminated with +AKAAoACgAKA-SIGTERM, and the module to be unloaded while the ars scan is still +AKAAoACgAKA-running. +AKAAoACgAKA- +AKAAoACgAKA-In contrast to the normal nfit driver, the unit test calls +AKAAoACgAKA-acpi+AF8-nfit+AF8-init() twice to simulate hotplug, whereas the nominal case +AKAAoACgAKA-goes through the acpi+AF8-nfit+AF8-notify() event handler.+AKAAoA-The +AKAAoACgAKA-acpi+AF8-nfit+AF8-notify() path is careful to flush the previous region +AKAAoACgAKA-registration before servicing the hotplug event. The unit test was +AKAAoACgAKA-missing this guarantee. +AKAAoACgAKA- +AKAAoACgAKAAoA-BUG: unable to handle kernel NULL pointer dereference at+AKAAoACgAKAAoACgAKAAoACgAKAAoA-(null) +AKAAoACgAKAAoA-IP: +AFsAPA-ffffffff810cdce7+AD4AXQ- pwq+AF8-activate+AF8-delayed+AF8-work+-0x47/0x170 +AKAAoACgAKAAoABb-..+AF0- +AKAAoACgAKAAoA-Call Trace: +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce186+AD4AXQ- pwq+AF8-dec+AF8-nr+AF8-in+AF8-flight+-0x66/0xa0 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce490+AD4AXQ- process+AF8-one+AF8-work+-0x2d0/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce331+AD4AXQ- ? process+AF8-one+AF8-work+-0x171/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce88e+AD4AXQ- worker+AF8-thread+-0x4e/0x480 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce840+AD4AXQ- ? process+AF8-one+AF8-work+-0x680/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810ce840+AD4AXQ- ? process+AF8-one+AF8-work+-0x680/0x680 +AKAAoACgAKAAoACgAFsAPA-ffffffff810d5343+AD4AXQ- kthread+-0xf3/0x110 +AKAAoACgAKAAoACgAFsAPA-ffffffff8199846f+AD4AXQ- ret+AF8-from+AF8-fork+-0x1f/0x40 +AKAAoACgAKAAoACgAFsAPA-ffffffff810d5250+AD4AXQ- ? kthread+AF8-create+AF8-on+AF8-node+-0x230/0x230 +AKAAoACgAKA- +AKAAoACgAKA-Cc: +ADw-stable+AEA-vger.kernel.org+AD4- +AKAAoACgAKA-Signed-off-by: Dan Williams +ADw-dan.j.williams+AEA-intel.com+AD4-