You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Nov 28, 2025. It is now read-only.
Being able to detect that there were unknown features is half the battle. The other problem is ensuring that features unknown to a particular OS (or OS version) are safely disabled or controlled.
It might be trivial enough to prevent a situation where an application writes something to some new register, and the OS leaks that to another application because it doesn't know anything about swapping this state. You could force all optional extensions to be disabled at OS boot, but what about a new Linux kernel kexec'ing an older Linux kernel? What would ensure that all unsupported features are disabled at the time of loading the older Linux kernel?
What about exposing unknown features in hypervisors? Think old hypervisor booting a new enough guest. That should be doable, so long as the hypervisor knows what CPU state to switch (which may work for some extensions like some new set of DSP instructions, but won't be doable if the extension is a new bit in PTE...)
Perhaps there could be a way to describe "kill bits" so that an OS kernel can disable anything it doesn't know about.
...a few thoughts.
Being able to detect that there were unknown features is half the battle. The other problem is ensuring that features unknown to a particular OS (or OS version) are safely disabled or controlled.
It might be trivial enough to prevent a situation where an application writes something to some new register, and the OS leaks that to another application because it doesn't know anything about swapping this state. You could force all optional extensions to be disabled at OS boot, but what about a new Linux kernel kexec'ing an older Linux kernel? What would ensure that all unsupported features are disabled at the time of loading the older Linux kernel?
What about exposing unknown features in hypervisors? Think old hypervisor booting a new enough guest. That should be doable, so long as the hypervisor knows what CPU state to switch (which may work for some extensions like some new set of DSP instructions, but won't be doable if the extension is a new bit in PTE...)
Perhaps there could be a way to describe "kill bits" so that an OS kernel can disable anything it doesn't know about.