staticinlinebool __pkru_allows_write(u32 pkru, u16 pkey)
{ int pkru_pkey_bits = pkey * PKRU_BITS_PER_PKEY; /* * Access-disable disables writes too so we need to check * both bits here.
*/ return !(pkru & ((PKRU_AD_BIT|PKRU_WD_BIT) << pkru_pkey_bits));
}
staticinlinevoid write_pkru(u32 pkru)
{ if (!cpu_feature_enabled(X86_FEATURE_OSPKE)) return; /* * WRPKRU is relatively expensive compared to RDPKRU. * Avoid WRPKRU when it would not change the value.
*/ if (pkru != rdpkru())
wrpkru(pkru);
}
staticinlinevoid pkru_write_default(void)
{ if (!cpu_feature_enabled(X86_FEATURE_OSPKE)) return;
wrpkru(pkru_get_init_value());
}
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.0 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.