This bug was fixed in the package linux - 5.4.0-65.73

---------------
linux (5.4.0-65.73) focal; urgency=medium

  * focal/linux: 5.4.0-65.73 -proposed tracker (LP: #1912220)

  * initramfs unpacking failed (LP: #1835660)
    - SAUCE: lib/decompress_unlz4.c: correctly handle zero-padding around 
initrds.

  * overlay: permission regression in 5.4.0-51.56 due to patches related to
    CVE-2020-16120 (LP: #1900141)
    - ovl: do not fail because of O_NOATIME

  * Focal update: v5.4.79 upstream stable release (LP: #1907151)
    - net/mlx5: Use async EQ setup cleanup helpers for multiple EQs
    - net/mlx5: poll cmd EQ in case of command timeout
    - net/mlx5: Fix a race when moving command interface to events mode
    - net/mlx5: Add retry mechanism to the command entry index allocation

  * Kernel 5.4.0-56 Wi-Fi does not connect (LP: #1906770)
    - mt76: fix fix ampdu locking

  * [Ubuntu 21.04 FEAT] mpt3sas: Request to include the patch set which supports
    topology where zoning is enabled in expander (LP: #1899802)
    - scsi: mpt3sas: Define hba_port structure
    - scsi: mpt3sas: Allocate memory for hba_port objects
    - scsi: mpt3sas: Rearrange _scsih_mark_responding_sas_device()
    - scsi: mpt3sas: Update hba_port's sas_address & phy_mask
    - scsi: mpt3sas: Get device objects using sas_address & portID
    - scsi: mpt3sas: Rename transport_del_phy_from_an_existing_port()
    - scsi: mpt3sas: Get sas_device objects using device's rphy
    - scsi: mpt3sas: Update hba_port objects after host reset
    - scsi: mpt3sas: Set valid PhysicalPort in SMPPassThrough
    - scsi: mpt3sas: Handling HBA vSES device
    - scsi: mpt3sas: Add bypass_dirty_port_flag parameter
    - scsi: mpt3sas: Handle vSES vphy object during HBA reset
    - scsi: mpt3sas: Add module parameter multipath_on_hba
    - scsi: mpt3sas: Bump driver version to 35.101.00.00

 -- Kleber Sacilotto de Souza <kleber.so...@canonical.com>  Mon, 18 Jan
2021 17:31:23 +0100

** Changed in: linux (Ubuntu Focal)
       Status: Fix Committed => Fix Released

** CVE added: https://cve.mitre.org/cgi-bin/cvename.cgi?name=2020-16120

** Changed in: linux (Ubuntu Groovy)
       Status: Fix Committed => Fix Released

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/1835660

Title:
  initramfs unpacking failed

Status in OEM Priority Project:
  New
Status in grub2 package in Ubuntu:
  Invalid
Status in initramfs-tools package in Ubuntu:
  Invalid
Status in linux package in Ubuntu:
  Confirmed
Status in grub2 source package in Focal:
  Invalid
Status in initramfs-tools source package in Focal:
  Invalid
Status in linux source package in Focal:
  Fix Released
Status in grub2 source package in Groovy:
  Invalid
Status in initramfs-tools source package in Groovy:
  Invalid
Status in linux source package in Groovy:
  Fix Released
Status in grub2 source package in Hirsute:
  Invalid
Status in initramfs-tools source package in Hirsute:
  Invalid
Status in linux source package in Hirsute:
  Confirmed

Bug description:
  "initramfs unpacking failed: Decoding failed",  message appears on
  boot up.

  If I "update-initramfs" using gzip instead of lz, then boot up passes
  without decoding failed message.

  ---

  However, we currently believe that the decoding error reported in
  dmesg is actually harmless and has no impact on usability on the
  system.

  Switching from lz4 to gzip compression, simply papers over the
  warning, without any benefits, and slows down boot.

  Kernel should be fixed to correctly parse lz4 compressed initrds, or
  at least lower the warning, to not be user visible as an error.

  [Impact]

   * Decoding failure messages in dmsg with a single lz4 initrd

   * Multiple lz4 compressed initrds cannot be decompressed by kernel,
  when loaded by grub

   * Multiple lz4 compressed initrds cannot be decompressed by kernel,
  when there is padding between them

  [Test Case]

   * Create empty padding with $ dd if=/dev/zero of=pad4 bs=1 count=4

   * Create an lz4 compressed initrd with a single test-file in it with
  some content. I.e. echo "second-initrd" > test-file, and then pack
  that with cpio hewc owned by root & lz4 -l.

   * Create a combined padded initrd of stock initrd, pad4, and the
  test-marker initrd created above.

   * Boot above with "break=top" kernel command line.

   * With broken kernels, there should be dmesg error message that
  decoding failed, and one will observe that /test-file does not exist
  in the shell.

   * With fixed kernel, /test-file in the initrd shell should exist, and
  should have the expected content "second-initrd".

   * The alignment and padding in the above test case depends on the
  size of the first initrd => if a given padded initrd does not
  reproduce the problem, try varying the size of the first initrd or
  that of the padding between 0..4.

  
  [Where problems could occur]

   * This changes compatible lz4 decompressor in the kernel, which can
  also be used by other kernel modules such as cryptography, squashfs,
  zram, f2fs, comprssed kernel image, pstore. For example, previously
  rejected files with "bogus" length and extra padding may now be
  accepted, whereas they were previously getting rejected by the
  decompressor.

   * Ideally kernel should switch to the stable lz4 format which has
  better specification of end of stream.

To manage notifications about this bug go to:
https://bugs.launchpad.net/oem-priority/+bug/1835660/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to