<...snip...>

On 2/12/2026 12:43 PM, Zhuoying Cai wrote:
uint8_t vcssb_data[VCSSB_MIN_LEN] __attribute__((__aligned__(PAGE_SIZE)));

I don't see us setting vcssb_data set to 0 before we even start secure ipl verification. I think we should be safe and set it to 0 before the first time we touch this? otherwise if its pointing to garbage data it can break the length checks.

Thanks

Farhan

+
+VCStorageSizeBlock *zipl_secure_get_vcssb(void)
+{
+    VCStorageSizeBlock *vcssb;
+
+    vcssb = (VCStorageSizeBlock *)vcssb_data;
+    /* avoid retrieving vcssb multiple times */
+    if (vcssb->length >= VCSSB_MIN_LEN) {
+        return vcssb;
+    }
+
+    if (!is_cert_store_facility_supported()) {
+        puts("Certificate Store Facility is not supported by the hypervisor!");
+        return NULL;
+    }
+
+    vcssb->length = VCSSB_MIN_LEN;
+    if (diag320(vcssb, DIAG_320_SUBC_QUERY_VCSI) != DIAG_320_RC_OK) {
+        return NULL;
+    }
+
+    return vcssb;
+}

<...snip...>



Reply via email to