[i915 CNL-Y] system hangs soon after bootup

Bug #1769843 reported by Timo Aaltonen
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-oem (Ubuntu)
Fix Released
Undecided
Unassigned
Bionic
Fix Released
Undecided
Timo Aaltonen

Bug Description

CNL-Y SDP machine hangs soon after logging in, and needs this from intel-gfx list:

Author: Chris Wilson <email address hidden>
Date: Tue May 8 13:15:00 2018 +0300

    drm/i915/execlists: Use rmb() to order CSB reads

    We assume that the CSB is written using the normal ringbuffer
    coherency protocols, as outlined in kernel/events/ring_buffer.c:

        * (HW) (DRIVER)
        *
        * if (LOAD ->data_tail) { LOAD ->data_head
        * (A) smp_rmb() (C)
        * STORE $data LOAD $data
        * smp_wmb() (B) smp_mb() (D)
        * STORE ->data_head STORE ->data_tail
        * }

    So we assume that the HW fulfils it's ordering requirements, and so we
    should use a complimentary rmb() to ensure that our read of its WRITE
    pointer is completed before we start accessing the data.

    The final mb() is implied by the uncached mmio we perform to inform the
    HW of our READ pointer.

    References: https://bugs.freedesktop.org/show_bug.cgi?id=105064
    References: https://bugs.freedesktop.org/show_bug.cgi?id=105888
    References: https://bugs.freedesktop.org/show_bug.cgi?id=106185
    References: 61bf9719fa17 ("drm/i915/cnl: Use mmio access to context status buffer")
    Suggested-by: Mika Kuoppala <email address hidden>
    Signed-off-by: Chris Wilson <email address hidden>
    Cc: Mika Kuoppala <email address hidden>
    Cc: Joonas Lahtinen <email address hidden>
    Cc: Tvrtko Ursulin <email address hidden>
    Cc: Michał Winiarski <email address hidden>
    Cc: Rafael Antognolli <email address hidden>
    Cc: Michel Thierry <email address hidden>
    Cc: Timo Aaltonen <email address hidden>
    Signed-off-by: Timo Aaltonen <email address hidden>

CVE References

Timo Aaltonen (tjaalton)
Changed in linux-oem (Ubuntu):
status: New → Invalid
Changed in linux-oem (Ubuntu Bionic):
assignee: nobody → Timo Aaltonen (tjaalton)
status: New → In Progress
Timo Aaltonen (tjaalton)
description: updated
AceLan Kao (acelankao)
Changed in linux-oem (Ubuntu Bionic):
status: In Progress → Fix Committed
Revision history for this message
Timo Aaltonen (tjaalton) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-bionic' to 'verification-done-bionic'. If the problem still exists, change the tag 'verification-needed-bionic' to 'verification-failed-bionic'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-bionic
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (6.7 KiB)

This bug was fixed in the package linux-oem - 4.15.0-1006.9

---------------
linux-oem (4.15.0-1006.9) bionic; urgency=medium

  * linux-image-4.15.0-20-generic install after upgrade from xenial breaks
    (LP: #1767133)
    - Packaging: Depends on linux-base that provides the necessary tools

  [ Ubuntu: 4.15.0-22.24 ]

  * CVE-2018-3639 (powerpc)
    - powerpc/64s: Add support for a store forwarding barrier at kernel entry/exit
    - stf-barrier: set eieio instruction bit 6 for future optimisations
  * CVE-2018-3639 (x86)
    - x86/nospec: Simplify alternative_msr_write()
    - x86/bugs: Concentrate bug detection into a separate function
    - x86/bugs: Concentrate bug reporting into a separate function
    - x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
    - x86/bugs, KVM: Support the combination of guest and host IBRS
    - x86/bugs: Expose /sys/../spec_store_bypass
    - x86/cpufeatures: Add X86_FEATURE_RDS
    - x86/bugs: Provide boot parameters for the spec_store_bypass_disable
      mitigation
    - x86/bugs/intel: Set proper CPU features and setup RDS
    - x86/bugs: Whitelist allowed SPEC_CTRL MSR values
    - x86/bugs/AMD: Add support to disable RDS on Fam[15,16,17]h if requested
    - x86/KVM/VMX: Expose SPEC_CTRL Bit(2) to the guest
    - x86/speculation: Create spec-ctrl.h to avoid include hell
    - prctl: Add speculation control prctls
    - x86/process: Allow runtime control of Speculative Store Bypass
    - x86/speculation: Add prctl for Speculative Store Bypass mitigation
    - nospec: Allow getting/setting on non-current task
    - proc: Provide details on speculation flaw mitigations
    - seccomp: Enable speculation flaw mitigations
    - x86/bugs: Make boot modes __ro_after_init
    - prctl: Add force disable speculation
    - seccomp: Use PR_SPEC_FORCE_DISABLE
    - seccomp: Add filter flag to opt-out of SSB mitigation
    - seccomp: Move speculation migitation control to arch code
    - x86/speculation: Make "seccomp" the default mode for Speculative Store
      Bypass
    - x86/bugs: Rename _RDS to _SSBD
    - proc: Use underscores for SSBD in 'status'
    - Documentation/spec_ctrl: Do some minor cleanups
    - x86/bugs: Fix __ssb_select_mitigation() return type
    - x86/bugs: Make cpu_show_common() static
  * LSM Stacking prctl values should be redefined as to not collide with
    upstream prctls (LP: #1769263) // CVE-2018-3639
    - SAUCE: LSM stacking: adjust prctl values

linux-oem (4.15.0-1005.8) bionic; urgency=medium

  * linux-oem: 4.15.0-1005.8 -proposed tracker (LP: #1767398)
    - source built with a clean tree

  * [i915 CNL-Y] system hangs soon after bootup (LP: #1769843)
    - SAUCE: drm/i915/execlists: Use rmb() to order CSB reads

  * hts221 sensor stops working after resume from S3/S4 (LP: #1769658)
    - SAUCE: iio: humidity: hts221: Fix sensor reads after resume

  * Support Intel Atom (Baytrail-I) HS-UART serdev slaves over tty
    (LP: #1769610)
    - serdev: ttyport: release tty lock sooner on open
    - serdev: ttyport: ignore carrier detect to avoid hangups
    - serdev: ttyport: do not used keyed wakeup in write_wakeup
    - serdev: Make .remove in struct serdev_device_d...

Read more...

Changed in linux-oem (Ubuntu Bionic):
status: Fix Committed → Fix Released
Changed in linux-oem (Ubuntu):
status: Invalid → Fix Released
Andy Whitcroft (apw)
tags: added: kernel-fixup-verification-needed-bionic
removed: verification-needed-bionic
Revision history for this message
Andy Whitcroft (apw) wrote :

This bug was erroneously marked for verification in bionic; verification is not required and verification-needed-bionic is being removed.

tags: added: verification-done-bionic
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.