[22.04 FEAT] In-kernel crypto: SIMD implementation of chacha20

Bug #1853152 reported by bugproxy
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu on IBM z Systems
Fix Released
Medium
Frank Heimes
linux (Ubuntu)
Fix Released
Undecided
Canonical Kernel Team

Bug Description

Recent kernel releases provide support for the chacha20 cipher and among others use it to compute pseudo random numbers for /dev/urandom.
Chacha20 is a type of algorithm that can be accelerated using SIMD instructions. The goal of this item is to use z System SIMD instruction to implement chacha20.

Will be made available earliest for kernel >=5.6. Mean, request for integration if backport is possible for 20.04

bugproxy (bugproxy)
tags: added: architecture-s39064 bugnameltc-182139 severity-high targetmilestone-inin2004
Changed in ubuntu:
assignee: nobody → Skipper Bug Screeners (skipper-screen-team)
affects: ubuntu → linux (Ubuntu)
Revision history for this message
Frank Heimes (fheimes) wrote :

So it's pretty likely that the code will come with a kernel, that's released after Focal's target kernel, hence there is no guarantee that it can be picked up.
It depends on the schedule of the patches/commit-IDs and the complexity.
Please share the commit IDs _as early as possible_ and we will have a look if they can be integrated into Focal.
Changing status to Incomplete for now.

Changed in linux (Ubuntu):
status: New → Incomplete
Changed in ubuntu-z-systems:
status: New → Incomplete
importance: Undecided → Medium
assignee: nobody → Frank Heimes (frank-heimes)
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2019-11-22 08:07 EDT-------
Planned Target : kernel 5.6

Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-01-23 08:34 EDT-------
Feature will not make it into 20.04 -> new target 20.10

tags: added: targetmilestone-inin2010
removed: targetmilestone-inin2004
Frank Heimes (fheimes)
summary: - [20.04 FEAT] In-kernel crypto: SIMD implementation of chacha20
+ [20.10 FEAT] In-kernel crypto: SIMD implementation of chacha20
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-02-06 03:46 EDT-------
Target kernel > 5.6. Therefore not in time for 20.04

summary: - [20.10 FEAT] In-kernel crypto: SIMD implementation of chacha20
+ [21.04 FEAT] In-kernel crypto: SIMD implementation of chacha20
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2020-08-27 07:04 EDT-------
Feature will not make it in time for 20.10 -> moved to 21.04

tags: added: targetmilestone-inin2104
removed: targetmilestone-inin2010
Revision history for this message
Frank Heimes (fheimes) wrote : Re: [21.04 FEAT] In-kernel crypto: SIMD implementation of chacha20

expected with kernel >= 5.12

summary: - [21.04 FEAT] In-kernel crypto: SIMD implementation of chacha20
+ [21.10 FEAT] In-kernel crypto: SIMD implementation of chacha20
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2021-02-22 06:18 EDT-------
Feature will not make it into 21.04. Moved to 21.10

tags: added: targetmilestone-inin2110
removed: targetmilestone-inin2104
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2021-08-11 11:28 EDT-------
Feature is expected with kernel 5.15, therefore it will not make it into Hirsute / 21.10
==> Moved to U22.04

tags: added: targetmilestone-inin2204
removed: targetmilestone-inin2110
Frank Heimes (fheimes)
summary: - [21.10 FEAT] In-kernel crypto: SIMD implementation of chacha20
+ [22.04 FEAT] In-kernel crypto: SIMD implementation of chacha20
Revision history for this message
bugproxy (bugproxy) wrote :

------- Comment From <email address hidden> 2022-02-24 08:22 EDT-------
here ate the two commits:

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b087dfab4d3902681550fd1f5ff9c3e942059478

and

https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=39d02827ed40fd421a758a36264c255d69f5d035

The second commit is only needed if there is a really really old z machine
is used for compiling. However to stay in sync with the upstream kernel
I would recommend to pick both.

Thanks Cannonical

Revision history for this message
Frank Heimes (fheimes) wrote :

Thanks for the two commits.
Well, since 20.04/focal we build the distro (and compile for) z13.
But I agree, that it's good and worth to stay in sync with upstream (having in mind that 22.04 is as LTS supported for 5 + 5 years ...)

Changed in linux (Ubuntu):
status: Incomplete → New
Changed in ubuntu-z-systems:
status: Incomplete → New
Revision history for this message
Frank Heimes (fheimes) wrote :

Patch request submitted:
https://lists.ubuntu.com/archives/kernel-team/2022-February/thread.html#128313
Updating status to 'In Progress'.
Assigning kernel entry to 'Canonical Kernel Team'.

Changed in ubuntu-z-systems:
status: New → In Progress
Changed in linux (Ubuntu):
status: New → In Progress
assignee: Skipper Bug Screeners (skipper-screen-team) → Canonical Kernel Team (canonical-kernel-team)
information type: Private → Public
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (67.6 KiB)

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

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

  * jammy/linux: 5.15.0-23.23 -proposed tracker (LP: #1964573)

  * Packaging resync (LP: #1786013)
    - [Packaging] resync dkms-build{,--nvidia-N} from LRMv5
    - debian/dkms-versions -- update from kernel-versions (main/master)

  * [22.04 FEAT] KVM: Enable GISA support for Secure Execution guests
    (LP: #1959977)
    - KVM: s390: pv: make use of ultravisor AIV support

  * intel_iommu breaks Intel IPU6 camera: isys port open ready failed -16
    (LP: #1958004)
    - SAUCE: iommu: intel-ipu: use IOMMU passthrough mode for Intel IPUs

  * CVE-2022-23960
    - ARM: report Spectre v2 status through sysfs
    - ARM: early traps initialisation
    - ARM: use LOADADDR() to get load address of sections
    - ARM: Spectre-BHB workaround
    - ARM: include unprivileged BPF status in Spectre V2 reporting
    - arm64: Add Neoverse-N2, Cortex-A710 CPU part definition
    - arm64: Add HWCAP for self-synchronising virtual counter
    - arm64: Add Cortex-X2 CPU part definition
    - arm64: add ID_AA64ISAR2_EL1 sys register
    - arm64: cpufeature: add HWCAP for FEAT_AFP
    - arm64: cpufeature: add HWCAP for FEAT_RPRES
    - arm64: entry.S: Add ventry overflow sanity checks
    - arm64: spectre: Rename spectre_v4_patch_fw_mitigation_conduit
    - KVM: arm64: Allow indirect vectors to be used without SPECTRE_V3A
    - arm64: entry: Make the trampoline cleanup optional
    - arm64: entry: Free up another register on kpti's tramp_exit path
    - arm64: entry: Move the trampoline data page before the text page
    - arm64: entry: Allow tramp_alias to access symbols after the 4K boundary
    - arm64: entry: Don't assume tramp_vectors is the start of the vectors
    - arm64: entry: Move trampoline macros out of ifdef'd section
    - arm64: entry: Make the kpti trampoline's kpti sequence optional
    - arm64: entry: Allow the trampoline text to occupy multiple pages
    - arm64: entry: Add non-kpti __bp_harden_el1_vectors for mitigations
    - arm64: entry: Add vectors that have the bhb mitigation sequences
    - arm64: entry: Add macro for reading symbol addresses from the trampoline
    - arm64: Add percpu vectors for EL1
    - arm64: proton-pack: Report Spectre-BHB vulnerabilities as part of Spectre-v2
    - arm64: Mitigate spectre style branch history side channels
    - KVM: arm64: Allow SMCCC_ARCH_WORKAROUND_3 to be discovered and migrated
    - arm64: Use the clearbhb instruction in mitigations
    - arm64: proton-pack: Include unprivileged eBPF status in Spectre v2
      mitigation reporting
    - ARM: fix build error when BPF_SYSCALL is disabled

  * CVE-2021-26401
    - x86/speculation: Use generic retpoline by default on AMD
    - x86/speculation: Update link to AMD speculation whitepaper
    - x86/speculation: Warn about Spectre v2 LFENCE mitigation
    - x86/speculation: Warn about eIBRS + LFENCE + Unprivileged eBPF + SMT

  * CVE-2022-0001
    - x86,bugs: Unconditionally allow spectre_v2=retpoline,amd
    - x86/speculation: Rename RETPOLINE_AMD to RETPOLINE_LFENCE
    - x86/speculation: Add eIBRS + Retpoline options
    - Document...

Changed in linux (Ubuntu):
status: In Progress → Fix Released
Frank Heimes (fheimes)
Changed in ubuntu-z-systems:
status: In Progress → Fix Released
Revision history for this message
Ubuntu Kernel Bot (ubuntu-kernel-bot) wrote :

This bug is awaiting verification that the linux-oracle-5.15/5.15.0-1006.8~20.04.1 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!

tags: added: verification-needed-focal
Revision history for this message
Frank Heimes (fheimes) wrote :

This bug is already Fix Released and closed and was requested for jammy.
So it wasn't requested for focal, hence updating the tags to 'verification-done-focal' to unblock any processes.

tags: added: verification-done-focal
removed: verification-needed-focal
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.