Chris Wilson
016a65a391
drm/i915: Always reset vma->ggtt_view.pages cache on unbinding
...
With the introduction of multiple views of an obj in the same vm, each
vma was taught to cache its copy of the pages (so that different views
could have different page arrangements). However, this missed decoupling
those vma->ggtt_view.pages when the vma released its reference on the
obj->pages. As we don't always free the vma, this leads to a possible
scenario (e.g. execbuffer interrupted by the shrinker) where the vma
points to a stale obj->pages, and explodes.
Fixes regression from commit fe14d5f4e5
Author: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Date: Wed Dec 10 17:27:58 2014 +0000
drm/i915: Infrastructure for supporting different GGTT views per object
Tvrtko says, if someone else will be confused how this can happen, key
is the reservation execbuffer path. That puts the VMA on the exec_list
which prevents i915_vma_unbind and i915_gem_vma_destroy from fully
destroying the VMA. So the VMA is left existing as an empty object in
the list - unbound and disassociated with the backing store. Kind of a
cached memory object. And then re-using it needs to clear the cached
pages pointer which is fixed above.
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=1227892
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Michel Thierry <michel.thierry@intel.com>
Cc: stable@vger.kernel.org
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
[Jani: Added Tvrtko's explanation to commit message.]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
2015-06-15 09:49:59 +03:00
..
accessibility
acpi
Merge branches 'acpi-init' and 'acpica'
2015-05-15 00:31:23 +02:00
amba
android
ata
Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2015-06-08 08:47:08 -07:00
atm
auxdisplay
base
drivers/base: cacheinfo: handle absence of caches
2015-06-01 10:34:24 +09:00
bcma
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2015-04-17 15:50:54 -04:00
block
Merge branch 'for-linus' of git://git.kernel.dk/linux-block
2015-06-12 11:35:19 -07:00
bluetooth
Bluetooth: ath3k: add support of 04ca:300f AR3012 device
2015-05-13 23:04:20 +02:00
bus
mvebu fixes for 4.1 (part 3)
2015-06-01 17:03:44 +02:00
cdrom
char
ipmi: Fix multi-part message handling
2015-05-05 19:37:22 -05:00
clk
clk: si5351: Do not pass struct clk in platform_data
2015-05-08 11:22:30 -07:00
clocksource
Initial ACPI support for arm64:
2015-04-24 08:23:45 -07:00
connector
cpufreq
cpufreq: intel_pstate: Fix an annoying !CONFIG_SMP warning
2015-04-15 23:02:24 +02:00
cpuidle
cpuidle: Run tick_broadcast_exit() with disabled interrupts
2015-04-29 15:19:21 +02:00
crypto
Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
2015-04-26 13:51:05 -07:00
dca
devfreq
dio
dma
dmaengine: Fix choppy sound because of unimplemented resume
2015-06-12 15:22:26 +05:30
dma-buf
dma-buf: cleanup dma_buf_export() to make it easily extensible
2015-04-21 14:47:16 +05:30
edac
eisa
extcon
extcon: usb-gpio: register extcon device before IRQ registration
2015-04-27 11:06:05 +09:00
firewire
firmware
Merge branch 'stable/for-linus-4.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/ibft
2015-06-06 09:03:54 -07:00
fmc
gpio
gpio: gpio-kempld: Fix get_direction return value
2015-05-12 13:49:13 +02:00
gpu
drm/i915: Always reset vma->ggtt_view.pages cache on unbinding
2015-06-15 09:49:59 +03:00
hid
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid
2015-05-21 17:23:11 -07:00
hsi
hv
hwmon
hwmon: (nct6683) Add missing sysfs attribute initialization
2015-05-29 17:47:42 -07:00
hwspinlock
hwtracing /coresight
Char/Misc driver patches for 4.1-rc1
2015-04-21 09:42:58 -07:00
i2c
i2c: s3c2410: fix oops in suspend callback for non-dt platforms
2015-05-12 18:13:46 +02:00
ide
Merge branch 'for-4.1-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata
2015-05-11 10:54:20 -07:00
idle
Power management and ACPI updates for v4.1-rc1
2015-04-14 20:21:54 -07:00
iio
iio: adc: twl6030-gpadc: Fix modalias
2015-05-23 12:30:52 +01:00
infiniband
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2015-05-31 11:31:42 -07:00
input
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
2015-06-09 15:05:27 -07:00
iommu
Merge git://git.infradead.org/intel-iommu
2015-06-12 11:28:57 -07:00
ipack
irqchip
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus
2015-06-14 15:38:57 -10:00
isdn
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next
2015-04-15 09:00:47 -07:00
leds
This is the bulk of GPIO changes for the v4.1 development
2015-04-18 08:22:10 -04:00
lguest
lguest: fix out-by-one error in address checking.
2015-05-27 09:57:21 -07:00
macintosh
mailbox
mcb
md
md: make sure MD_RECOVERY_DONE is clear before starting recovery/resync
2015-06-12 20:16:33 +10:00
media
media fixes for v4.1-rc3
2015-05-05 08:42:06 -07:00
memory
ARM: SoC driver updates for v4.1
2015-04-22 09:18:17 -07:00
memstick
memstick: mspro_block: add missing curly braces
2015-04-17 09:04:09 -04:00
message
mfd
mfd: da9052: Fix broken regulator probe
2015-05-27 13:34:15 +01:00
misc
Char/Misc driver patches for 4.1-rc1
2015-04-21 09:42:58 -07:00
mmc
mmc: atmel-mci: fix bad variable type for clkdiv
2015-05-18 09:04:42 +02:00
mtd
Two MTD fixes for 4.1:
2015-05-18 10:01:54 -07:00
net
net: igb: fix the start time for periodic output signals
2015-06-11 16:04:02 -07:00
nfc
ntb
ntb: initialize max_mw for Atom before using it
2015-06-11 09:27:24 -04:00
nubus
of
Driver core fixes for 4.1-rc7
2015-06-06 22:37:45 -07:00
oprofile
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
2015-04-26 17:22:07 -07:00
parisc
parisc: %pf is only for function pointers
2015-04-24 13:45:54 +02:00
parport
pci
PCI: Preserve resource size during alignment reordering
2015-06-01 17:56:32 -05:00
pcmcia
ARM: SoC cleanups for v4.1
2015-04-22 09:04:39 -07:00
phy
phy: phy-rcar-gen2: Fix USBHS_UGSTS_LOCK value
2015-05-12 20:57:19 +05:30
pinctrl
pinctrl: Fix gpio/pin mapping for Meson8b
2015-05-19 11:40:52 +02:00
platform
thinkpad_acpi: Revert unintentional device attribute renaming
2015-05-20 02:18:12 -07:00
pnp
Power management and ACPI updates for v4.1-rc1
2015-04-14 20:21:54 -07:00
power
power: bq27x00_battery: Add missing MODULE_ALIAS
2015-05-01 23:01:48 +02:00
powercap
powercap / RAPL: Add support for Intel Skylake processors
2015-04-15 23:06:16 +02:00
pps
ps3
ptp
pwm
pwm: img: Impose upper and lower timebase steps value
2015-05-19 16:07:40 +02:00
rapidio
ras
regulator
mfd: da9052: Fix broken regulator probe
2015-05-27 13:34:15 +01:00
remoteproc
reset
rpmsg
rtc
drivers/rtc/rtc-armada38x.c: remove unused local `flags'
2015-05-14 17:55:51 -07:00
s390
s390/zcrypt: Fix invalid domain handling during ap module unload
2015-05-13 09:57:29 +02:00
sbus
drivers/sbus/char/envctrl.c: ignore orderly_poweroff return value
2015-04-15 16:35:23 -07:00
scsi
Merge git://git.kernel.org/pub/scm/linux/kernel/git/nab/target-pending
2015-05-31 11:31:42 -07:00
sfi
sh
drivers: sh: Remove test for now unsupported sh7372
2015-04-27 13:08:14 +09:00
sn
soc
soc: mediatek: Add compile dependency to pmic-wrapper
2015-05-27 16:27:05 +02:00
spi
Merge remote-tracking branches 'spi/fix/fsl-cpm', 'spi/fix/fsl-dspi' and 'spi/fix/fsl-espi' into spi-linus
2015-05-11 17:29:49 +01:00
spmi
ssb
SSB: Fix handling of ssb_pmu_get_alp_clock()
2015-06-09 16:38:06 +02:00
staging
staging: rtl8712: fix stack dump
2015-05-31 11:54:25 +09:00
target
target: Use a PASSTHROUGH flag instead of transport_types
2015-05-30 19:58:11 -07:00
tc
thermal
Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal into for-rc
2015-05-19 08:12:27 +08:00
thunderbolt
tty
TTY/Serial driver fixes for 4.1-rc7
2015-06-06 22:14:23 -07:00
uio
usb
USB-serial fixes for v4.1-rc7
2015-06-05 23:19:45 +09:00
uwb
vfio
vfio: Fix runaway interruptible timeout
2015-05-01 16:31:41 -06:00
vhost
target: Fix se_tpg_tfo->tf_subsys regression + remove tf_subsystem
2015-05-30 18:04:20 -07:00
video
backlight: pwm: Handle EPROBE_DEFER while requesting the PWM
2015-05-26 08:44:59 +01:00
virt
virtio
virtio_pci: Clear stale cpumask when setting irq affinity
2015-06-04 14:47:49 +02:00
vlynq
vme
w1
watchdog
Merge git://www.linux-watchdog.org/linux-watchdog
2015-04-22 11:22:55 -07:00
xen
xen/events: don't bind non-percpu VIRQs with percpu chip
2015-05-19 19:55:36 +01:00
zorro
Kconfig
Makefile