[Bug 1866866] Re: [FFe] Please accept patches for secure guest feature

Dimitri John Ledkov launchpad at surgut.co.uk
Thu Mar 19 13:42:11 UTC 2020


= Refactor =

 The refactor commits, correct minor runtime/compiler warnings or have
 no effect on the resulting build. I want to take them in, as
 bugfixes, to keep the Ubuntu source matching the upstream as closely
 as possible for future cherrypicks to not conflict.

  11bdab2 include/boot/s390.h: add guard for `struct __vector128`
  b06af60 README.md: remove useless empty line
  2c10642 cpumf_helper: Avoid perl warning from pod2usage function
  6fcf64e lib/util_file.h: fix typo in the macro guard
  87b54fc CHANGELOG: Fix formatting

= HW Enablement =

 This commits fall under HWE SRU exception, these expand cpumf tool to
 display z15 specific counters & correctly report/trace fiber channel
 endpoint security status.

 They do not change behaviour on any existing hardware z13/z14
 platforms. And improve behaviour on z15 hardware.

  1086548 cpumf: Add IBM z15 extended counter defintion file
  5d2871d cpumf/data: Add new deflate counters for IBM z15

  fbf8513 zfcpdbf: print HBA FC Endpoint Security trace records
  67496af zdev: Report FC Endpoint Security of zfcp devices
  16b2799 zdev: Handle special case in if-case
  c063273 zdev: Introduce read-only attributes

Bugfix

 These are pure bugfixes to improve the `dbginfo` debug information
 collection tool. Fix documentation for correct ways to enable/disable
 secureboot (also requested in a separate ticket). And a bugfix to
 correct potential buffer overflow in zipl-libc (i.e. common libc-like
 functions which are used by the bootloader standalone code).

  f742ed7 dbginfo: gather ethtool output for per-queue coalescing
  4fa9656 dbginfo: collect softnet_stat
  d415b8e dbginfo: Removed collection of /var/log/opencryptoki/
  
  299fd2b zipl: fix zipl.conf man page example for secure boot

  36fed0e zipl/libc: Indicate truncated lines in printf with '...'
  f743002 zipl/libc: Replace sprintf with snprintf
  8874b90 zipl/libc: Fix potential buffer overflow in printf
  6fe9e6c zipl/libc: Introduce vsnprintf

PVM feature

 These are the commits related to the new PVM feature. They consist of
 creating a new userspace tool (genprotimg) as well as creating new
 bootloader stages. To support building the new bootloader stages,
 existing zipl bootloader stages have been refactored a little bit to
 use common headers with defined constants (rather than just
 hardcoding them). At the same time, the zipl-libc code has been
 improve to be more strict with parsing / validating certain things.

 The new zipl bootloader stages are only used for th PVM
 feature. Despite the refactors, there does not appear to be any
 behaviour changes of the existing zipl boot stages as used on
 existing hardware configurations for regular zipl IPL. And regular
 boot testing will be performed as part of the Focal to validate LPAR,
 z/VM, KVM platforms with/without secureboot where applicable.

  65b9fc4 genprotimg: introduce new tool for the creation of PV images
  d2f8f97 genprotimg: add relocator for stage3b
  2d60057 genprotimg: boot: use C pre-processor for linker script generation
  3356d6f genprotimg: boot: initial bootloader support
  67aef9b Consolidate `ALIGN, __ALIGN_MASK, ARRAY_SIZE` macros
  e51663b zipl/libc: printf: print on linemode and ASCII console
  f99560f zipl/sclp: add `sclp_print_ascii`
  303a370 zipl/sclp: add macros for the control-program masks
  a37170b zipl: refactor all EBCDIC code into separate files
  305235a include/boot/s390.h: fixes for -Werror=sign-conversion
  2568863 include/boot/s390.h: move panic and panic_notify to libc.h
  b0f82d2 zipl/libc: include 's390.h'
  b83c894 zipl: move s390.h to include/boot/s390.h
  f454c68 zipl: remove libc.h include in s390.h
  c55ceab Consolidate MIN and MAX macros
  2e28291 zipl: make BLK_PWRT unsigned int
  24fe8c1 zipl: move __always_inline/barrier/__pa32/pa to zt_common.h
  67e76b8 zipl/s390.h: rename `inline` macro into `__always_inline`
  97ab8fb zipl: move loaders layout definitions into separate header
  c07104d zipl: use STAGE3_ENTRY for STAGE3_LOAD_ADDRESS
  c871050 zipl: tape0: use constants defined in linux_layout.h
  7e37a1d zipl: move Linux layout definitions into separate header
  d884fb8 zipl/stage3: make IPL_DEVICE definition consistent with tape0.S
  0e385a8 zipl: add SIGP_SET_ARCHITECTURE to sigp.h and use it
  675c854 zipl: move SIGP related functions and definitions into separate header
  9d39a4b zipl: move IPL related definitions into separate header
  400167f Support `lib/zt_common.h` to be used in assembler and add `_AC` macro
  cc16e41 zipl: use STATIC_ASSERT macro for no padding verification
  bac3f93 lib/zt_common: add STATIC_ASSERT macro
  9719709 zipl/boot: fix comment in stage3.lds


** Changed in: s390-tools (Ubuntu)
       Status: Incomplete => New

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to s390-tools in Ubuntu.
https://bugs.launchpad.net/bugs/1866866

Title:
  [FFe] Please accept patches for secure guest feature

Status in Ubuntu on IBM z Systems:
  New
Status in linux package in Ubuntu:
  Confirmed
Status in qemu package in Ubuntu:
  New
Status in s390-tools package in Ubuntu:
  New

Bug description:
  The secure guest feature (aka protvirt) affects multiple components (kernel, qemu and s390-tools - see below).
  While dedicated tickets for the different components exist since quite a while, the code arrived late and/or discussion to get it upstream accepted took longer than expected.
  (Even if we as of today didn't reached the kernel freeze, I'm already adding kernel to this FFe.)

  Since this is a very important feature the current IBM Z and LinuxONE
  family, it's requested to be included into focal, the next LTS
  release, to become exploitable by long running systems.

  The code is largely architecture specific.
  No brand new packages or new upstream version are requested, only the cherry-pick of commits (or PR) - so far everything is 'cherry-pick'-able.

  kernel:
  The patch set for the kernel is huge (30+ commits), but has only one common code patch (two files).
  The arch specific patches landed in between in linux-next, the arch specific one is expected to land there very soon (hours/days from now). The common-code patch ran through several hands and landed in between in Andrew Morton's mmots tree.
  A pre-screening of the code was done by the kernel team and it looked acceptable.
  (dedicated kernel ticket: https://bugs.launchpad.net/bugs/1835531)

  qemu:
  The entire code seems to be arch specific.
  Again a pre-screening of the maintainer lead to the fact that it should be acceptable, too.
  (dedicated qemu ticket: https://bugs.launchpad.net/bugs/1835546)

  s390-tools:
  The entire tool only exists for the s390x architecture.
  Hence obviously everything is arch specific on that.
  (dedicated s390-tools ticket: https://bugs.launchpad.net/bugs/1834534)

  Currently work is going on to test this function end to end based on Ubuntu components (means based on our s390-tools, qemu and kernel [focal master-next] trees).
  On top I applied the patches to the packages as well and did manual test buids.

  With that a potential regression can be considered as low - and even
  in case of a regression, it will affect s390x only.

  The patches are being staged for this feature in:
  https://launchpad.net/~ci-train-ppa-service/+archive/ubuntu/3970

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu-z-systems/+bug/1866866/+subscriptions



More information about the foundations-bugs mailing list