linux/drivers
Klaus Jensen b5f96cb719 nvme-pci: fix doorbell buffer value endianness
When using shadow doorbells, the event index and the doorbell values are
written to host memory. Prior to this patch, the values written would
erroneously be written in host endianness. This causes trouble on
big-endian platforms. Fix this by adding missing endian conversions.

This issue was noticed by Guenter while testing various big-endian
platforms under QEMU[1]. A similar fix required for hw/nvme in QEMU is
up for review as well[2].

  [1]: https://lore.kernel.org/qemu-devel/20221209110022.GA3396194@roeck-us.net/
  [2]: https://lore.kernel.org/qemu-devel/20221212114409.34972-4-its@irrelevant.dk/

Fixes: f9f38e3338 ("nvme: improve performance for virtual NVMe devices")
Reported-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Klaus Jensen <k.jensen@samsung.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
2022-12-21 09:05:21 +01:00
..
accel accel: add dedicated minor for accelerator devices 2022-11-22 13:14:44 +02:00
accessibility speakup: replace utils' u_char with unsigned char 2022-11-09 15:25:24 +01:00
acpi MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
amba ARM updates for 6.2 2022-12-13 15:22:14 -08:00
android binder: validate alloc->mm in ->mmap() handler 2022-11-09 15:41:27 +01:00
ata ata changes for 6.2 2022-12-13 10:54:19 -08:00
atm
auxdisplay
base MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
bcma bcma: Fail probe if GPIO subdriver fails 2022-11-04 12:59:51 +02:00
block loop: Fix the max_loop commandline argument treatment when it is set to 0 2022-12-14 10:55:20 -07:00
bluetooth Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
bus Random number generator updates for Linux 6.2-rc1. 2022-12-12 16:22:22 -08:00
cdrom
char Small fixes, a new SSIF i2c BMC-side interface 2022-12-13 13:36:39 -08:00
clk A pile of clk driver updates with a small tracepoint patch to the clk core this 2022-12-13 13:46:07 -08:00
clocksource Updates for timers, timekeeping and drivers: 2022-12-12 12:52:02 -08:00
comedi
connector
counter
cpufreq linux-kselftest-next-6.2-rc1 2022-12-12 16:39:38 -08:00
cpuidle
crypto net: devlink: let the core report the driver name instead of the drivers 2022-11-30 21:49:38 -08:00
cxl cxl/region: Fix memdev reuse check 2022-12-08 13:03:47 -08:00
dax device-dax: Fix duplicate 'hmem' device registration 2022-11-21 15:34:40 -08:00
dca
devfreq PM / devfreq: event: use devm_platform_get_and_ioremap_resource() 2022-12-05 21:57:20 +09:00
dio
dma genirq: Get rid of GENERIC_MSI_IRQ_DOMAIN 2022-11-17 15:15:20 +01:00
dma-buf drm for 6.2: 2022-12-13 11:59:58 -08:00
edac Merge branches 'edac-ghes' and 'edac-misc' into edac-updates-for-v6.2 2022-12-12 15:40:03 +01:00
eisa
extcon extcon: usbc-tusb320: Call the Type-C IRQ handler only if a port is registered 2022-11-08 16:45:31 +01:00
firewire
firmware ARM updates for 6.2 2022-12-13 15:22:14 -08:00
fpga fpga: m10bmc-sec: Fix kconfig dependencies 2022-11-15 21:46:58 +08:00
fsi use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
gnss
gpio Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
gpu MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
greybus
hid for-linus-2022121301 2022-12-13 13:32:56 -08:00
hsi
hte
hv Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
hwmon hwmon updates for v6.2 merge window 2022-12-13 13:09:38 -08:00
hwspinlock
hwtracing
i2c sound updates for 6.2-rc1 2022-12-13 11:27:26 -08:00
i3c
idle
iio Input updates for 6.2 merge window: 2022-12-13 13:20:36 -08:00
infiniband MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
input Input updates for 6.2 merge window: 2022-12-13 13:20:36 -08:00
interconnect
iommu dma-mapping updates for Linux 2.6 2022-12-13 09:05:19 -08:00
ipack
irqchip irqchip updates for 6.2 2022-12-07 17:50:44 +01:00
isdn use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
leds
macintosh
mailbox ACPI updates for 6.2-rc1 2022-12-12 13:38:17 -08:00
mcb
md - Fix use-after-free races due to missing resource cleanup during DM 2022-12-13 10:58:09 -08:00
media MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
memory ARM updates for 6.2 2022-12-13 15:22:14 -08:00
memstick memstick/mspro_block: Convert to use sysfs_emit()/sysfs_emit_at() APIs 2022-12-09 10:29:58 +01:00
message
mfd
misc MM patches for 6.2-rc1. 2022-12-13 19:29:45 -08:00
mmc MMC core: 2022-12-13 13:41:26 -08:00
most
mtd MTD core changes: 2022-12-13 12:32:07 -08:00
mux
net Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
nfc Merge git://git.kernel.org/pub/scm/linux/kernel/git/netdev/net 2022-11-29 13:04:52 -08:00
ntb
nubus
nvdimm nvdimm/region: Move cache management to the region driver 2022-12-02 23:52:32 -08:00
nvme nvme-pci: fix doorbell buffer value endianness 2022-12-21 09:05:21 +01:00
nvmem SoC driver updates for 6.2 2022-12-12 10:17:08 -08:00
of Devicetree updates for v6.2: 2022-12-13 13:13:55 -08:00
opp OPP: decouple dt properties in opp_parse_supplies() 2022-11-04 10:59:07 +05:30
parisc
parport parport_pc: Avoid FIFO port location truncation 2022-11-09 15:40:32 +01:00
pci for-6.2/block-2022-12-08 2022-12-13 10:43:59 -08:00
pcmcia
peci
perf Perf events updates for v6.2: 2022-12-12 15:19:38 -08:00
phy media updates for v6.2-rc1 2022-12-13 11:36:58 -08:00
pinctrl Pin control changes for the v6.2 kernel cycle: 2022-12-13 13:03:06 -08:00
platform - Add support for multiple testing sequences to the Intel In-Field Scan 2022-12-13 15:05:29 -08:00
pnp PNP: Do not disable devices on suspend when they cannot be re-enabled on resume 2022-11-25 19:36:52 +01:00
power power: supply: ab8500: Defer thermal zone probe 2022-11-01 01:00:32 +01:00
powercap powercap: idle_inject: Fix warnings with make W=1 2022-12-02 20:49:49 +01:00
pps
ps3
ptp Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
pwm pwm: lpss: Rename pwm_lpss_probe() --> devm_pwm_lpss_probe() 2022-11-22 16:36:27 +02:00
rapidio rapidio: devices: fix missing put_device in mport_cdev_open 2022-12-11 19:30:20 -08:00
ras RAS: Fix return value from show_trace() 2022-10-31 18:55:18 +01:00
regulator regulator: Updates for v6.2 2022-12-13 12:49:59 -08:00
remoteproc
reset
rpmsg
rtc
s390 Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
sbus sparc: sbus: treat CPU index as integer 2022-11-19 00:56:15 +01:00
scsi ata changes for 6.2 2022-12-13 10:54:19 -08:00
sh
siox siox: fix possible memory leak in siox_device_add() 2022-11-09 15:40:14 +01:00
slimbus slimbus: qcom-ngd: Fix build error when CONFIG_SLIM_QCOM_NGD_CTRL=y && CONFIG_QCOM_RPROC_COMMON=m 2022-11-10 18:45:40 +01:00
soc ARM updates for 6.2 2022-12-13 15:22:14 -08:00
soundwire ASoC: adau1372: fixes after debugging custom board 2022-11-25 21:26:21 +00:00
spi spi: Updates for v6.2 2022-12-13 12:54:31 -08:00
spmi
ssb
staging Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
target use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
tc
tee SoC driver updates for 6.2 2022-12-12 10:17:08 -08:00
thermal Thermal control updates for 6.2-rc1 2022-12-12 13:45:21 -08:00
thunderbolt
tty printk changes for 6.2 2022-12-12 09:01:36 -08:00
ufs for-6.2/block-2022-12-08 2022-12-13 10:43:59 -08:00
uio
usb Networking changes for 6.2. 2022-12-13 15:47:48 -08:00
vdpa
vfio Updates for the interrupt core and driver subsystem: 2022-12-12 11:21:29 -08:00
vhost use less confusing names for iov_iter direction initializers 2022-11-25 13:01:55 -05:00
video drm for 6.2: 2022-12-13 11:59:58 -08:00
virt - Two minor fixes to the sev-guest driver 2022-12-13 15:17:55 -08:00
virtio
vlynq
w1
watchdog ACPI: make remove callback of ACPI driver void 2022-11-23 19:11:22 +01:00
xen drm for 6.2: 2022-12-13 11:59:58 -08:00
zorro
Kconfig drivers/accel: define kconfig and register a new major 2022-11-22 13:13:51 +02:00
Makefile