[SRU][N][J][PATCH 0/1] s390/cpum_cf: make crypto counters upward compatible (LP: 2074380)

frank.heimes at canonical.com frank.heimes at canonical.com
Thu Aug 1 10:53:53 UTC 2024


BugLink: https://bugs.launchpad.net/bugs/2074380

SRU Justification:

[ Impact ]

 * The CPU Measurement Facility (CPU MF) crypto counter set
   is not listed in the device sysfs tree - it's not exported
   in the sysfs directory /sys/devices/cpum_cf/events.

 * The attribute files for each CPU-MF counter defined
   in the crypto counter set is missing.

 * This is caused by the counter second version number of CPU MF
   hardware being incremented on new machines.

 * This causes a sanity check to fail,
   but the counters are supported by hardware.

 * The solution is to remove the upper limit in counter second
   version number check.

[ Fix ]

 * f10933cbd2df f10933cbd2dfddf6273698a45f76db9bafd8150f
   "s390/cpum_cf: make crypto counters upward compatible across machine types"

 * The fix was upstream accepted with kernel v6.10(-rc1).

 * Upstream commit applies cleanly on noble master-next,
   but needed to be backported to jammy master-next due to different code
   and context in kernel 5.15.

[ Test Plan ]

 * Run the following commands on a new machine generation:
   (hence only doable by IBM)
   # ls -l /sys/devices/cpum_cf/events/ | grep AES

 * If the output is empty than this patch is required.

 * With a patched kernel the output should be like:
   # ls /sys/devices/cpum_cf/events/ | grep AES
   AES_BLOCKED_CYCLES
   AES_BLOCKED_FUNCTIONS
   AES_CYCLES
   AES_FUNCTIONS

[ Where problems could occur ]

 * This affects s390x only - CPU MF is s390-specific,
   and only s390 specific code is modified.

 * And it furthermore is limited to the crypto counter set
   of CPU MF.

 * So any impact is likely limited to hardware crypto counters
   on s390x only.

 * In s390/kernel/perf_cpum_cf.c the else if case got changed from
   explicitly checking for 6 or 7 to >= 6 which seems to require
   attention for future 8 and more cases.

 * In s390/kernel/perf_cpum_cf_events.c the switch (ci.csvn) statement
   was changed to an if / else if with similar logic.
   Again attentioin for any potential future cases >= 8.

 * It does not look like currently used cases (1..5 and 6..7)
   are affected by the modification, just >7.

 * Test build of patched jammy and noble s390x kernels were build
   and are avaiable here:
   https://launchpad.net/~fheimes/+archive/ubuntu/lp2074380

[ Other Info ]

 * Since the code/fix was upstream accepted with kernel v6.10(-rc1)
   it does not affect the current development release oracular.

 * This SRU can also be seen under the umbrella of new
    hardware enablement.

 * Since it requires special hw, the verification needs to be
   done by IBM.

Thomas Richter (1):
  s390/cpum_cf: make crypto counters upward compatible across machine
    types

 arch/s390/kernel/perf_cpum_cf.c        |  2 +-
 arch/s390/kernel/perf_cpum_cf_events.c | 11 +++--------
 2 files changed, 4 insertions(+), 9 deletions(-)

-- 
2.34.1




More information about the kernel-team mailing list