Vidya Sagar
caf4a67c01
PCI/MSI: Prevent MSI hardware interrupt number truncation
...
commit db744ddd59be798c2627efbfc71f707f5a935a40 upstream.
While calculating the hardware interrupt number for a MSI interrupt, the
higher bits (i.e. from bit-5 onwards a.k.a domain_nr >= 32) of the PCI
domain number gets truncated because of the shifted value casting to return
type of pci_domain_nr() which is 'int'. This for example is resulting in
same hardware interrupt number for devices 0019:00:00.0 and 0039:00:00.0.
To address this cast the PCI domain number to 'irq_hw_number_t' before left
shifting it to calculate the hardware interrupt number.
Please note that this fixes the issue only on 64-bit systems and doesn't
change the behavior for 32-bit systems i.e. the 32-bit systems continue to
have the issue. Since the issue surfaces only if there are too many PCIe
controllers in the system which usually is the case in modern server
systems and they don't tend to run 32-bit kernels.
Fixes: 3878eaefb8 ("PCI/MSI: Enhance core to support hierarchy irqdomain")
Signed-off-by: Vidya Sagar <vidyas@nvidia.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Shanker Donthineni <sdonthineni@nvidia.com>
Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20240115135649.708536-1-vidyas@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-03-01 13:13:36 +01:00
..
accessibility
acpi
ACPI: extlog: fix NULL pointer dereference check
2024-02-23 08:24:54 +01:00
amba
amba: bus: fix refcount leak
2023-09-23 10:59:52 +02:00
android
binder: signal epoll threads of self-work
2024-02-23 08:25:11 +01:00
ata
ahci: add 43-bit DMA address quirk for ASMedia ASM1061 controllers
2024-03-01 13:13:33 +01:00
atm
atm: idt77252: fix a memleak in open_card_ubr0
2024-02-23 08:25:06 +01:00
auxdisplay
base
PM: runtime: Have devm_pm_runtime_enable() handle pm_runtime_dont_use_autosuspend()
2024-02-23 08:25:14 +01:00
bcma
block
virtio-blk: Ensure no requests in virtqueues before deleting vqs.
2024-03-01 13:13:34 +01:00
bluetooth
Bluetooth: btmtkuart: fix recv_buf() return value
2024-01-25 14:34:26 -08:00
bus
bus: moxtet: Add spi device table
2024-02-23 08:25:13 +01:00
cdrom
char
hwrng: core - Fix page fault dead lock on mmap-ed hwrng
2024-02-23 08:24:48 +01:00
clk
clk: mmp: pxa168: Fix memory leak in pxa168_clk_init()
2024-02-23 08:25:01 +01:00
clocksource
clocksource/drivers/timer-atmel-tcb: Fix initialization on SAM9 hardware
2023-11-28 16:50:13 +00:00
connector
counter
cpufreq
cpufreq: imx6q: Don't disable 792 Mhz OPP unnecessarily
2023-12-08 08:44:28 +01:00
cpuidle
crypto
crypto: stm32/crc32 - fix parsing list of devices
2024-02-23 08:24:55 +01:00
dax
dca
devfreq
PM / devfreq: Fix leak in devfreq_dev_release()
2023-09-23 10:59:54 +02:00
dio
dma
dmaengine: fsl-qdma: increase size of 'irq_name'
2024-03-01 13:13:33 +01:00
dma-buf
dma-buf/sw_sync: Avoid recursive lock during fence signal
2023-08-30 16:27:28 +02:00
edac
EDAC/thunderx: Fix possible out-of-bounds string access
2024-01-25 14:34:21 -08:00
eisa
extcon
extcon: Fix kernel doc of property capability fields to avoid warnings
2023-07-27 08:37:20 +02:00
firewire
firewire: core: send bus reset promptly on gap count error
2024-03-01 13:13:34 +01:00
firmware
firmware: ti_sci: Fix an off-by-one in ti_sci_debugfs_create()
2024-01-25 14:34:25 -08:00
fpga
fsi
fsi: master-ast-cf: Add MODULE_FIRMWARE macro
2023-09-23 10:59:37 +02:00
gnss
gpio
gpio: eic-sprd: Clear interrupt after set the interrupt type
2024-02-23 08:24:53 +01:00
gpu
drm/amdgpu: Fix type of second parameter in trans_msg() callback
2024-03-01 13:13:35 +01:00
greybus
hid
HID: wacom: Do not register input devices until after hid_hw_start
2024-02-23 08:25:10 +01:00
hsi
hv
hwmon
hwmon: (coretemp) Enlarge per package core count limit
2024-03-01 13:13:34 +01:00
hwspinlock
hwtracing
coresight: etm4x: Fix width of CCITMIN field
2024-01-25 14:34:21 -08:00
i2c
i2c: i801: Fix block process call transactions
2024-02-23 08:25:10 +01:00
i3c
i3c: master: cdns: Update maximum prescaler value for i2c clock
2024-02-23 08:25:02 +01:00
ide
idle
iio
iio: magnetometer: rm3100: add boundary check for the value read from RM3100_REG_TMRC
2024-02-23 08:25:11 +01:00
infiniband
IB/hfi1: Fix sdma.h tx->num_descs off-by-one error
2024-03-01 13:13:36 +01:00
input
Input: atkbd - skip ATKBD_CMD_SETLEDS when skipping ATKBD_CMD_GETID
2024-02-23 08:25:08 +01:00
interconnect
interconnect: Treat xlate() returning NULL node as an error
2024-01-08 11:29:45 +01:00
iommu
of/iommu: Make of_map_rid() PCI agnostic
2023-12-13 18:18:11 +01:00
ipack
irqchip
irqchip/irq-brcmstb-l2: Add write memory barrier before exit
2024-02-23 08:25:13 +01:00
isdn
mISDN: Update parameter type of dsp_cmx_send()
2023-08-16 18:19:23 +02:00
leds
leds: trigger: panic: Don't register panic notifier if creating the trigger failed
2024-02-23 08:25:02 +01:00
lightnvm
macintosh
mailbox
mailbox: ti-msgmgr: Fill non-message tx data fields with 0x0
2023-07-27 08:37:23 +02:00
mcb
mcb: fix error handling for different scenarios when parsing
2023-11-28 16:50:19 +00:00
md
dm-crypt: don't modify the data when using authenticated encryption
2024-03-01 13:13:36 +01:00
media
media: ddbridge: fix an error code problem in ddb_probe
2024-02-23 08:25:01 +01:00
memory
memory: brcmstb_dpfe: fix testing array offset after use
2023-07-27 08:37:14 +02:00
memstick
memstick r592: make memstick_debug_get_tpc_name() static
2023-07-27 08:37:10 +02:00
message
mfd
mfd: ti_am335x_tscadc: Fix TI SoC dependencies
2024-02-23 08:25:02 +01:00
misc
misc: fastrpc: Mark all sessions as invalid in cb_remove
2024-02-23 08:25:11 +01:00
mmc
mmc: slot-gpio: Allow non-sleeping GPIO ro
2024-02-23 08:25:12 +01:00
mtd
Revert "Revert "mtd: rawnand: gpmi: Fix setting busy timeout setting""
2024-02-23 08:25:15 +01:00
mux
net
gtp: fix use-after-free and null-ptr-deref in gtp_genl_dump_pdp()
2024-03-01 13:13:36 +01:00
nfc
ntb
ntb: Fix calculation ntb_transport_tx_free_entry()
2023-09-23 10:59:55 +02:00
nubus
nvdimm
nd_btt: Make BTT lanes preemptible
2023-11-20 10:30:12 +01:00
nvme
nvmet-fc: abort command when there is no binding
2024-03-01 13:13:34 +01:00
nvmem
nvmem: imx: correct nregs for i.MX6UL
2023-11-08 11:23:37 +01:00
of
of: gpio unittest kfree() wrong object
2024-02-23 08:25:15 +01:00
opp
OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
2023-09-23 10:59:40 +02:00
oprofile
parisc
parisc: iosapic.c: Fix sparse warnings
2023-10-10 21:46:39 +02:00
parport
parport: parport_serial: Add Brainboxes device IDs and geometry
2024-01-25 14:34:21 -08:00
pci
PCI/MSI: Prevent MSI hardware interrupt number truncation
2024-03-01 13:13:36 +01:00
pcmcia
pcmcia: ds: fix possible name leak in error path in pcmcia_device_add()
2023-11-20 10:30:14 +01:00
perf
perf/smmuv3: Enable HiSilicon Erratum 162001900 quirk for HIP08/09
2023-09-23 11:00:03 +02:00
phy
phy: ti: phy-omap-usb2: Fix NULL pointer dereference for SRP
2024-02-23 08:25:06 +01:00
pinctrl
pinctrl: rockchip: Fix refcount leak in rockchip_pinctrl_parse_groups
2024-03-01 13:13:35 +01:00
platform
platform/x86: intel_telemetry: Fix kernel doc descriptions
2023-12-20 15:41:21 +01:00
pnp
PNP: ACPI: fix fortify warning
2024-02-23 08:24:54 +01:00
power
powercap
pps
ps3
ptp
ptp: annotate data-race around q->head and q->tail
2023-11-28 16:50:16 +00:00
pwm
pwm: brcmstb: Utilize appropriate clock APIs in suspend/resume
2023-11-20 10:30:15 +01:00
rapidio
ras
regulator
regulator: pwm-regulator: Add validity checks in continuous .get_voltage
2024-03-01 13:13:34 +01:00
remoteproc
reset
reset: hisilicon: hi6220: fix Wvoid-pointer-to-enum-cast warning
2024-01-25 14:34:20 -08:00
rpmsg
rpmsg: virtio: Free driver_override when rpmsg_remove()
2024-02-23 08:24:48 +01:00
rtc
rtc: pcf85363: fix wrong mask/val parameters in regmap_update_bits call
2023-11-20 10:30:14 +01:00
s390
s390/qeth: Fix potential loss of L3-IP@ in case of network issues
2024-03-01 13:13:34 +01:00
sbus
scsi
scsi: lpfc: Use unsigned type for num_sge
2024-03-01 13:13:34 +01:00
sfi
sh
siox
slimbus
soc
pmdomain: renesas: r8a77980-sysc: CR7 must be always on
2024-03-01 13:13:34 +01:00
soundwire
soundwire: stream: fix NULL pointer dereference for multi_link
2023-12-20 15:41:24 +01:00
spi
spi: mt7621: Fix an error message in mt7621_spi_probe()
2024-03-01 13:13:35 +01:00
spmi
ssb
staging
staging: iio: ad5933: fix type mismatch regression
2024-02-23 08:25:11 +01:00
target
scsi: target: core: Add TMF to tmr_list handling
2024-03-01 13:13:33 +01:00
tc
tee
thermal
thermal: core: prevent potential string overflow
2023-11-20 10:30:09 +01:00
thunderbolt
tty
serial: max310x: improve crystal stable clock detection
2024-02-23 08:25:12 +01:00
uio
uio: Fix use-after-free in uio_open
2024-01-25 14:34:21 -08:00
usb
usb: f_mass_storage: forbid async queue when shutdown happen
2024-02-23 08:25:10 +01:00
vfio
vhost
vhost: use kzalloc() instead of kmalloc() followed by memset()
2024-02-23 08:25:08 +01:00
video
fbdev: sis: Error out if pixclock equals zero
2024-03-01 13:13:33 +01:00
virt
virtio
virtio-mmio: fix memory leak of vm_dev
2023-11-08 11:23:34 +01:00
visorbus
vlynq
vme
w1
w1: fix loop in w1_fini()
2023-07-27 08:37:19 +02:00
watchdog
watchdog: bcm2835_wdt: Fix WDIOC_SETTIMEOUT handling
2024-01-25 14:34:28 -08:00
xen
xen/events: fix delayed eoi list handling
2023-11-28 16:50:16 +00:00
zorro
Kconfig
Makefile