1
0
Fork 0
alistair23-linux/drivers
Christian Gmeiner 3b1e38dfbc drm/etnaviv: fix perfmon domain interation
commit 40b697e256 upstream.

The GC860 has one GPU device which has a 2d and 3d core. In this case
we want to expose perfmon information for both cores.

The driver has one array which contains all possible perfmon domains
with some meta data - doms_meta. Here we can see that for the GC860
two elements of that array are relevant:

  doms_3d: is at index 0 in the doms_meta array with 8 perfmon domains
  doms_2d: is at index 1 in the doms_meta array with 1 perfmon domain

The userspace driver wants to get a list of all perfmon domains and
their perfmon signals. This is done by iterating over all domains and
their signals. If the userspace driver wants to access the domain with
id 8 the kernel driver fails and returns invalid data from doms_3d with
and invalid offset.

This results in:
  Unable to handle kernel paging request at virtual address 00000000

On such a device it is not possible to use the userspace driver at all.

The fix for this off-by-one error is quite simple.

Reported-by: Paul Cercueil <paul@crapouillou.net>
Tested-by: Paul Cercueil <paul@crapouillou.net>
Fixes: ed1dd899ba ("drm/etnaviv: rework perfmon query infrastructure")
Cc: stable@vger.kernel.org
Signed-off-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2020-05-27 17:46:41 +02:00
..
accessibility
acpi ACPI: EC: PM: Avoid flushing EC work when EC GPE is inactive 2020-05-27 17:46:10 +02:00
amba
android binderfs: use refcount for binder control devices too 2020-03-25 08:25:50 +01:00
ata libata: Return correct status in sata_pmp_eh_recover_pm() when ATA_DFLAG_DETACH is set 2020-04-17 10:50:22 +02:00
atm fore200e: Fix incorrect checks of NULL pointer dereference 2020-02-24 08:36:36 +01:00
auxdisplay
base component: Silence bind error on -EPROBE_DEFER 2020-05-27 17:46:31 +02:00
bcma
block virtio-blk: handle block_device_operations callbacks after hot unplug 2020-05-20 08:20:06 +02:00
bluetooth Bluetooth: btusb: Disable runtime suspend on Realtek devices 2020-02-11 04:35:09 -08:00
bus bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads 2020-04-17 10:49:56 +02:00
cdrom cdrom: respect device capabilities during opening action 2020-01-04 19:18:25 +01:00
char tpm: ibmvtpm: retry on H_CLOSED in tpm_ibmvtpm_send() 2020-04-29 16:33:16 +02:00
clk clk: Unlink clock if failed to prepare or enable 2020-05-20 08:20:37 +02:00
clocksource clocksource/drivers/hyper-v: Untangle stimers and timesync from clocksources 2020-04-01 11:02:12 +02:00
connector
counter counter: 104-quad-8: Add lock guards - generic interface 2020-05-02 08:48:44 +02:00
cpufreq cpufreq: intel_pstate: Only mention the BIOS disabling turbo mode once 2020-05-20 08:20:14 +02:00
cpuidle cpuidle: teo: Avoid using "early hits" incorrectly 2020-02-05 21:22:52 +00:00
crypto crypto: caam - fix the address of the last entry of S/G 2020-05-06 08:15:07 +02:00
dax
dca
devfreq PM / devfreq: Add missing locking while setting suspend_freq 2020-05-10 10:31:34 +02:00
dio
dma dmaengine: mmp_tdma: Reset channel error on release 2020-05-20 08:20:14 +02:00
dma-buf dma-buf: Fix SET_NAME ioctl uapi 2020-05-06 08:15:01 +02:00
edac EDAC/synopsys: Do not print an error with back-to-back snprintf() calls 2020-03-12 13:00:31 +01:00
eisa
extcon extcon: axp288: Add wakeup support 2020-04-08 09:08:43 +02:00
firewire net: add annotations on hh->hh_len lockless accesses 2020-01-09 10:20:06 +01:00
firmware gcc-10: mark more functions __init to avoid section mismatch warnings 2020-05-20 08:20:29 +02:00
fpga fpga: dfl: pci: fix return value of cci_pci_sriov_configure 2020-04-29 16:33:22 +02:00
fsi fsi: core: Fix small accesses and unaligned offsets via sysfs 2019-12-31 16:45:09 +01:00
gnss
gpio gpio: pca953x: Fix pca953x_gpio_set_config 2020-05-20 08:20:04 +02:00
gpu drm/etnaviv: fix perfmon domain interation 2020-05-27 17:46:41 +02:00
greybus
hid HID: quirks: Add HID_QUIRK_NO_INIT_REPORTS quirk for Dell K12A keyboard-dock 2020-05-27 17:46:34 +02:00
hsi
hv Drivers: hv: vmbus: Fix Suspend-to-Idle for Generation-2 VM 2020-05-06 08:15:09 +02:00
hwmon hwmon: (da9052) Synchronize access with mfd 2020-05-20 08:20:26 +02:00
hwspinlock
hwtracing stm class: sys-t: Fix the use of time_after() 2020-03-25 08:25:56 +01:00
i2c i2c: mux: demux-pinctrl: Fix an error handling path in 'i2c_demux_pinctrl_probe()' 2020-05-27 17:46:18 +02:00
i3c
ide ide: serverworks: potential overflow in svwks_set_pio_mode() 2020-02-24 08:36:53 +01:00
idle
iio iio:ad7797: Use correct attribute_group 2020-05-02 08:48:44 +02:00
infiniband RDMA/iw_cxgb4: Fix incorrect function parameters 2020-05-20 08:20:26 +02:00
input Input: i8042 - add Acer Aspire 5738z to nomux list 2020-04-17 10:50:21 +02:00
interconnect interconnect: qcom: qcs404: Walk the list safely on node removal 2019-12-17 19:55:39 +01:00
iommu iommu/amd: Call domain_flush_complete() in update_domain() 2020-05-27 17:46:35 +02:00
ipack
irqchip irqchip/mbigen: Free msi_desc on device teardown 2020-04-23 10:36:20 +02:00
isdn net: use skb_queue_empty_lockless() in poll() handlers 2019-10-28 13:33:41 -07:00
leds leds: core: Fix warning message when init_data 2020-04-23 10:36:37 +02:00
lightnvm
macintosh macintosh: windfarm: fix MODINFO regression 2020-03-18 07:17:53 +01:00
mailbox mailbox: imx: Fix Tx doorbell shutdown path 2020-01-04 19:18:30 +01:00
mcb
md dm multipath: use updated MPATHF_QUEUE_IO on mapping for bio-based mpath 2020-05-06 08:15:10 +02:00
media media: ti-vpe: cal: fix a kernel oops when unloading module 2020-04-17 10:50:08 +02:00
memory memory: mtk-smi: Add PM suspend and resume ops 2020-01-17 19:48:59 +01:00
memstick
message scsi: mptfusion: Fix double fetch bug in ioctl 2020-01-23 08:22:35 +01:00
mfd mfd: intel-lpss: Use devm_ioremap_uc for MMIO 2020-05-10 10:31:30 +02:00
misc mei: me: add cedar fork device ids 2020-04-08 09:08:42 +02:00
mmc mmc: block: Fix request completion in the CQE timeout path 2020-05-20 08:20:22 +02:00
mtd mtd: Fix mtd not registered due to nvmem name collision 2020-05-27 17:46:22 +02:00
mux
net stmmac: fix pointer check after utilization in stmmac_interrupt 2020-05-27 17:46:34 +02:00
nfc NFC: fdp: Fix a signedness bug in fdp_nci_send_patch() 2020-04-01 11:01:38 +02:00
ntb
nubus
nvdimm libnvdimm: Out of bounds read in __nd_ioctl() 2020-04-23 10:36:42 +02:00
nvme nvme: fix possible hang when ns scanning fails during error recovery 2020-05-14 07:58:18 +02:00
nvmem nvmem: check for NULL reg_read and reg_write before dereferencing 2020-04-08 09:08:42 +02:00
of of: overlay: kmemleak in dup_and_fixup_symbol_prop() 2020-04-23 10:36:23 +02:00
opp opp: Free static OPPs on errors while adding them 2020-02-24 08:36:34 +01:00
oprofile
parisc
parport parport: load lowlevel driver if ports not found 2019-12-31 16:45:25 +01:00
pci PCI: Move Apex Edge TPU class quirk to fix BAR assignment 2020-05-02 08:48:50 +02:00
pcmcia
perf drivers/perf: arm_pmu_acpi: Fix incorrect checking of gicc pointer 2020-03-25 08:25:47 +01:00
phy phy: uniphier-usb3ss: Add Pro5 support 2020-04-23 10:36:33 +02:00
pinctrl pinctrl: cherryview: Add missing spinlock usage in chv_gpio_irq_handler 2020-05-20 08:20:19 +02:00
platform platform/x86: asus-nb-wmi: Do not load on Asus T100TA and T200TA 2020-05-27 17:46:35 +02:00
pnp
power power: supply: axp288_fuel_gauge: Broaden vendor check for Intel Compute Sticks. 2020-04-23 10:36:41 +02:00
powercap powercap: intel_rapl: add NULL pointer check to rapl_mmio_cpu_online() 2020-01-14 20:08:18 +01:00
pps
ps3
ptp ptp: free ptp device pin descriptors properly 2020-01-23 08:22:51 +01:00
pwm pwm: bcm2835: Dynamically allocate base 2020-04-29 16:33:02 +02:00
rapidio
ras
regulator regulator: stm32-vrefbuf: fix a possible overshoot when re-enabling 2020-03-12 13:00:29 +01:00
remoteproc remoteproc: qcom_q6v5_mss: fix a bug in q6v5_probe() 2020-05-10 10:31:25 +02:00
reset reset: uniphier: Add SCSSI reset control for each channel 2020-02-24 08:36:41 +01:00
rpmsg rpmsg: char: release allocated memory 2020-01-14 20:08:37 +01:00
rtc rtc: 88pm860x: fix possible race condition 2020-04-23 10:36:31 +02:00
s390 s390/ism: fix error return code in ism_probe() 2020-05-20 08:20:26 +02:00
sbus
scsi scsi: qla2xxx: Do not log message when reading port speed via sysfs 2020-05-27 17:46:40 +02:00
sfi
sh
siox
slimbus
soc drivers: soc: xilinx: fix firmware driver Kconfig dependency 2020-05-02 08:48:46 +02:00
soundwire soundwire: intel: fix PDI/stream mapping for Bulk 2019-12-31 16:45:11 +01:00
spi spi: spi-fsl-dspi: Replace interruptible wait queue with a simple completion 2020-04-17 10:50:05 +02:00
spmi spmi: pmic-arb: Set lockdep class for hierarchical irq domains 2020-02-19 19:53:07 +01:00
ssb
staging staging: gasket: Check the return value of gasket_get_bar_index() 2020-05-14 07:58:27 +02:00
target scsi: target: Put lun_ref at end of tmr processing 2020-05-27 17:46:40 +02:00
tc
tee tee: optee: Fix compilation issue with nommu 2020-02-05 21:22:49 +00:00
thermal thermal: brcmstb_thermal: Do not use DT coefficients 2020-03-05 16:43:50 +01:00
thunderbolt thunderbolt: Prevent crash if non-active NVMem file is read 2020-02-28 17:22:13 +01:00
tty tty: xilinx_uartps: Fix missing id assignment to the console 2020-05-14 07:58:19 +02:00
uio uio: fix a sleep-in-atomic-context bug in uio_dmem_genirq_irqcontrol() 2020-02-24 08:36:27 +01:00
usb USB: core: Fix misleading driver bug report 2020-05-27 17:46:34 +02:00
vfio vfio/type1: Fix VA->PA translation for PFNMAP VMAs in vaddr_get_pfn() 2020-05-06 08:15:14 +02:00
vhost vhost/vsock: fix packet delivery order to monitoring devices 2020-05-27 17:46:31 +02:00
video fbmem: Adjust indentation in fb_prepare_logo and fb_blank 2020-04-23 10:36:43 +02:00
virt
virtio virtio_ring: Fix mem leak with vring_new_virtqueue() 2020-03-18 07:17:55 +01:00
visorbus visorbus: fix uninitialized variable access 2020-02-24 08:36:47 +01:00
vlynq
vme vme: bridges: reduce stack usage 2020-02-24 08:36:48 +01:00
w1
watchdog watchdog: reset last_hw_keepalive time at start 2020-04-29 16:32:57 +02:00
xen xen/xenbus: ensure xenbus_map_ring_valloc() returns proper grant status 2020-05-02 08:48:57 +02:00
zorro
Kconfig
Makefile