# git rev-parse -q --verify 100d46bd72ec689a5582c2f5f4deadc5bcb92d60^{commit} 100d46bd72ec689a5582c2f5f4deadc5bcb92d60 already have revision, skipping fetch # git checkout -q -f -B kisskb 100d46bd72ec689a5582c2f5f4deadc5bcb92d60 # git clean -qxdf # < git log -1 # commit 100d46bd72ec689a5582c2f5f4deadc5bcb92d60 # Merge: de620fb99ef2 ea0b163b13ff # Author: Linus Torvalds # Date: Mon Nov 11 16:27:46 2019 -0800 # # Merge Intel Gen8/Gen9 graphics fixes from Jon Bloomfield. # # This fixes two different classes of bugs in the Intel graphics hardware: # # MMIO register read hang: # "On Intels Gen8 and Gen9 Graphics hardware, a read of specific graphics # MMIO registers when the product is in certain low power states causes # a system hang. # # There are two potential triggers for DoS: # a) H/W corruption of the RC6 save/restore vector # b) Hard hang within the MIPI hardware # # This prevents the DoS in two areas of the hardware: # 1) Detect corruption of RC6 address on exit from low-power state, # and if we find it corrupted, disable RC6 and RPM # 2) Permanently lower the MIPI MMIO timeout" # # Blitter command streamer unrestricted memory accesses: # "On Intels Gen9 Graphics hardware the Blitter Command Streamer (BCS) # allows writing to Memory Mapped Input Output (MMIO) that should be # blocked. With modifications of page tables, this can lead to privilege # escalation. This exposure is limited to the Guest Physical Address # space and does not allow for access outside of the graphics virtual # machine. # # This series establishes a software parser into the Blitter command # stream to scan for, and prevent, reads or writes to MMIO's that should # not be accessible to non-privileged contexts. # # Much of the command parser infrastructure has existed for some time, # and is used on Ivybridge/Haswell/Valleyview derived products to allow # the use of features normally blocked by hardware. In this legacy # context, the command parser is employed to allow normally unprivileged # submissions to be run with elevated privileges in order to grant # access to a limited set of extra capabilities. In this mode the parser # is optional; In the event that the parser finds any construct that it # cannot properly validate (e.g. nested command buffers), it simply # aborts the scan and submits the buffer in non-privileged mode. # # For Gen9 Graphics, this series makes the parser mandatory for all # Blitter submissions. The incoming user buffer is first copied to a # kernel owned buffer, and parsed. If all checks are successful the # kernel owned buffer is mapped READ-ONLY and submitted on behalf of the # user. If any checks fail, or the parser is unable to complete the scan # (nested buffers), it is forcibly rejected. The successfully scanned # buffer is executed with NORMAL user privileges (key difference from # legacy usage). # # Modern usermode does not use the Blitter on later hardware, having # switched over to using the 3D engine instead for performance reasons. # There are however some legacy usermode apps that rely on Blitter, # notably the SNA X-Server. There are no known usermode applications # that require nested command buffers on the Blitter, so the forcible # rejection of such buffers in this patch series is considered an # acceptable limitation" # # * Intel graphics fixes in emailed bundle from Jon Bloomfield : # drm/i915/cmdparser: Fix jump whitelist clearing # drm/i915/gen8+: Add RC6 CTX corruption WA # drm/i915: Lower RM timeout to avoid DSI hard hangs # drm/i915/cmdparser: Ignore Length operands during command matching # drm/i915/cmdparser: Add support for backward jumps # drm/i915/cmdparser: Use explicit goto for error paths # drm/i915: Add gen9 BCS cmdparsing # drm/i915: Allow parsing of unsized batches # drm/i915: Support ro ppgtt mapped cmdparser shadow buffers # drm/i915: Add support for mandatory cmdparsing # drm/i915: Remove Master tables from cmdparser # drm/i915: Disable Secure Batches for gen6+ # drm/i915: Rename gen7 cmdparser tables # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-gcc --version # < /opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi-ld --version # < git log --format=%s --max-count=1 100d46bd72ec689a5582c2f5f4deadc5bcb92d60 # < make -s -j 80 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- realview_defconfig # make -s -j 80 ARCH=arm O=/kisskb/build/linus_realview_defconfig_arm CROSS_COMPILE=/opt/cross/kisskb/gcc-4.6.3-nolibc/arm-unknown-linux-gnueabi/bin/arm-unknown-linux-gnueabi- /kisskb/src/kernel/rcu/srcutree.c: In function 'init_srcu_struct_fields': /kisskb/src/kernel/rcu/srcutree.c:140:32: warning: 'levelspread[]' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/kernel/rcu/srcutree.c:88:6: note: 'levelspread[]' was declared here /kisskb/src/kernel/printk/printk.c: In function 'devkmsg_sysctl_set_loglvl': /kisskb/src/kernel/printk/printk.c:204:16: warning: 'old' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c: In function 'proc_reg_open': /kisskb/src/include/linux/list.h:65:12: warning: 'pdeo' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/fs/proc/inode.c:338:21: note: 'pdeo' was declared here /kisskb/src/drivers/base/regmap/regmap.c: In function 'regmap_raw_read': /kisskb/src/drivers/base/regmap/regmap.c:2591:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/base/regmap/regmap.c: In function '_regmap_raw_write': /kisskb/src/drivers/base/regmap/regmap.c:1852:6: warning: 'ret' may be used uninitialized in this function [-Wuninitialized] /kisskb/src/drivers/usb/core/devio.c: In function 'async_completed': /kisskb/src/drivers/usb/core/devio.c:625:23: warning: 'errno' may be used uninitialized in this function [-Wuninitialized] WARNING: "return_address" [vmlinux] is a static EXPORT_SYMBOL_GPL Completed OK # rm -rf /kisskb/build/linus_realview_defconfig_arm # Build took: 0:00:43.906893