zfs-linux 0.6.5.11-1ubuntu5 ADT test failure with linux 4.15.0-1.2

Bug #1737761 reported by Seth Forshee on 2017-12-12
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Undecided
Unassigned
Xenial
Undecided
Unassigned
Artful
Undecided
Unassigned
zfs-linux (Ubuntu)
Medium
Colin Ian King
Xenial
Medium
Colin Ian King
Artful
Medium
Colin Ian King

Bug Description

== SRU Justification, Xenial, Artful ==

Running ZFS userspace utils with newer 0.7.x ZFS kernel drivers breaks ZFS send/receive because of changes in the ioctl command structure.

== Testcase ==

ubuntu ADT ZFS tests autotests/client/tests/ubuntu-zfs-smoke-tests will show a failure in ZFS SEND, with userspace zfs tools segfaulting.

== Fix ==

Fix is to detect if ZFS kernel driver is version 0.7.x and copy the 0.6.5.x zfs ioctl command structure to a ZFS 0.7.x version, call the ioctl() and then copy the result back.

== Regression Potential ==

This will only affect the ZFS ioctl interface and this can be fully tested using the ZFS autotests with 0.7.0 and 0.6.5.x ZFS enabled kernels to check for the compatibility change regressions.

--------------

Testing failed on:
    amd64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic-canonical-kernel-team-bootstrap/bionic/amd64/z/zfs-linux/20171212_032601_d0613@/log.gz
    arm64: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic-canonical-kernel-team-bootstrap/bionic/arm64/z/zfs-linux/20171212_020008_d0613@/log.gz
    ppc64el: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic-canonical-kernel-team-bootstrap/bionic/ppc64el/z/zfs-linux/20171212_024359_d0613@/log.gz
    s390x: https://objectstorage.prodstack4-5.canonical.com/v1/AUTH_77e2ada1e7a84929a74ba3b87153c0ac/autopkgtest-bionic-canonical-kernel-team-bootstrap/bionic/s390x/z/zfs-linux/20171212_032349_d0613@/log.gz

CVE References

Seth Forshee (sforshee) on 2017-12-12
tags: added: kernel-adt-failure
Colin Ian King (colin-king) wrote :

Working on the fix right now for 4.15

Changed in zfs-linux (Ubuntu):
importance: Undecided → Medium
status: New → In Progress
assignee: nobody → Colin Ian King (colin-king)
description: updated
description: updated
Changed in zfs-linux (Ubuntu):
status: In Progress → Fix Committed
Brian Murray (brian-murray) wrote :

The SRU of this to Artful is waiting on the release of the fix for Bionic.

Colin Ian King (colin-king) wrote :

The fix for Bionic is not required as Bionic will be using version 0.7.x of ZFS (userspace + kernel) once the 4.15 kernel is released. I am working on a different 'reverse' compat fix for Bionic that will allow 0.7.x userspace of ZFS to support the older 0.6.x ZFS kernel driver.

Hello Seth, or anyone else affected,

Accepted zfs-linux into artful-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/zfs-linux/0.6.5.11-1ubuntu3.1 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-artful to verification-done-artful. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-artful. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Changed in zfs-linux (Ubuntu Xenial):
status: New → In Progress
Changed in zfs-linux (Ubuntu Artful):
status: New → In Progress
Changed in zfs-linux (Ubuntu Xenial):
importance: Undecided → Medium
Changed in zfs-linux (Ubuntu Artful):
importance: Undecided → Medium
Changed in zfs-linux (Ubuntu Xenial):
assignee: nobody → Andy Whitcroft (apw)
assignee: Andy Whitcroft (apw) → Colin Ian King (colin-king)
Changed in zfs-linux (Ubuntu Artful):
assignee: nobody → Colin Ian King (colin-king)
status: In Progress → Fix Committed
Changed in zfs-linux (Ubuntu Xenial):
status: In Progress → Fix Committed
Andy Whitcroft (apw) wrote :

Hello Seth, or anyone else affected,

Accepted zfs-linux into xenial-proposed. The package will build now and be available at https://launchpad.net/ubuntu/+source/zfs-linux/0.6.5.6-0ubuntu19 in a few hours, and then in the -proposed repository.

Please help us by testing this new package. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation on how to enable and use -proposed.Your feedback will aid us getting this update out to other Ubuntu users.

If this package fixes the bug for you, please add a comment to this bug, mentioning the version of the package you tested and change the tag from verification-needed-xenial to verification-done-xenial. If it does not fix the bug for you, please add a comment stating that, and change the tag to verification-failed-xenial. In either case, without details of your testing we will not be able to proceed.

Further information regarding the verification process can be found at https://wiki.ubuntu.com/QATeam/PerformingSRUVerification . Thank you in advance!

Colin Ian King (colin-king) wrote :

Successfully tested with the ubuntu autotest ZFS regression tests (ubuntu_zfs_smoke_test, ubuntu_zfs_fstest, ubuntu_zfs_xfs_generic and ubuntu_zfs_stress).

Tested with:

Xenial: 4.4.0-112 and 4.15.0-9 kernels (0.6.5.x and 0.7.x ZFS drivers)
Artful: 4.13.0-36 and 4.15.0-9 kernels (0.6.5.x and 0.7.x ZFS drivers)

No regressions found.

tags: added: verification-done-artful verification-done-xenial
Colin Ian King (colin-king) wrote :

I've pushed the same fix into bionic pre-ZFS 0.7.0. So it's now fixed in bionic.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package zfs-linux - 0.6.5.11-1ubuntu6

---------------
zfs-linux (0.6.5.11-1ubuntu6) bionic; urgency=medium

  * Add ZFS 0.7.0 kernel ioctl binary compat shim (LP: #1737761)
    Detect ZFS kernel driver version and copy zfs ioctl command to the
    newer ZFS 0.7.0 ioctl command layout.

 -- Colin Ian King <email address hidden> Mon, 19 Feb 2017 13:04:11 +0100

Changed in zfs-linux (Ubuntu):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package zfs-linux - 0.6.5.11-1ubuntu3.1

---------------
zfs-linux (0.6.5.11-1ubuntu3.1) artful; urgency=medium

  * Add ZFS 0.7.0 kernel ioctl binary compat shim (LP: #1737761)
    Detect ZFS kernel driver version and copy zfs ioctl command to the
    newer ZFS 0.7.0 ioctl command layout.

 -- Colin Ian King <email address hidden> Mon, 19 Feb 2017 13:04:11 +0100

Changed in zfs-linux (Ubuntu Artful):
status: Fix Committed → Fix Released

The verification of the Stable Release Update for zfs-linux has completed successfully and the package has now been released to -updates. Subsequently, the Ubuntu Stable Release Updates Team is being unsubscribed and will not receive messages about this bug report. In the event that you encounter a regression using the package from -updates please report a new bug using ubuntu-bug and tag the bug report regression-update so we can easily find any regressions.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package zfs-linux - 0.6.5.6-0ubuntu19

---------------
zfs-linux (0.6.5.6-0ubuntu19) xenial; urgency=medium

  * Add ZFS 0.7.0 kernel ioctl binary compat shim (LP: #1737761)
    Detect ZFS kernel driver version and copy zfs ioctl command to the
    newer ZFS 0.7.0 ioctl command layout.

 -- Colin Ian King <email address hidden> Mon, 19 Feb 2017 13:04:11 +0100

Changed in zfs-linux (Ubuntu Xenial):
status: Fix Committed → Fix Released
Stefan Bader (smb) on 2018-04-05
Changed in linux (Ubuntu Artful):
status: New → Fix Committed

This bug is missing log files that will aid in diagnosing the problem. While running an Ubuntu kernel (not a mainline or third-party kernel) please enter the following command in a terminal window:

apport-collect 1737761

and then change the status of the bug to 'Confirmed'.

If, due to the nature of the issue you have encountered, you are unable to run this command, please add a comment stating that fact and change the bug status to 'Confirmed'.

This change has been made by an automated script, maintained by the Ubuntu Kernel Team.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu Xenial):
status: New → Incomplete
Stefan Bader (smb) on 2018-04-05
Changed in linux (Ubuntu Xenial):
status: Incomplete → Invalid
Launchpad Janitor (janitor) wrote :
Download full text (5.6 KiB)

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

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

  * linux: 4.13.0-39.44 -proposed tracker (LP: #1761456)

  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2
    Intel) // CVE-2017-5754
    - x86/mm: Reinitialize TLB state on hotplug and resume

  * intel-microcode 3.20180312.0 causes lockup at login screen(w/ linux-
    image-4.13.0-37-generic) (LP: #1759920) // CVE-2017-5715 (Spectre v2 Intel)
    - Revert "x86/mm: Only set IBPB when the new thread cannot ptrace current
      thread"
    - x86/speculation: Use Indirect Branch Prediction Barrier in context switch

  * DKMS driver builds fail with: Cannot use CONFIG_STACK_VALIDATION=y, please
    install libelf-dev, libelf-devel or elfutils-libelf-devel (LP: #1760876)
    - [Packaging] include the retpoline extractor in the headers

  * retpoline hints: primary infrastructure and initial hints (LP: #1758856)
    - [Packaging] retpoline-extract: flag *0xNNN(%reg) branches
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool
    - x86/speculation, objtool: Annotate indirect calls/jumps for objtool on 32bit
    - x86/paravirt, objtool: Annotate indirect calls
    - [Packaging] retpoline -- add safe usage hint support
    - [Packaging] retpoline-check -- only report additions
    - [Packaging] retpoline -- widen indirect call/jmp detection
    - [Packaging] retpoline -- elide %rip relative indirections
    - [Packaging] retpoline -- clear hint information from packages
    - KVM: x86: Make indirect calls in emulator speculation safe
    - KVM: VMX: Make indirect call speculation safe
    - x86/boot, objtool: Annotate indirect jump in secondary_startup_64()
    - SAUCE: early/late -- annotate indirect calls in early/late initialisation
      code
    - SAUCE: vga_set_mode -- avoid jump tables
    - [Config] retpoline -- switch to new format
    - [Packaging] retpoline hints -- handle missing files when RETPOLINE not
      enabled
    - [Packaging] final-checks -- remove check for empty retpoline files

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

  * zfs system process hung on container stop/delete (LP: #1754584)
    - SAUCE: Fix non-prefaulted page deadlock (LP: #1754584)

  * zfs-linux 0.6.5.11-1ubuntu5 ADT test failure with linux 4.15.0-1.2
    (LP: #1737761)
    - SAUCE: (noup) Update zfs to 0.6.5.11-1ubuntu3.2

  * AT_BASE_PLATFORM in AUXV is absent on kernels available on Ubuntu 17.10
    (LP: #1759312)
    - powerpc/64s: Fix NULL AT_BASE_PLATFORM when using DT CPU features

  * btrfs and tar sparse truncate archives (LP: #1757565)
    - Btrfs: move definition of the function btrfs_find_new_delalloc_bytes
    - Btrfs: fix reported number of inode blocks after buffered append writes

  * efifb broken on ThunderX-based Gigabyte nodes (LP: #1758375)
    - drivers/fbdev/efifb: Allow BAR to be moved instead of claiming it

  * Intel i40e PF reset due to incorrect MDD detection (continues...)
    (LP: #1723127)
    - i40e/i40ev...

Read more...

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