** Changed in: ubuntu-z-systems Status: Fix Committed => Fix Released
-- You received this bug notification because you are a member of Kernel Packages, which is subscribed to linux in Ubuntu. https://bugs.launchpad.net/bugs/1848173 Title: Ubuntu 16.04.6 - Shared CEX7C cards defined in z/VM guest not established by zcrypt device driver Status in Ubuntu on IBM z Systems: Fix Released Status in linux package in Ubuntu: Invalid Status in linux source package in Xenial: Fix Released Bug description: SRU Justification: ================== [Impact] * Ubuntu 16.04.6 systems on z15 with crypto CEX7C adapters under z/VM cannot see and make use of their hw crypto resources. * The patch/backport adds CEX7 toleration support (by mapping it to CEX5) to kernel 4.4. [Fix] * Backport: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1848173/+attachment/5297314/+files/s390 -zcrypt-CEX7-toleration-support.patch [Test Case] * Define a z/VM guest with 'apvirt' (hardware crypto adapter virtualization) having CryptoExpress 7S adapters attached to z/VM LPAR. * Use lszcrypt command (ideally lszcrypt -VVV) from the s390-tools package to list the detected and available hardware crypto resources. * Canonical can only do a toleration test: IBM needs to do the functional test (due to hardware availability). [Regression Potential] * The regression potential can be considered as moderate since this is purely s390x specific * and limited to CryptoExpress 7S (CEX7) adapter cards * and again if they running under z/VM (on z15) with 'apvirt' configured for the guest. * and again only with 16.04.6's kernel 4.4. [Other Info] * The patch was already applied, kernel compiled and things tested on z15 und z/VM. __________ System: IBM Z15 z/VM with shared CEX7C adapters OS: Ubuntu 16.04.6 LTS ( 4.4.0-165-generic kernel ) with latest updates Shared CEX7C adapters are not displayed on Ubuntu even though APAR 66266 had been installed onto the unterlying z/VM system. Details ======= Defined shared CEX7C CCA adapters to provide cryptographic accelerators based on CCA cards to a z/VM guest system running Ubuntu 16.04.6 LTS. The adapters display all right under vm or when running vmcp commands under Linux. lszcrypt -VVV does not display any adapter. We observed that zcrypt_cex4 was not automatically loaded via dependency by modprobe ap. Explicitly loading by modprobe zcrypt_cex4 did not change card availability. Please investigate. Thanks. Terminal output ============== root@system:/sys/bus/ap/devices/card01# ls -l total 0 -r--r--r-- 1 root root 4096 Oct 8 17:51 ap_functions -r--r--r-- 1 root root 4096 Oct 8 17:51 depth -r--r--r-- 1 root root 4096 Oct 8 17:51 hwtype -r--r--r-- 1 root root 4096 Oct 8 17:51 interrupt -r--r--r-- 1 root root 4096 Oct 8 17:51 modalias -r--r--r-- 1 root root 4096 Oct 8 17:51 pendingq_count drwxr-xr-x 2 root root 0 Oct 8 17:51 power -r--r--r-- 1 root root 4096 Oct 8 17:51 raw_hwtype -r--r--r-- 1 root root 4096 Oct 8 17:51 request_count -r--r--r-- 1 root root 4096 Oct 8 17:51 requestq_count -r--r--r-- 1 root root 4096 Oct 8 17:51 reset lrwxrwxrwx 1 root root 0 Oct 8 17:51 subsystem -> ../../../bus/ap -rw-r--r-- 1 root root 4096 Oct 8 17:50 uevent # lszcrypt -V // < No output displayed > # vmcp q v crypto AP 001 CEX7C Domain 001 shared online root@system:/sys/bus/ap/devices/card01# cat hwtype 13 root@system:/sys/bus/ap/devices/card01# cat raw_hwtype 13 # lsmod Module Size Used by ap 36864 0 ghash_s390 16384 0 prng 16384 0 aes_s390 20480 0 des_s390 16384 0 des_generic 28672 1 des_s390 sha512_s390 16384 0 qeth_l2 53248 1 sha256_s390 16384 0 sha1_s390 16384 0 sha_common 16384 3 sha256_s390,sha1_s390,sha512_s390 qeth 151552 1 qeth_l2 vmur 20480 0 ccwgroup 20480 1 qeth dm_multipath 36864 0 zfcp 143360 0 dasd_eckd_mod 118784 8 qdio 73728 3 qeth,zfcp,qeth_l2 scsi_transport_fc 86016 1 zfcp dasd_mod 135168 5 dasd_eckd_mod # modprobe zcrypt_cex4 ... zcrypt_cex4 16384 0 zcrypt_api 36864 1 zcrypt_cex4 ap 36864 2 zcrypt_cex4,zcrypt_api ... Contact Information = christian.r...@de.ibm.com ---uname output--- Linux system 4.4.0-164-generic #192-Ubuntu SMP Fri Sep 13 12:01:28 UTC 2019 s390x s390x s390x GNU/Linux Machine Type = IBM Type: 8561 Model: 403 T01 ---Debugger--- A debugger is not configured ---Steps to Reproduce--- 1.) Define shared CEX7 CCA cards to z/VM Guest 2.) boot up Ubuntu 16.04.6 LTS 3.) modprobe ap 4.) lszcrypt -VVV Stack trace output: no Oops output: no System Dump Info: The system is not configured to capture a system dump. Device driver error code: N/A *Additional Instructions for christian.r...@de.ibm.com: -Attach sysctl -a output output to the bug. lszcrypt returns with # lszcrypt -VVV ; echo RC=$? RC=0 After investigating here a little ... Ubuntu 16.04 has only toleration support for CEX6 and no support for CEX7. Here is a patch which maps cex7 cards to cex5 cards. Have a look into - it is just a 2 line code change which extends the toleration patch for cex6 (mapped to cex5) by the cex7 card - also mapped to cex5. Code compiles and I've tested the kernel on a z15 with lots of cex6 and cex7 cards - works fine. To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu-z-systems/+bug/1848173/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp