Hi Linus, please pull from: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes
...to receive: - Fix for the nd_blk (NVDIMM Block Window Aperture) driver. 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. 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: Linux 4.8-rc1 (2016-08-07 18:18:00 -0700) are available in the git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm libnvdimm-fixes for you to fetch changes up to d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2: tools/testing/nvdimm: fix SIGTERM vs hotplug crash (2016-08-10 15:59:09 -0700) ---------------------------------------------------------------- Dan Williams (1): tools/testing/nvdimm: fix SIGTERM vs hotplug crash Ross Zwisler (1): libnvdimm, nd_blk: mask off reserved status bits Vishal Verma (1): nvdimm, btt: add a size attribute for BTTs drivers/acpi/nfit/core.c | 3 ++- drivers/nvdimm/btt.c | 1 + drivers/nvdimm/btt_devs.c | 20 ++++++++++++++++++++ drivers/nvdimm/nd.h | 1 + tools/testing/nvdimm/test/nfit.c | 2 ++ 5 files changed, 26 insertions(+), 1 deletion(-) commit 68202c9f0ad6e16ee806fbadbc5838d55fe5aa5c Author: Ross Zwisler <ross.zwis...@linux.intel.com> Date: Fri Jul 29 14:59:12 2016 -0600 libnvdimm, nd_blk: mask off reserved status bits The "NVDIMM Block Window Driver Writer's Guide": http://pmem.io/documents/NVDIMM_DriverWritersGuide-July-2016.pdf ...defines the layout of the block window status register. For the July 2016 version of the spec linked to above, this happens in Figure 4 on page 26. The only bits defined in this spec are bits 31, 5, 4, 2, 1 and 0. The rest of the bits in the status register are reserved, and there is a warning following the diagram that says: Note: The driver cannot assume the value of the RESERVED bits in the status register are zero. These reserved bits need to be masked off, and the driver must avoid checking the state of those bits. This change ensures that for hardware implementations that set these reserved bits in the status register, the driver won't incorrectly fail the block I/Os. Cc: <sta...@vger.kernel.org> #v4.2+ Reviewed-by: Lee, Chun-Yi <j...@suse.com> Signed-off-by: Ross Zwisler <ross.zwis...@linux.intel.com> Signed-off-by: Dan Williams <dan.j.willi...@intel.com> commit abe8b4e3cef88b8202641d63f5ad58141b970b0f Author: Vishal Verma <vishal.l.ve...@intel.com> Date: Wed Jul 27 16:38:59 2016 -0600 nvdimm, btt: add a size attribute for BTTs To be consistent with other namespaces, expose a 'size' attribute for BTT devices also. Cc: Dan Williams <dan.j.willi...@intel.com> Reported-by: Linda Knippers <linda.knipp...@hpe.com> Signed-off-by: Vishal Verma <vishal.l.ve...@intel.com> Signed-off-by: Dan Williams <dan.j.willi...@intel.com> commit d8d378fa1a0c98ecb50ca52c9bf3bc14e25aa2d2 Author: Dan Williams <dan.j.willi...@intel.com> Date: Wed Aug 10 15:59:09 2016 -0700 tools/testing/nvdimm: fix SIGTERM vs hotplug crash The unit tests crash when hotplug races the previous probe. This race requires that the loading of the nfit_test module be terminated with SIGTERM, and the module to be unloaded while the ars scan is still running. In contrast to the normal nfit driver, the unit test calls acpi_nfit_init() twice to simulate hotplug, whereas the nominal case goes through the acpi_nfit_notify() event handler. The acpi_nfit_notify() path is careful to flush the previous region registration before servicing the hotplug event. The unit test was missing this guarantee. BUG: unable to handle kernel NULL pointer dereference at (null) IP: [<ffffffff810cdce7>] pwq_activate_delayed_work+0x47/0x170 [..] Call Trace: [<ffffffff810ce186>] pwq_dec_nr_in_flight+0x66/0xa0 [<ffffffff810ce490>] process_one_work+0x2d0/0x680 [<ffffffff810ce331>] ? process_one_work+0x171/0x680 [<ffffffff810ce88e>] worker_thread+0x4e/0x480 [<ffffffff810ce840>] ? process_one_work+0x680/0x680 [<ffffffff810ce840>] ? process_one_work+0x680/0x680 [<ffffffff810d5343>] kthread+0xf3/0x110 [<ffffffff8199846f>] ret_from_fork+0x1f/0x40 [<ffffffff810d5250>] ? kthread_create_on_node+0x230/0x230 Cc: <sta...@vger.kernel.org> Signed-off-by: Dan Williams <dan.j.willi...@intel.com>