[regression] Colour banding and artefacts appear system-wide on an Asus Zenbook UX303LA with Intel HD 4400 graphics

Bug #1749420 reported by Øystein Alværvik on 2018-02-14
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Medium
Kai-Heng Feng
Xenial
Medium
Unassigned
Artful
Undecided
Unassigned
Bionic
Medium
Kai-Heng Feng
linux-hwe (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned

Bug Description

=== SRU Justification ===
[Impact]
Color dithering not working correctly because the graphics driver
assumes the panel support 8bpc, but the panel only supports 6bpc.

[Test]
User reports the issue start appearing from v4.8-rc2.
The issue is fixed with the patch.

[Fix]
Add a quirk to tell DRM that this panel only supports 6bpc.

[Regression Potential]
Low. This fix matches a very specific panel.

=== Original Bug Report ===
- Ubuntu 18.04 (with updates as of 14 Feb 2018).
- Laptop: Asus Zenbook UX303
- CPU: Intel i5 4210U
- Graphics: Intel HD 4400

Problem description: Colour artefacts and banding in all apps. Graphics, photos and videos display as though the colour range is improperly configured.

See this photo of a 1080p video taken with a camera (poor quality, but illustrates the issue): https://ubuntucommunity.s3-us-east-2.amazonaws.com/original/2X/c/c8f266715226953c6a77db6367ff9b7895784e35.jpg

Look at the sky’s light colours. They display with smooth gradients on Ubuntu 16.04, but as the photo illustrates 18.04 seems to display the video with a smaller range of white colours. This is the most apparent with either very dark or very light colours. Even on window titlebars the banding is visible (displayed as lines with different shades of grey/black).

Compared with a PrtSc shot of the same image:
https://i.imgur.com/VkOSCaQ.png

The artefacts are not present on PrtSc shots that are taken on Ubuntu 18.04 but viewed on a different system (16.04 and Windows).

Installing a previous kernel version fixes the issue completely. I used UKUU Update Utility to install kernel 4.4 (the same that I use in Ubuntu 16.04 without issues) and upon a reboot with 4.4 running on 18.04 everything displayed smoothly. So this indicates that the system might be using a sub-optimal colour depth with the newer kernel?

ProblemType: Bug
DistroRelease: Ubuntu 18.04
Package: linux-image-4.13.0-32-generic 4.13.0-32.35 [modified: boot/vmlinuz-4.13.0-32-generic]
ProcVersionSignature: Ubuntu 4.13.0-32.35-generic 4.13.13
Uname: Linux 4.13.0-32-generic x86_64
ApportVersion: 2.20.8-0ubuntu10
Architecture: amd64
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: ystein 1344 F.... pulseaudio
 /dev/snd/controlC1: ystein 1344 F.... pulseaudio
CurrentDesktop: ubuntu:GNOME
Date: Wed Feb 14 11:25:43 2018
EcryptfsInUse: Yes
HibernationDevice: RESUME=UUID=d0bae648-a4d8-454c-b9fc-4cc04874d6c1
InstallationDate: Installed on 2018-02-12 (1 days ago)
InstallationMedia: Ubuntu 18.04 LTS "Bionic Beaver" - Alpha amd64 (20180210)
Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 004: ID 8087:07dc Intel Corp.
 Bus 001 Device 003: ID 064e:9700 Suyin Corp. Asus Integrated Webcam
 Bus 001 Device 002: ID 046d:c52b Logitech, Inc. Unifying Receiver
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: ASUSTeK COMPUTER INC. UX303LA
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.13.0-32-generic.efi.signed root=UUID=25279d7b-cc8a-4fee-9088-cfc69607cbca ro quiet splash vt.handoff=1
RelatedPackageVersions:
 linux-restricted-modules-4.13.0-32-generic N/A
 linux-backports-modules-4.13.0-32-generic N/A
 linux-firmware 1.170
SourcePackage: linux
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 09/01/2014
dmi.bios.vendor: American Megatrends Inc.
dmi.bios.version: UX303LA.204
dmi.board.asset.tag: ATN12345678901234567
dmi.board.name: UX303LA
dmi.board.vendor: ASUSTeK COMPUTER INC.
dmi.board.version: 1.0
dmi.chassis.asset.tag: No Asset Tag
dmi.chassis.type: 10
dmi.chassis.vendor: ASUSTeK COMPUTER INC.
dmi.chassis.version: 1.0
dmi.modalias: dmi:bvnAmericanMegatrendsInc.:bvrUX303LA.204:bd09/01/2014:svnASUSTeKCOMPUTERINC.:pnUX303LA:pvr1.0:rvnASUSTeKCOMPUTERINC.:rnUX303LA:rvr1.0:cvnASUSTeKCOMPUTERINC.:ct10:cvr1.0:
dmi.product.family: UX
dmi.product.name: UX303LA
dmi.product.version: 1.0
dmi.sys.vendor: ASUSTeK COMPUTER INC.

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed

Can you see if this bug still happens with the latest bionic kernel:
https://launchpad.net/~canonical-kernel-team/+archive/ubuntu/bootstrap/+build/14347009

To test this kernel, install both the linux-image and linux-image-extra .deb packages.

Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: needs-bisect
Changed in linux (Ubuntu):
status: Confirmed → Incomplete

I just installed the 4.15.0-10 kernel that you provided and rebooted. The colours didn't improve; the same artefacts and banding still appear like they did on kernel 4.13.

Daniel van Vugt (vanvugt) wrote :

Another possibility is that LCD panel dithering (controlled by the i915 kernel driver) has changed between kernel versions.

If your LCD panel is natively 6-bits per channel then the kernel should be turning on dithering for you, since the shell is typically rendered as 8-bits per channel. If dithering is not enabled then you will see banding and effectively see a loss of 75% of your colours and gradients.

But the tricky part is for a developer to find a machine with the same problem. The problem will be specific to your GPU model (the dithering logic in i915 varies between generations), and specific to the LCD panel type in that laptop. Effectively we will need to find a similar Haswell laptop with a similar LCD type, which is the hard part...

summary: - Colour banding and artefacts appear system-wide on an Intel HD Graphics
- 4400 system
+ Colour banding and artefacts appear system-wide on an Asus Zenbook UX303
+ with Intel HD 4400 graphics
Daniel van Vugt (vanvugt) wrote :

Oh, it's UX303LA to be exact :)

summary: - Colour banding and artefacts appear system-wide on an Asus Zenbook UX303
- with Intel HD 4400 graphics
+ Colour banding and artefacts appear system-wide on an Asus Zenbook
+ UX303LA with Intel HD 4400 graphics

Yes, based on what I can find, the Haswell UX303LA has about 61% sRGB coverage so it sounds likely to be a 6-bit (AKA 18-bit) panel, which makes it sound even more likely that comment #5 is the cause of the problem.

tags: added: visual-quality
Changed in linux (Ubuntu):
status: Incomplete → New

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed

Wait a minute... it sounds like dithering is always going to be disabled (since commit 611032bfa71a7) for the case of (pipe_config->pipe_bpp == 6*3).

index 5a9da484bb23..ef65b4be5e56 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -13060,8 +13060,11 @@ intel_modeset_pipe_config(struct drm_crtc *crtc,
        }

        /* Dithering seems to not pass-through bits correctly when it should, so
- * only enable it on 6bpc panels. */
- pipe_config->dither = pipe_config->pipe_bpp == 6*3;
+ * only enable it on 6bpc panels and when its not a compliance
+ * test requesting 6bpc video pattern.
+ */
+ pipe_config->dither = (pipe_config->pipe_bpp == 6*3) &&
+ !pipe_config->dither_force_disable;
        DRM_DEBUG_KMS("hw max bpp: %i, pipe bpp: %i, dithering: %i\n",
                      base_bpp, pipe_config->pipe_bpp, pipe_config->dither);

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index e245802c5727..0fafbec6dacf 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -28,8 +28,10 @@
 #include <linux/i2c.h>
 #include <linux/slab.h>
 #include <linux/export.h>
+#include <linux/types.h>
 #include <linux/notifier.h>
 #include <linux/reboot.h>
+#include <asm/byteorder.h>
 #include <drm/drmP.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
@@ -1593,6 +1595,13 @@ static int intel_dp_compute_bpp(struct intel_dp *intel_dp,
        if (bpc > 0)
                bpp = min(bpp, 3*bpc);

+ /* For DP Compliance we override the computed bpp for the pipe */
+ if (intel_dp->compliance.test_data.bpc != 0) {
+ pipe_config->pipe_bpp = 3*intel_dp->compliance.test_data.bpc;
+ pipe_config->dither_force_disable = pipe_config->pipe_bpp == 6*3;
+ DRM_DEBUG_KMS("Setting pipe_bpp to %d\n",
+ pipe_config->pipe_bpp);
+ }
        return bpp;
 }

Daniel van Vugt (vanvugt) wrote :

if (intel_dp->compliance.test_data.bpc != 0)
  this seems like a simple bug per above;
else
  it's some other problem;

Daniel van Vugt (vanvugt) wrote :

Or maybe pipe_bpp is some other weird value...

If it's any help, this problem seems to have been introduced in kernel 4.8. I tested different kernels with UKUU. Kernels prior to 4.8 do not have the colour banding issue.

Daniel van Vugt (vanvugt) wrote :

Excellent! That was my next question - for you to narrow it down further. Thanks.

Daniel van Vugt (vanvugt) wrote :

Attached is the difference between kernel 4.7 and 4.8 in the Intel graphics driver. It's still a big diff, but at least eliminates my above theories about the cause of the regression. Now the main suspect, I think, would be:

@@ -12095,21 +12181,11 @@ connected_sink_compute_bpp(struct intel_connector *connector,
                pipe_config->pipe_bpp = connector->base.display_info.bpc*3;
        }

- /* Clamp bpp to default limit on screens without EDID 1.4 */
- if (connector->base.display_info.bpc == 0) {
- int type = connector->base.connector_type;
- int clamp_bpp = 24;
-
- /* Fall back to 18 bpp when DP sink capability is unknown. */
- if (type == DRM_MODE_CONNECTOR_DisplayPort ||
- type == DRM_MODE_CONNECTOR_eDP)
- clamp_bpp = 18;
-
- if (bpp > clamp_bpp) {
- DRM_DEBUG_KMS("clamping display bpp (was %d) to default limit of %d\n",
- bpp, clamp_bpp);
- pipe_config->pipe_bpp = clamp_bpp;
- }
+ /* Clamp bpp to 8 on screens without EDID 1.4 */
+ if (connector->base.display_info.bpc == 0 && bpp > 24) {
+ DRM_DEBUG_KMS("clamping display bpp (was %d) to default limit of 24\n",
+ bpp);
+ pipe_config->pipe_bpp = 24;
        }
 }

Daniel van Vugt (vanvugt) wrote :

I guess we can answer that question by seeing the EDID for the LCD panel.

Please try this:
  1. Log into Ubuntu on Xorg (or just 'Ubuntu' if there's no such option).
  2. Run this in a terminal: xrandr --verbose > xrandr.txt
  3. Attach xrandr.txt to this bug.

Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Daniel van Vugt (vanvugt) wrote :

Scrap that. Try this instead:

1. sudo apt install read-edid
2. sudo get-edid | parse-edid > edid.txt
3. Attach 'edid.txt' to this bug.

Daniel van Vugt (vanvugt) wrote :

Please also try:

1. sudo apt install edid-decode
2. sudo get-edid | edid-decode > edid-decoded.txt
3. Attach 'edid-decoded.txt' to this bug.

summary: - Colour banding and artefacts appear system-wide on an Asus Zenbook
- UX303LA with Intel HD 4400 graphics
+ [regression] Colour banding and artefacts appear system-wide on an Asus
+ Zenbook UX303LA with Intel HD 4400 graphics
Kai-Heng Feng (kaihengfeng) wrote :

I guess we can also bisect to the exact bad commit and report it to i915 developers.

> If it's any help, this problem seems to have been introduced in kernel 4.8. I tested different kernels with UKUU. Kernels prior to 4.8 do not have the colour banding issue.

Please find which v4.8-rc* release introduced this bug.

It probably doesn't matter, but in case it does: the outputs were produced on 18.04 under Xorg and kernel 4.13.

The colour artefacts seems to have been introduced in 4.8-RC2. 4.8-RC1 is **not** affected.
In case it's relevant: I downloaded and installed the kernels with UKUU as before (which uses kernels from Ubuntu mainline repo).

Congratulations Mr. Feng, the kernel you provided fixes the issue completely! Colours now display as fine as on my Ubuntu 16.04 install. That is just great.

Kai-Heng Feng (kaihengfeng) wrote :

Thanks for your testing.

Can you boot mainline kernel with kernel parameter "drm.debug=0x0e", and attach the dmesg?
This will help me write commit log.

Thanks!

Could you please be a bit more specific? I haven't done this before, you see. By 'mainline kernel' do you mean the kernel that you provided in your previous post? And how do I boot with a kernel parameter (from grub maybe?) and where do I find the dmesg afterwards?

Okay, I googled the procedures, but in case they're wrong I'm logging them here:

I used the kernel provided by Feng for this procedure (4.15.0-9).
- Chose Advanced options in grub menu, selected kernel and pressed 'e'.
- Added 'drm.debug=0x0e' to the end of the 'linux' line.
- Pressed Ctrl+x and system booted.
- At desktop I opened terminal and typed 'dmesg'

Attaching output.

Daniel van Vugt (vanvugt) wrote :

Thanks for those files. They seem to confirm that the kernel change in comment #16 is the cause of the regression.

So the kernel is basically doing the right thing in trying to support all screen types. Only your screen contains inadequate firmware to be able to tell the kernel what it really is. So the solution is probably to detect your particular screen model and apply a workaround just for that model (equivalent to ASUS providing a custom display driver in Windows).

It is unfortunate (for you) that hardly anyone else will experience this bug. Even on other 6-bit panels, many people won't have a problem (and I have tried on a few systems). So you're just a bit unlucky with this particular LCD panel. But it sounds like a fix is now coming :)

Changed in linux (Ubuntu):
status: Incomplete → New

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
assignee: nobody → Kai-Heng Feng (kaihengfeng)

Thank you for your efforts. I honestly hadn't expected this issue to be fixed or even looked at (especially since it seemingly only affects users with this specific laptop model) and I am positively surprised.

Am I correct in assuming that one of you will now push a fix to upstream? :-)

Kai-Heng Feng (kaihengfeng) wrote :

It's already in the upstream. We only need to backport it to Artful's kernel.

description: updated
Changed in linux (Ubuntu Artful):
status: New → Fix Committed
Changed in linux (Ubuntu Bionic):
status: Confirmed → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (40.0 KiB)

This bug was fixed in the package linux - 4.15.0-12.13

---------------
linux (4.15.0-12.13) bionic; urgency=medium

  * linux: 4.15.0-12.13 -proposed tracker (LP: #1754059)

  * CONFIG_EFI=y on armhf (LP: #1726362)
    - [Config] CONFIG_EFI=y on armhf, reconcile secureboot EFI settings

  * ppc64el: Support firmware disable of RFI flush (LP: #1751994)
    - powerpc/pseries: Support firmware disable of RFI flush
    - powerpc/powernv: Support firmware disable of RFI flush

  * [Feature] CFL/CNL (PCH:CNP-H): New GPIO Commit added (GPIO Driver needed)
    (LP: #1751714)
    - gpio / ACPI: Drop unnecessary ACPI GPIO to Linux GPIO translation
    - pinctrl: intel: Allow custom GPIO base for pad groups
    - pinctrl: cannonlake: Align GPIO number space with Windows

  * [Feature] Add xHCI debug device support in the driver (LP: #1730832)
    - usb: xhci: Make some static functions global
    - usb: xhci: Add DbC support in xHCI driver
    - [Config] USB_XHCI_DBGCAP=y for commit mainline dfba2174dc42.

  * [SRU] Lenovo E41 Mic mute hotkey is not responding (LP: #1753347)
    - platform/x86: ideapad-laptop: Increase timeout to wait for EC answer

  * headset mic can't be detected on two Dell machines (LP: #1748807)
    - ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines

  * hisi_sas: Add disk LED support (LP: #1752695)
    - scsi: hisi_sas: directly attached disk LED feature for v2 hw

  * [Feature] [Graphics]Whiskey Lake (Coffelake-U 4+2) new PCI Device ID adds
    (LP: #1742561)
    - drm/i915/cfl: Adding more Coffee Lake PCI IDs.

  * [Bug] [USB Function][CFL-CNL PCH]Stall Error and USB Transaction Error in
    trace, Disable of device-initiated U1/U2 failed and rebind failed: -517
    during suspend/resume with usb storage. (LP: #1730599)
    - usb: Don't print a warning if interface driver rebind is deferred at resume

  * retpoline: ignore %cs:0xNNN constant indirections (LP: #1752655)
    - [Packaging] retpoline -- elide %cs:0xNNNN constants on i386
    - [Config] retpoline -- clean up i386 retpoline files

  * hisilicon hibmc regression due to ea642c3216cb ("drm/ttm: add io_mem_pfn
    callback") (LP: #1738334)
    - drm/ttm: add ttm_bo_io_mem_pfn to check io_mem_pfn

  * [Asus UX360UA] battery status in unity-panel is not changing when battery is
    being charged (LP: #1661876) // AC adapter status not detected on Asus
    ZenBook UX410UAK (LP: #1745032)
    - ACPI / battery: Add quirk for Asus UX360UA and UX410UAK

  * ASUS UX305LA - Battery state not detected correctly (LP: #1482390)
    - ACPI / battery: Add quirk for Asus GL502VSK and UX305LA

  * [18.04 FEAT] Automatically detect layer2 setting in the qeth device driver
    (LP: #1747639)
    - s390/diag: add diag26c support for VNIC info
    - s390/qeth: support early setup for z/VM NICs

  * Bionic update to v4.15.7 stable release (LP: #1752317)
    - netfilter: drop outermost socket lock in getsockopt()
    - arm64: mm: don't write garbage into TTBR1_EL1 register
    - kconfig.h: Include compiler types to avoid missed struct attributes
    - MIPS: boot: Define __ASSEMBLY__ for its.S build
    - xtensa: fix high memory/reserved memory collision
    - scsi: ibmvfc: fix misde...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
Stefan Bader (smb) 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-artful' to 'verification-done-artful'. If the problem still exists, change the tag 'verification-needed-artful' to 'verification-failed-artful'.

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-artful

In *Bionic*, the kernel in proposed (4.15.0-13.14) and in release (4.15.0-12.13) both fix this regression.

I won't test the fix on Artful; I don't have the system installed and I don't want to spend the time since Artful won't be supported for very long anyway (and this bug affects only very few users).

tags: added: verification-done-bionic
Stefan Bader (smb) wrote :

Accepting the Bionic verification for Artful.

tags: added: verification-done-artful
removed: verification-needed-artful
Launchpad Janitor (janitor) wrote :
Download full text (18.9 KiB)

This bug was fixed in the package linux - 4.13.0-38.43

---------------
linux (4.13.0-38.43) artful; urgency=medium

  * linux: 4.13.0-38.43 -proposed tracker (LP: #1755762)

  * Servers going OOM after updating kernel from 4.10 to 4.13 (LP: #1748408)
    - i40e: Fix memory leak related filter programming status
    - i40e: Add programming descriptors to cleaned_count

  * [SRU] Lenovo E41 Mic mute hotkey is not responding (LP: #1753347)
    - platform/x86: ideapad-laptop: Increase timeout to wait for EC answer

  * fails to dump with latest kpti fixes (LP: #1750021)
    - kdump: write correct address of mem_section into vmcoreinfo

  * headset mic can't be detected on two Dell machines (LP: #1748807)
    - ALSA: hda/realtek - Support headset mode for ALC215/ALC285/ALC289
    - ALSA: hda - Fix headset mic detection problem for two Dell machines
    - ALSA: hda - Fix a wrong FIXUP for alc289 on Dell machines

  * CIFS SMB2/SMB3 does not work for domain based DFS (LP: #1747572)
    - CIFS: make IPC a regular tcon
    - CIFS: use tcon_ipc instead of use_ipc parameter of SMB2_ioctl
    - CIFS: dump IPC tcon in debug proc file

  * i2c-thunderx: erroneous error message "unhandled state: 0" (LP: #1754076)
    - i2c: octeon: Prevent error message on bus error

  * hisi_sas: Add disk LED support (LP: #1752695)
    - scsi: hisi_sas: directly attached disk LED feature for v2 hw

  * EDAC, sb_edac: Backport 1 patch to Ubuntu 17.10 (Fix missing DIMM sysfs
    entries with KNL SNC2/SNC4 mode) (LP: #1743856)
    - EDAC, sb_edac: Fix missing DIMM sysfs entries with KNL SNC2/SNC4 mode

  * [regression] Colour banding and artefacts appear system-wide on an Asus
    Zenbook UX303LA with Intel HD 4400 graphics (LP: #1749420)
    - drm/edid: Add 6 bpc quirk for CPT panel in Asus UX303LA

  * DVB Card with SAA7146 chipset not working (LP: #1742316)
    - vmalloc: fix __GFP_HIGHMEM usage for vmalloc_32 on 32b systems

  * [Asus UX360UA] battery status in unity-panel is not changing when battery is
    being charged (LP: #1661876) // AC adapter status not detected on Asus
    ZenBook UX410UAK (LP: #1745032)
    - ACPI / battery: Add quirk for Asus UX360UA and UX410UAK

  * ASUS UX305LA - Battery state not detected correctly (LP: #1482390)
    - ACPI / battery: Add quirk for Asus GL502VSK and UX305LA

  * support thunderx2 vendor pmu events (LP: #1747523)
    - perf pmu: Extract function to get JSON alias map
    - perf pmu: Pass pmu as a parameter to get_cpuid_str()
    - perf tools arm64: Add support for get_cpuid_str function.
    - perf pmu: Add helper function is_pmu_core to detect PMU CORE devices
    - perf vendor events arm64: Add ThunderX2 implementation defined pmu core
      events
    - perf pmu: Add check for valid cpuid in perf_pmu__find_map()

  * lpfc.ko module doesn't work (LP: #1746970)
    - scsi: lpfc: Fix loop mode target discovery

  * Ubuntu 17.10 crashes on vmalloc.c (LP: #1739498)
    - powerpc/mm/book3s64: Make KERN_IO_START a variable
    - powerpc/mm/slb: Move comment next to the code it's referring to
    - powerpc/mm/hash64: Make vmalloc 56T on hash

  * ethtool -p fails to light NIC LED on HiSilicon D05 systems (LP: #1748567)
    - net...

Changed in linux (Ubuntu Artful):
status: Fix Committed → Fix Released
Stefan Bader (smb) wrote :

Kernel fix arrived in Xenial/16.04 via upstream stable v4.4.119.

Changed in linux (Ubuntu Xenial):
importance: Undecided → Medium
status: New → Fix Committed
Brad Figg (brad-figg) 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-xenial' to 'verification-done-xenial'. If the problem still exists, change the tag 'verification-needed-xenial' to 'verification-failed-xenial'.

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-xenial

This regression does not affect Xenial, so the fix is redundant.

Daniel van Vugt (vanvugt) wrote :

The original xenial may not be affected (kernel 4.4), but xenial users do have the option of a HWE kernel, which would be affected...

https://launchpad.net/ubuntu/+source/linux-hwe

Changed in linux (Ubuntu Xenial):
status: Fix Committed → Invalid
no longer affects: linux-hwe (Ubuntu Artful)
no longer affects: linux-hwe (Ubuntu Bionic)

Oh, of course, you are right, Mr. Van Vugt.

I tested the linux-hwe kernel 4.13.0-40.45~16.04.1 from xenial-proposed, and that kernel fixes the regression. This was, of course, tested under Xenial.

Thank you again for your efforts! :-)

Changed in linux-hwe (Ubuntu):
status: New → Fix Committed
Changed in linux-hwe (Ubuntu Xenial):
status: New → Fix Committed
tags: added: verification-done-xenial
removed: verification-needed-xenial
Launchpad Janitor (janitor) wrote :
Download full text (59.3 KiB)

This bug was fixed in the package linux - 4.4.0-127.153

---------------
linux (4.4.0-127.153) xenial; urgency=medium

  * CVE-2018-3639 (powerpc)
    - powerpc/pseries: Support firmware disable of RFI flush
    - powerpc/powernv: Support firmware disable of RFI flush
    - powerpc/rfi-flush: Move the logic to avoid a redo into the debugfs code
    - powerpc/rfi-flush: Make it possible to call setup_rfi_flush() again
    - powerpc/rfi-flush: Always enable fallback flush on pseries
    - powerpc/rfi-flush: Differentiate enabled and patched flush types
    - powerpc/rfi-flush: Call setup_rfi_flush() after LPM migration
    - powerpc/pseries: Add new H_GET_CPU_CHARACTERISTICS flags
    - powerpc: Add security feature flags for Spectre/Meltdown
    - powerpc/pseries: Set or clear security feature flags
    - powerpc/powernv: Set or clear security feature flags
    - powerpc/64s: Move cpu_show_meltdown()
    - powerpc/64s: Enhance the information in cpu_show_meltdown()
    - powerpc/powernv: Use the security flags in pnv_setup_rfi_flush()
    - powerpc/pseries: Use the security flags in pseries_setup_rfi_flush()
    - powerpc/64s: Wire up cpu_show_spectre_v1()
    - powerpc/64s: Wire up cpu_show_spectre_v2()
    - powerpc/pseries: Fix clearing of security feature flags
    - powerpc: Move default security feature flags
    - powerpc/pseries: Restore default security feature flags on setup
    - SAUCE: powerpc/64s: Add support for a store forwarding barrier at kernel
      entry/exit

  * CVE-2018-3639 (x86)
    - SAUCE: Clean up IBPB and IBRS control functions and macros
    - SAUCE: Fix up IBPB and IBRS kernel parameters documentation
    - SAUCE: Remove #define X86_FEATURE_PTI
    - x86/cpufeature: Move some of the scattered feature bits to x86_capability
    - x86/cpufeature: Cleanup get_cpu_cap()
    - x86/cpu: Probe CPUID leaf 6 even when cpuid_level == 6
    - x86/cpufeatures: Add CPUID_7_EDX CPUID leaf
    - x86/cpufeatures: Add Intel feature bits for Speculation Control
    - SAUCE: x86/kvm: Expose SPEC_CTRL from the leaf
    - x86/cpufeatures: Add AMD feature bits for Speculation Control
    - x86/msr: Add definitions for new speculation control MSRs
    - SAUCE: x86/msr: Rename MSR spec control feature bits
    - x86/pti: Do not enable PTI on CPUs which are not vulnerable to Meltdown
    - x86/cpufeature: Blacklist SPEC_CTRL/PRED_CMD on early Spectre v2 microcodes
    - x86/speculation: Add basic IBPB (Indirect Branch Prediction Barrier) support
    - x86/speculation: Add <asm/msr-index.h> dependency
    - x86/cpufeatures: Clean up Spectre v2 related CPUID flags
    - x86/cpuid: Fix up "virtual" IBRS/IBPB/STIBP feature bits on Intel
    - SAUCE: x86/speculation: Move vendor specific IBRS/IBPB control code
    - SAUCE: x86: Add alternative_msr_write
    - SAUCE: x86/nospec: Simplify alternative_msr_write()
    - SAUCE: x86/bugs: Concentrate bug detection into a separate function
    - SAUCE: x86/bugs: Concentrate bug reporting into a separate function
    - arch: Introduce post-init read-only memory
    - SAUCE: x86/bugs: Read SPEC_CTRL MSR during boot and re-use reserved bits
    - SAUCE: x86/bugs, KVM: Support the combination of guest a...

Changed in linux (Ubuntu Xenial):
status: Invalid → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (49.6 KiB)

This bug was fixed in the package linux-hwe - 4.15.0-24.26~16.04.1

---------------
linux-hwe (4.15.0-24.26~16.04.1) xenial; urgency=medium

  * linux-hwe: 4.15.0-24.26~16.04.1 -proposed tracker (LP: #1776336)

  * linux: 4.15.0-24.26 -proposed tracker (LP: #1776338)

  * Bionic update: upstream stable patchset 2018-06-06 (LP: #1775483)
    - drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs
    - i40e: Fix attach VF to VM issue
    - tpm: cmd_ready command can be issued only after granting locality
    - tpm: tpm-interface: fix tpm_transmit/_cmd kdoc
    - tpm: add retry logic
    - Revert "ath10k: send (re)assoc peer command when NSS changed"
    - bonding: do not set slave_dev npinfo before slave_enable_netpoll in
      bond_enslave
    - ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
    - ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts
    - KEYS: DNS: limit the length of option strings
    - l2tp: check sockaddr length in pppol2tp_connect()
    - net: validate attribute sizes in neigh_dump_table()
    - llc: delete timers synchronously in llc_sk_free()
    - tcp: don't read out-of-bounds opsize
    - net: af_packet: fix race in PACKET_{R|T}X_RING
    - tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
    - net: fix deadlock while clearing neighbor proxy table
    - team: avoid adding twice the same option to the event list
    - net/smc: fix shutdown in state SMC_LISTEN
    - team: fix netconsole setup over team
    - packet: fix bitfield update race
    - tipc: add policy for TIPC_NLA_NET_ADDR
    - pppoe: check sockaddr length in pppoe_connect()
    - vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi
    - amd-xgbe: Add pre/post auto-negotiation phy hooks
    - sctp: do not check port in sctp_inet6_cmp_addr
    - amd-xgbe: Improve KR auto-negotiation and training
    - strparser: Do not call mod_delayed_work with a timeout of LONG_MAX
    - amd-xgbe: Only use the SFP supported transceiver signals
    - strparser: Fix incorrect strp->need_bytes value.
    - net: sched: ife: signal not finding metaid
    - tcp: clear tp->packets_out when purging write queue
    - net: sched: ife: handle malformed tlv length
    - net: sched: ife: check on metadata length
    - llc: hold llc_sap before release_sock()
    - llc: fix NULL pointer deref for SOCK_ZAPPED
    - net: ethernet: ti: cpsw: fix tx vlan priority mapping
    - virtio_net: split out ctrl buffer
    - virtio_net: fix adding vids on big-endian
    - KVM: s390: force bp isolation for VSIE
    - s390: correct module section names for expoline code revert
    - microblaze: Setup dependencies for ASM optimized lib functions
    - commoncap: Handle memory allocation failure.
    - scsi: mptsas: Disable WRITE SAME
    - cdrom: information leak in cdrom_ioctl_media_changed()
    - m68k/mac: Don't remap SWIM MMIO region
    - block/swim: Check drive type
    - block/swim: Don't log an error message for an invalid ioctl
    - block/swim: Remove extra put_disk() call from error path
    - block/swim: Rename macros to avoid inconsistent inverted logic
    - block/swim: Select appropriate drive on device open
...

Changed in linux-hwe (Ubuntu Xenial):
status: Fix Committed → Fix Released
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers