Revert PPC get_user workaround

Bug #1976248 reported by Dimitri John Ledkov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Medium
Unassigned
Impish
Fix Released
Medium
Unassigned
Jammy
Fix Released
Medium
Unassigned
Kinetic
Won't Fix
Medium
Unassigned
zfs-linux (Ubuntu)
Fix Committed
Undecided
Dimitri John Ledkov
Impish
Won't Fix
Undecided
Unassigned
Jammy
New
High
Dimitri John Ledkov
Kinetic
Fix Committed
Undecided
Unassigned

Bug Description

[Impact]

 * A change of kernel symbol license allows to drop a PPC specific workaround in zfs-dkms to use the regular (better) code paths.

 * See details in:

https://git.launchpad.net/ubuntu/+source/zfs-linux/tree/debian/patches/4900-ppc-get-user-workaround.patch

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1009242

[Test Plan]

 * linux: apply https://github.com/torvalds/linux/commit/d9e5c3e9e75162f845880535957b7fd0b4637d23

 * zfs-dkms: revert https://git.launchpad.net/ubuntu/+source/zfs-linux/tree/debian/patches/4900-ppc-get-user-workaround.patch

 * Build on kernel with zfs module on ppc

 * Ensure that zfs.ko successfully loads and works

 * Test that root on zfs installations work on ppc (however, Ubuntu currently doesn't provide an installation method to achieve this, so this bit of verification might be hard to complete)

[Where problems could occur]

 * linux: the patch only changes the symbol licensing and the potential tainteness status of the kernel, without any observable user or kernel space impacts

 * zfs-dkms: The PPC workaround patch is known to be buggy, and the new arch-independent codepath may now use optimized codepaths inside kernel resulting in a different behavior as observed by user-space (operation successful, EFAULT not returned) matching the behavior of all other architectures.

CVE References

description: updated
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote : Missing required logs.

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 1976248

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):
status: Incomplete → In Progress
Stefan Bader (smb)
Changed in linux (Ubuntu Impish):
status: New → In Progress
importance: Undecided → Medium
Changed in linux (Ubuntu Jammy):
status: New → In Progress
importance: Undecided → Medium
Changed in linux (Ubuntu Kinetic):
importance: Undecided → Medium
Stefan Bader (smb)
Changed in linux (Ubuntu Jammy):
status: In Progress → Fix Committed
Changed in linux (Ubuntu Impish):
status: In Progress → Fix Committed
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux/5.15.0-41.44 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-jammy' to 'verification-done-jammy'. If the problem still exists, change the tag 'verification-needed-jammy' to 'verification-failed-jammy'.

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-jammy
Revision history for this message
Dimitri John Ledkov (xnox) wrote :

Enabled jammy-updates, jammy-proposed, kinetic, kinetic-proposed, on a power9 instance.

Attempted to install zfs-dkms from kinetic-proposed, as it now checks and requires for mmu_feature_keys to be exported on powerpc.

installed 5.15.0-40-generic abi to observe the issue:

checking whether __copy_from_user_inatomic is available... no
configure: error:
 *** The `__copy_from_user_inatomic()` Linux kernel function is
 *** incompatible with the CDDL license and will prevent the module
 *** linking stage from succeeding. OpenZFS cannot be compiled.

...
Error! Bad return status for module build on kernel: 5.15.0-40-generic (ppc64le)
Consult /var/lib/dkms/zfs/2.1.4/build/make.log for more information.

Then went to upgrade to 5.15.0-41-generic abi:

...
checking whether __copy_from_user_inatomic is available... yes
...

zfs.ko:
Running module version sanity check.
 - Original module
 - Installation
   - Installing to /lib/modules/5.15.0-41-generic/updates/dkms/

$ sudo dkms status
zfs/2.1.4, 5.15.0-41-generic, ppc64le: installed

Rebooted:

$ uname -r
5.15.0-41-generic

$ cat /sys/module/zfs/version
2.1.4-0ubuntu2

All is good, and zfs is working, lxd is working.

Kernel in jammy verified.

tags: added: verification-done-jammy
tags: removed: verification-needed-jammy
Changed in linux (Ubuntu Kinetic):
status: In Progress → Fix Committed
Changed in zfs-linux (Ubuntu Kinetic):
status: New → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (31.7 KiB)

This bug was fixed in the package linux - 5.15.0-41.44

---------------
linux (5.15.0-41.44) jammy; urgency=medium

  * jammy/linux: 5.15.0-41.44 -proposed tracker (LP: #1979448)

  * Fix can't boot up after change to vmd (LP: #1976587)
    - PCI: vmd: Assign VMD IRQ domain before enumeration
    - PCI: vmd: Revert 2565e5b69c44 ("PCI: vmd: Do not disable MSI-X remapping if
      interrupt remapping is enabled by IOMMU.")

  * [SRU][Jammy/OEM-5.17][PATCH 0/1] Fix calltrace in mac80211 (LP: #1978297)
    - mac80211: fix struct ieee80211_tx_info size

  * [SRU][Jammy][PATCH 0/1] Fix amd display corruption on s2idle resume
    (LP: #1978244)
    - drm/amd/display: Don't reinitialize DMCUB on s0ix resume

  * pl2303 serial adapter not recognized (LP: #1967493)
    - USB: serial: pl2303: fix type detection for odd device

  * Remove SAUCE patches from test_vxlan_under_vrf.sh in net of
    ubuntu_kernel_selftests (LP: #1975691)
    - Revert "UBUNTU: SAUCE: selftests: net: Don't fail test_vxlan_under_vrf on
      xfail"
    - Revert "UBUNTU: SAUCE: selftests: net: Make test for VXLAN underlay in non-
      default VRF an expected failure"

  * Fix hp_wmi_read_int() reporting error (0x05) (LP: #1979051)
    - platform/x86: hp-wmi: Fix hp_wmi_read_int() reporting error (0x05)

  * Request to back port vmci patches to Ubuntu kernel (LP: #1978145)
    - VMCI: dma dg: whitespace formatting change for vmci register defines
    - VMCI: dma dg: add MMIO access to registers
    - VMCI: dma dg: detect DMA datagram capability
    - VMCI: dma dg: set OS page size
    - VMCI: dma dg: register dummy IRQ handlers for DMA datagrams
    - VMCI: dma dg: allocate send and receive buffers for DMA datagrams
    - VMCI: dma dg: add support for DMA datagrams sends
    - VMCI: dma dg: add support for DMA datagrams receive
    - VMCI: Fix some error handling paths in vmci_guest_probe_device()
    - VMCI: Release notification_bitmap in error path
    - VMCI: Check exclusive_vectors when freeing interrupt 1
    - VMCI: Add support for ARM64
    - [Config] Update policies for VMWARE_VMCI and VMWARE_VMCI_VSOCKETS

  * [UBUNTU 20.04] rcu stalls with many storage key guests (LP: #1975582)
    - s390/gmap: voluntarily schedule during key setting
    - s390/mm: use non-quiescing sske for KVM switch to keyed guest

  * [SRU][OEM-5.14/OEM-5.17/Jammy][PATCH 0/1] Fix i915 calltrace on new ADL BIOS
    (LP: #1976214)
    - drm/i915: update new TMDS clock setting defined by VBT

  * Revert PPC get_user workaround (LP: #1976248)
    - powerpc: Export mmu_feature_keys[] as non-GPL

  * Jammy update: v5.15.39 upstream stable release (LP: #1978240)
    - MIPS: Fix CP0 counter erratum detection for R4k CPUs
    - parisc: Merge model and model name into one line in /proc/cpuinfo
    - ALSA: hda/realtek: Add quirk for Yoga Duet 7 13ITL6 speakers
    - ALSA: fireworks: fix wrong return count shorter than expected by 4 bytes
    - mmc: sdhci-msm: Reset GCC_SDCC_BCR register for SDHC
    - mmc: sunxi-mmc: Fix DMA descriptors allocated above 32 bits
    - mmc: core: Set HS clock speed before sending HS CMD13
    - gpiolib: of: fix bounds check for 'gpio-reserved-ranges'
    - x86/fpu: Prevent FPU s...

Changed in linux (Ubuntu Jammy):
status: Fix Committed → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-gkeop-5.15/5.15.0-1003.5~20.04.2 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-focal' to 'verification-done-focal'. If the problem still exists, change the tag 'verification-needed-focal' to 'verification-failed-focal'.

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!

Revision history for this message
Utkarsh Gupta (utkarsh) wrote :

Ubuntu 22.10 (Kinetic Kudu) has reached end of life, so this bug will not be fixed for that specific release.

Changed in linux (Ubuntu Kinetic):
status: Fix Committed → Won't Fix
Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in linux (Ubuntu Impish):
status: Fix Committed → Fix Released
Changed in zfs-linux (Ubuntu Impish):
status: New → Won't Fix
Changed in zfs-linux (Ubuntu):
assignee: nobody → Dimitri John Ledkov (xnox)
Changed in zfs-linux (Ubuntu Jammy):
assignee: nobody → Dimitri John Ledkov (xnox)
Changed in zfs-linux (Ubuntu Jammy):
importance: Undecided → High
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.