arm64: SPCR console not autodetected

Bug #1630311 reported by dann frazier
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
dann frazier
Yakkety
Fix Released
High
dann frazier

Bug Description

[Impact]
ARM servers that boot in ACPI mode will not autodetect their console settings. The SBSA (Server Base System Architecture) spec requires that these settings be specified using the ACPI SPCR table. Support for parsing this table just landed upstream in the 4.9 merge window.

[Test Case]
Boot an ARM system in ACPI mode(I used a Cavium ThunderX CRB1S w/ acpi=force). You'll have no console unless you know and explicitly specify the correct console= parameter on the cmdline.

[Regression Risk]
The changes cleanly cherry-pick from upstream, so we'll have upstream support for any regressions. Though the patches do touch code in arch-indep directories, that code is limited by config options that restrict the functionality to either ARM or OpenFirmware systems:

of/serial: move earlycon early_param handling to serial
 - Cleanup of OF-specific code.

ACPI: parse SPCR and enable matching console
 - Adds parse_spcr() for all archs, but this function is only called from
   arch/arm64 code (next patch).
 - Adds an arch-generic call to a stub function only if the OF-specific
   earlycon parameter is specified. Further, that stub function just returns
   -ENODEV on non-OF systems.

ARM64: ACPI: enable ACPI_SPCR_TABLE
 - ARM64-specific code, only built if CONFIG_ACPI=y

serial: pl011: add console matching function
 - Driver for ARM AMBA-type serial port - code is only activated if a
   console=pl011,* parameter is specified on the cmdline.

CVE References

dann frazier (dannf)
Changed in linux (Ubuntu):
status: New → In Progress
assignee: nobody → dann frazier (dannf)
importance: Undecided → High
Revision history for this message
dann frazier (dannf) wrote :
Seth Forshee (sforshee)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Seth Forshee (sforshee) 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-yakkety' to 'verification-done-yakkety'.

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-yakkety
Revision history for this message
dann frazier (dannf) wrote :

ubuntu@healy:~$ cat /proc/version
Linux version 4.8.0-25-generic (buildd@bos01-arm64-050) (gcc version 6.2.0 20161005 (Ubuntu 6.2.0-5ubuntu12) ) #27-Ubuntu SMP Thu Oct 13 03:34:31 UTC 2016
ubuntu@healy:~$ cat /proc/cmdline
BOOT_IMAGE=/boot/vmlinuz-4.8.0-25-generic root=UUID=ac43979f-3079-4c54-b98c-312b01337bfa ro acpi=force
ubuntu@healy:~$ dmesg | grep SPCR
[ 0.000000] ACPI: SPCR 0x0000001FFEAF8510 000050 (v02 A M I APTIO V 01072009 AMI. 0005000B)
[ 0.000000] ACPI: SPCR: console: pl011,mmio,0x87e024000000,115200

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

This bug was fixed in the package linux - 4.8.0-27.29

---------------
linux (4.8.0-27.29) yakkety; urgency=low

  [ Seth Forshee ]

  * Release Tracking Bug
    - LP: #1635377

  * proc_keys_show crash when reading /proc/keys (LP: #1634496)
    - SAUCE: KEYS: ensure xbuf is large enough to fix buffer overflow in
      proc_keys_show (LP: #1634496)

  * Revert "If zone is so small that watermarks are the same, stop zone balance"
    in yakkety (LP: #1632894)
    - Revert "UBUNTU: SAUCE: (no-up) If zone is so small that watermarks are the
      same, stop zone balance."

  * lts-yakkety 4.8 cannot mount lvm raid1 (LP: #1631298)
    - SAUCE: (no-up) dm raid: fix compat_features validation

  * kswapd0 100% CPU usage (LP: #1518457)
    - SAUCE: (no-up) If zone is so small that watermarks are the same, stop zone
      balance.

  * [Trusty->Yakkety] powerpc/64: Fix incorrect return value from
    __copy_tofrom_user (LP: #1632462)
    - SAUCE: (no-up) powerpc/64: Fix incorrect return value from
      __copy_tofrom_user

  * Ubuntu 16.10: Oops panic in move_page_tables/page_remove_rmap after running
    memory_stress_ng. (LP: #1628976)
    - SAUCE: (no-up) powerpc/pseries: Fix stack corruption in htpe code

  * Paths not failed properly when unmapping virtual FC ports in VIOS (using
    ibmvfc) (LP: #1632116)
    - scsi: ibmvfc: Fix I/O hang when port is not mapped

  * [Ubuntu16.10]KV4.8: kernel livepatch config options are not set
    (LP: #1626983)
    - [Config] Enable live patching on powerpc/ppc64el

  * CONFIG_AUFS_XATTR is not set (LP: #1557776)
    - [Config] CONFIG_AUFS_XATTR=y

  * Yakkety update to 4.8.1 stable release (LP: #1632445)
    - arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP
    - Using BUG_ON() as an assert() is _never_ acceptable
    - usb: misc: legousbtower: Fix NULL pointer deference
    - Staging: fbtft: Fix bug in fbtft-core
    - usb: usbip: vudc: fix left shift overflow
    - USB: serial: cp210x: Add ID for a Juniper console
    - Revert "usbtmc: convert to devm_kzalloc"
    - ALSA: hda - Adding one more ALC255 pin definition for headset problem
    - ALSA: hda - Fix headset mic detection problem for several Dell laptops
    - ALSA: hda - Add the top speaker pin config for HP Spectre x360
    - Linux 4.8.1

  * PSL data cache should be flushed before resetting CAPI adapter
    (LP: #1632049)
    - cxl: Flush PSL cache before resetting the adapter

  * thunder nic: avoid link delays due to RX_PACKET_DIS (LP: #1630038)
    - net: thunderx: Don't set RX_PACKET_DIS while initializing

  * crypto/vmx/p8_ghash memory corruption (LP: #1630970)
    - crypto: ghash-generic - move common definitions to a new header file
    - crypto: vmx - Fix memory corruption caused by p8_ghash
    - crypto: vmx - Ensure ghash-generic is enabled

  * arm64: SPCR console not autodetected (LP: #1630311)
    - of/serial: move earlycon early_param handling to serial
    - [Config] CONFIG_ACPI_SPCR_TABLE=y
    - ACPI: parse SPCR and enable matching console
    - ARM64: ACPI: enable ACPI_SPCR_TABLE
    - serial: pl011: add console matching function

  * include/linux/security.h header syntax error with !CONFIG_SECURITYFS
...

Read more...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 4.8.0-30.32

---------------
linux (4.8.0-30.32) yakkety; urgency=low

  * CVE-2016-8655 (LP: #1646318)
    - packet: fix race condition in packet_set_ring

 -- Brad Figg <email address hidden> Thu, 01 Dec 2016 08:02:53 -0800

Changed in linux (Ubuntu):
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.