qcom_scm_ice_invalidate_key(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… qcom_scm_ice_invalidate_key πŸ’…

okay so bestie, welcome to the Kernel API Manual for qcom_scm_ice_invalidate_key(9) β€” yes that's a mouthful, yes it's iconic, and yes we're gonna get through it together 🫢


✨ NAME ✨

qcom_scm_ice_invalidate_key β€” invalidate an inline encryption key πŸ”‘


🌸 SYNOPSIS 🌸

int qcom_scm_ice_invalidate_key (u32 index );

πŸŽ€ ARGUMENTS πŸŽ€

  • index β€” the keyslot you want to invalidate, like literally just yeet that keyslot out of existence πŸ’…

πŸ¦‹ DESCRIPTION πŸ¦‹

so the UFSHCI and eMMC standards do define a standard way to do this, bestie, but plot twist: it doesn't work on these SoCs 😭 only this SCM call does. like, the standard way is giving nothing, and this is the main character move that actually works ✨

also important, no cap: it is assumed that the SoC has only one ICE instance being used, because this SCM call doesn't specify which ICE instance the keyslot belongs to. so yeah, one ICE to rule them all, iykyk πŸ‘‘


πŸ’– RETURN πŸ’–

0 on success; -errno on failure πŸ’€


🌈 SEE ALSO 🌈

the kernel file ./drivers/firmware/qcom/qcom_scm.c, the struct qcom_scm_qseecom_resp(9), and honestly the whole squad:


and that's the whole page, bestie, you ate πŸ“ this little beauty lives in ./drivers/firmware/qcom and it's dated October 2026 β€” the manual page qcom_scm_ice_invalidate_key(9) says mwah, bye, go invalidate some keys πŸ’œπŸ§š

πŸ“¦ where this page comes from