linux/drivers
Tyler Hicks 2e5021cc42 libnvdimm/region: Allow setting align attribute on regions without mappings
The alignment constraint for namespace creation in a region was
increased, from 2M to 16M, for non-PowerPC architectures in v5.7 with
commit 2522afb86a ("libnvdimm/region: Introduce an 'align'
attribute"). The thought behind the change was that region alignment
should be uniform across all architectures and, since PowerPC had the
largest alignment constraint of 16M, all architectures should conform to
that alignment.

The change regressed namespace creation in pre-defined regions that
relied on 2M alignment but a workaround was provided in the form of a
sysfs attribute, named 'align', that could be adjusted to a non-default
alignment value.

However, the sysfs attribute's store function returned an error (-ENXIO)
when userspace attempted to change the alignment of a region that had no
mappings. This affected 2M aligned regions of volatile memory that were
defined in a device tree using "pmem-region" and created by the
of_pmem_region_driver, since those regions do not contain mappings
(ndr_mappings is 0).

Allow userspace to set the align attribute on pre-existing regions that
do not have mappings so that namespaces can still be within those
regions, despite not being aligned to 16M.

Link: https://lore.kernel.org/lkml/CA+CK2bDJ3hrWoE91L2wpAk+Yu0_=GtYw=4gLDDD7mxs321b_aA@mail.gmail.com
Fixes: 2522afb86a ("libnvdimm/region: Introduce an 'align' attribute")
Signed-off-by: Tyler Hicks <tyhicks@linux.microsoft.com>
Link: https://lore.kernel.org/r/20220830054505.1159488-1-tyhicks@linux.microsoft.com
Signed-off-by: Dan Williams <dan.j.williams@intel.com>
2022-09-29 17:22:30 -07:00
..
accessibility TTY / Serial driver changes for 6.0-rc1 2022-08-08 11:31:40 -07:00
acpi Merge branch 'acpi-processor' into acpi 2022-08-27 14:43:18 +02:00
amba ARM: 9229/1: amba: Fix use-after-free in amba_read_periphid() 2022-08-30 11:12:52 +01:00
android Char/Misc driver fixes for 6.0-rc4 2022-09-02 10:50:08 -07:00
ata ata: libata-eh: Add missing command name 2022-08-16 05:42:51 +09:00
atm atm: idt77252: fix use-after-free bugs caused by tst_timer 2022-08-08 20:51:59 -07:00
auxdisplay
base Driver core fixes for 6.0-rc5 2022-09-09 15:08:40 -04:00
bcma
block xen: branch for v6.0-rc4 2022-09-03 13:23:11 -07:00
bluetooth SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
bus bus: mhi: host: Fix up null pointer access in mhi_irq_handler 2022-08-29 22:33:46 +05:30
cdrom
char /dev/null: add IORING_OP_URING_CMD support 2022-08-26 11:19:44 -04:00
clk Revert "clk: core: Honor CLK_OPS_PARENT_ENABLE for clk gate ops" 2022-08-31 12:06:46 -07:00
clocksource RISC-V: Add Sstc extension support 2022-08-11 14:41:52 -07:00
comedi pci-v5.20-changes 2022-08-04 19:30:35 -07:00
connector
counter counter: 104-quad-8: Implement and utilize register structures 2022-07-14 19:17:41 +02:00
cpufreq cpufreq: check only freq_table in __resolve_freq() 2022-08-23 20:00:52 +02:00
cpuidle More power management updates for 5.20-rc1 2022-08-08 14:29:00 -07:00
crypto This update includes the following changes: 2022-08-02 17:45:14 -07:00
cxl cxl/hdm: Fix skip allocations vs multiple pmem allocations 2022-08-05 16:11:38 -07:00
dax dax: introduce holder for dax_device 2022-07-17 17:14:30 -07:00
dca
devfreq More power management updates for 5.20-rc1 2022-08-08 14:29:00 -07:00
dio
dma pci-v5.20-changes 2022-08-04 19:30:35 -07:00
dma-buf dma-buf/dma-resv: check if the new fence is really later 2022-08-25 13:10:30 +02:00
edac powerpc updates for 6.0 2022-08-06 16:38:17 -07:00
eisa
extcon extcon: Add EXTCON_DISP_CVBS and EXTCON_DISP_EDP 2022-07-15 11:37:41 +09:00
firewire firewire: net: Make use of get_unaligned_be48(), put_unaligned_be48() 2022-07-28 22:21:54 -07:00
firmware A couple of low-priority EFI fixes 2022-09-08 07:37:38 -04:00
fpga
fsi
gnss
gpio gpio fixes for v6.0-rc6 2022-09-16 12:58:17 -07:00
gpu drm fixes for v6.0-rc6 2022-09-16 06:45:19 -07:00
greybus
hid for-linus-2022083101 2022-08-31 09:54:14 -07:00
hsi
hte
hv Drivers: hv: Never allocate anything besides framebuffer from framebuffer memory region 2022-09-05 17:02:15 +00:00
hwmon hwmon: (asus-ec-sensors) autoload module via DMI data 2022-09-09 10:45:08 -07:00
hwspinlock hwspinlock: qcom: Add support for mmio usage to sfpb-mutex 2022-07-16 21:47:44 -05:00
hwtracing asm-generic: updates for 6.0 2022-08-05 10:07:23 -07:00
i2c i2c: imx: Make sure to unregister adapter on remove() 2022-08-21 10:27:33 +02:00
i3c
idle Power management updates for 5.20-rc1 2022-08-02 11:17:00 -07:00
iio iio: light: cm32181: make cm32181_pm_ops static 2022-08-21 18:24:16 +01:00
infiniband RDMA/irdma: Report RNR NAK generation in device caps 2022-09-07 11:22:18 +03:00
input Input updates for v6.0-rc3 2022-09-03 13:09:46 -07:00
interconnect Merge branch 'icc-rpm' into icc-next 2022-07-15 17:56:31 +03:00
iommu iommu: Fix false ownership failure on AMD systems with PASID activated 2022-09-11 08:30:41 +02:00
ipack
irqchip irqchip fixes for 6.0, take #1 2022-08-18 17:37:22 +02:00
isdn
leds LED updates for 5.20: new driver for bcm63138, is31fl319x updates, 2022-08-08 11:36:21 -07:00
macintosh macintosh/adb: fix oob read in do_adb_query() function 2022-07-20 22:06:30 +10:00
mailbox - mtk: use rx_callback instead of cmdq_task_cb. 2022-08-08 10:19:40 -07:00
mcb drivers: mcb: directly use ida_alloc()/free() 2022-07-12 09:04:55 +02:00
md block-6.0-2022-08-26 2022-08-26 11:05:54 -07:00
media media: mceusb: Use new usb_control_msg_*() routines 2022-08-30 15:32:07 +02:00
memory More power management updates for 5.20-rc1 2022-08-08 14:29:00 -07:00
memstick MMC core: 2022-08-04 19:41:09 -07:00
message
mfd - Core Frameworks 2022-08-06 10:25:16 -07:00
misc misc: fastrpc: increase maximum session count 2022-09-01 16:13:07 +02:00
mmc MMC core: 2022-09-02 15:03:12 -07:00
most
mtd MTD core changes: 2022-08-05 14:13:45 -07:00
mux
net hyperv-fixes for v6.0-rc6 2022-09-12 18:33:55 -04:00
nfc nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout 2022-08-22 14:51:30 +01:00
ntb NTB: epf: Allow more flexibility in the memory BAR map method 2022-08-09 17:54:03 -04:00
nubus
nvdimm libnvdimm/region: Allow setting align attribute on regions without mappings 2022-09-29 17:22:30 -07:00
nvme block-6.0-2022-09-09 2022-09-09 15:03:08 -04:00
nvmem SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
of of: fdt: fix off-by-one error in unflatten_dt_nodes() 2022-08-16 11:29:57 -06:00
opp OPP updates for 5.20-rc1 2022-08-03 17:49:38 +02:00
parisc parisc: remove obsolete manual allocation aligning in iosapic 2022-09-15 07:33:26 +02:00
parport
pci Fix of heap data and clang warnings, support for a new Intel NTB device, 2022-08-13 14:00:45 -07:00
pcmcia
peci peci: cpu: Fix use-after-free in adev_release() 2022-08-15 20:31:35 +02:00
perf RISC-V Fixes for 6.0-rc5 2022-09-09 14:06:10 -04:00
phy pci-v5.20-changes 2022-08-04 19:30:35 -07:00
pinctrl pinctrl: ocelot: Fix interrupt controller 2022-09-14 15:00:16 +02:00
platform platform-drivers-x86 for v6.0-2 2022-09-02 10:35:51 -07:00
pnp PCI: Remove pci_get_legacy_ide_irq() and asm-generic/pci.h 2022-07-22 17:23:45 -05:00
power power supply and reset changes for the v6.0 series 2022-08-12 09:37:33 -07:00
powercap Power management updates for 5.20-rc1 2022-08-02 11:17:00 -07:00
pps
ps3
ptp SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
pwm SPDX changes for 6.0-rc1 2022-08-04 12:12:54 -07:00
rapidio
ras
regulator regulator: Fixes for v6.0 2022-09-08 12:56:20 -04:00
remoteproc virtio: Revert "virtio: find_vqs() add arg sizes" 2022-08-16 01:40:24 -04:00
reset ARM: SoC: late updates for 6.0 2022-08-05 10:02:33 -07:00
rpmsg rpmsg: convert sysfs snprintf to sysfs_emit 2022-07-16 23:08:47 -05:00
rtc rtc: spear: set range max 2022-08-09 00:56:41 +02:00
s390 s390 updates for 6.0-rc2 2022-08-20 11:29:01 -07:00
sbus
scsi scsi: mpt3sas: Fix use-after-free warning 2022-09-06 22:31:05 -04:00
sh
siox
slimbus
soc soc: fsl: select FSL_GUTS driver for DPIO 2022-09-02 11:28:40 +02:00
soundwire soundwire: qcom: fix device status array range 2022-09-01 14:26:44 +05:30
spi spi: Fixes for v6.0 2022-09-08 13:13:47 -04:00
spmi
ssb
staging staging: rtl8712: fix use after free bugs 2022-08-30 17:15:16 +02:00
target SCSI misc on 20220813 2022-08-13 13:41:48 -07:00
tc
tee tee: fix compiler warning in tee_shm_register() 2022-08-25 11:40:06 +02:00
thermal Merge branch 'thermal-core' 2022-08-27 15:07:58 +02:00
thunderbolt linux-kselftest-kunit-fixes-6.0-rc5 2022-09-09 14:13:36 -04:00
tty tty: n_gsm: avoid call of sleeping functions from atomic context 2022-08-30 14:40:17 +02:00
ufs scsi: ufs: core: Reduce the power mode change timeout 2022-08-19 21:34:36 -04:00
uio
usb Revert "usb: gadget: udc-xilinx: replace memcpy with memcpy_toio" 2022-09-02 09:10:08 +02:00
vdpa vdpa/mlx5: Fix possible uninitialized return value 2022-08-11 10:00:36 -04:00
vfio VFIO fix for v6.0-rc5 2022-09-09 07:44:33 -04:00
vhost virtio: fatures, fixes 2022-08-12 09:50:34 -07:00
video hyperv-fixes for v6.0-rc6 2022-09-12 18:33:55 -04:00
virt kunit: fix Kconfig for build-in tests USB4 and Nitro Enclaves 2022-09-01 13:00:48 -06:00
virtio virtio: kerneldocs fixes and enhancements 2022-08-16 01:40:24 -04:00
vlynq
w1
watchdog linux-watchdog 5.20-rc1 tag 2022-08-08 15:04:04 -07:00
xen xen: branch for v6.0-rc4 2022-09-03 13:23:11 -07:00
zorro
Kconfig
Makefile Staging driver patches for 6.0-rc1 2022-08-04 12:01:42 -07:00