bionic snapdragon 4.15 snap failed Certification testing

Bug #1877657 reported by Kelsey Steele
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Invalid
Undecided
Unassigned
Bionic
Fix Released
High
Unassigned

Bug Description

[SRU Justification]

[Impact]

snap certification testing failed with bionic/linux-snapdragon

https://bugs.launchpad.net/bugs/1874763

After investigations by Kleber, failure was found to be from a drm driver which is compiled when CONFIG_DRM_MSM is set.

Information reported from Paul Larson [1]:

We have a cold reboot test in checkbox that seems to be failing with this kernel. The test runs the following commands to try to trigger a cold reboot:
 rtcwake --mode no -s 120
 sleep 5
 rtcwake -m show
 sleep 5
 dbus-send --system --print-reply --dest=org.freedesktop.login1 /org/freedesktop/login1 "org.freedesktop.login1.Manager.PowerOff" boolean:true

However, the system never fully reboots. On the serial console, I just see:
...
Press enter to configure.
[ 137.402465] systemd-shutdown[1]: Failed to wait for process: Protocol error
[ 137.406163] systemd-shutdown[1]: Failed to wait for process: Protocol error

I do have the ability to remotely remove power from the device and restore it, however after doing that, I get an oops on the serial console and the system never comes up.

[1] https://bugs.launchpad.net/kernel-sru-workflow/+bug/1874763/comments/1

[Test]
Run Certification Testing

The tests are ran only with UC18, so a kernel snap is needed to either build a new image or promote it to edge.

[Fix]

The affected drm driver is set by CONFIG_DRM_MSM which is also set on bionic/linux

Revert upstream commits on Bionic/linux:

0519bad6f34f drm/msm: Use the correct dma_sync calls in msm_gem
7318c5ef642b drm/msm: stop abusing dma_map/unmap for cache

[Risk of Regression]

Alternative solutions would need to be found for dma_sync calls in msm_gem and to avoid abusing dma_map/unmap for cache. The commits both came from upstream stable.

CVE References

no longer affects: kernel-sru-workflow
description: updated
description: updated
Changed in linux (Ubuntu):
status: New → Won't Fix
status: Won't Fix → Invalid
no longer affects: ubuntu
no longer affects: Ubuntu Bionic
Changed in linux (Ubuntu Bionic):
status: New → Fix Committed
Stefan Bader (smb)
Changed in linux (Ubuntu Bionic):
importance: Undecided → High
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) 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
Kleber Sacilotto de Souza (kleber-souza) wrote :

Certification tests of bionic/snapdragon-kernel snap completed successfully: bug 1877979. Marking verification as done.

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

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

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

  * bionic/linux: 4.15.0-101.102 -proposed tracker (LP: #1877262)

  * 4.15.0-100.101 breaks userspace builds due to a bug in the headers
    /usr/include/linux/swab.h of linux-libc-dev (LP: #1877123)
    - include/uapi/linux/swab.h: fix userspace breakage, use __BITS_PER_LONG for
      swap

  * bionic snapdragon 4.15 snap failed Certification testing (LP: #1877657)
    - Revert "drm/msm: Use the correct dma_sync calls in msm_gem"
    - Revert "drm/msm: stop abusing dma_map/unmap for cache"

linux (4.15.0-100.101) bionic; urgency=medium

  * bionic/linux: 4.15.0-100.101 -proposed tracker (LP: #1875878)

  * built-using constraints preventing uploads (LP: #1875601)
    - temporarily drop Built-Using data

  * Add debian/rules targets to compile/run kernel selftests (LP: #1874286)
    - [Packaging] add support to compile/run selftests

  * getitimer returns it_value=0 erroneously (LP: #1349028)
    - [Config] CONTEXT_TRACKING_FORCE policy should be unset

  * QEMU/KVM display is garbled when booting from kernel EFI stub due to missing
    bochs-drm module (LP: #1872863)
    - [Config] Enable CONFIG_DRM_BOCHS as module for all archs

  * Backport MPLS patches from 5.3 to 4.15 (LP: #1851446)
    - net/mlx5e: Report netdevice MPLS features
    - net: vlan: Inherit MPLS features from parent device
    - net: bonding: Inherit MPLS features from slave devices
    - net/mlx5e: Move to HW checksumming advertising

  * LIO hanging in iscsit_free_session and iscsit_stop_session (LP: #1871688)
    - scsi: target: remove boilerplate code
    - scsi: target: fix hang when multiple threads try to destroy the same iscsi
      session
    - scsi: target: iscsi: calling iscsit_stop_session() inside
      iscsit_close_session() has no effect

  * Add hw timestamps to received skbs in peak_canfd (LP: #1874124)
    - can: peak_canfd: provide hw timestamps in rx skbs

  * Bionic update: upstream stable patchset 2020-04-23 (LP: #1874502)
    - ARM: dts: sun8i-a83t-tbs-a711: HM5065 doesn't like such a high voltage
    - bus: sunxi-rsb: Return correct data when mixing 16-bit and 8-bit reads
    - net: vxge: fix wrong __VA_ARGS__ usage
    - hinic: fix a bug of waitting for IO stopped
    - hinic: fix wrong para of wait_for_completion_timeout
    - cxgb4/ptp: pass the sign of offset delta in FW CMD
    - qlcnic: Fix bad kzalloc null test
    - i2c: st: fix missing struct parameter description
    - firmware: arm_sdei: fix double-lock on hibernate with shared events
    - null_blk: Fix the null_add_dev() error path
    - null_blk: Handle null_add_dev() failures properly
    - null_blk: fix spurious IO errors after failed past-wp access
    - xhci: bail out early if driver can't accress host in resume
    - x86: Don't let pgprot_modify() change the page encryption bit
    - block: keep bdi->io_pages in sync with max_sectors_kb for stacked devices
    - irqchip/versatile-fpga: Handle chained IRQs properly
    - sched: Avoid scale real weight down to zero
    - selftests/x86/ptrace_syscall_32: Fix no-vDSO segfault
    - PCI/switchtec: Fix init_completio...

Changed in linux (Ubuntu Bionic):
status: Fix Committed → Fix Released
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.