crste_needs_unshadow(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

okay bestie, welcome to crste_needs_unshadow(9) from the Kernel API Manual 🫢 this is the little helper that checks if the crste operations triggers unshadowing. yes, that's the whole vibe ✨


πŸ¦‹ SYNOPSIS πŸ¦‹

bool crste_needs_unshadow (union crste oldcrste , union crste newcrste );

πŸ’– ARGUMENTS πŸ’–

  • oldcrste β€” the previous value for the crste. the before pic πŸ“Έ
  • newcrste β€” the new value for the crste. the glow-up pic ✨

πŸ”₯ DESCRIPTION πŸ”₯

so here's the tea β˜• if the old crste did not have the vsie_notif bit set, return false: the page is not involved in vsie and thus should not trigger an unshadow operation. lowkey minding its own business πŸ’…

conversely, if the bit is set, it can only be g3 memory, since dat tables are never mapped using large pages. that's just how it is, no cap 🧚

similar to the pgste.vsie_gmem case of pte_needs_unshadow, if the protection bit is changing or the new page is invalid, trigger an unshadow event. also trigger an unshadow event if the new crste does not have the vsie_notif bit set. it's giving "watch out, something's shifting" πŸ‘€πŸ”₯


🌈 RETURN 🌈

it hands you back true if an unshadow event should be triggered, otherwise false. tiny bool, very main character energy πŸ‘‘βœ¨


πŸŽ€ SEE ALSO πŸŽ€


shoutout to the source/version line ./arch/s390/kvm/gmap and the date October 2026 β€” that's the footer vibe, bestie πŸ’œπŸ’…

πŸ“¦ where this page comes from