I haven't looked at the actual instructions behind the patch, so maybe this is meaningless, but in case it isn't: could a user generated random value be used instead of a constant for a modicum of extra security?
(Warning: my brain seems to have its "-v" boot-arg set today, so lots of words to follow. Apologies for the wall of text.)
This patch was another "quick and dirty" fix so that 12.1b1 didn't stop everyone in their tracks - i.e. we couldn't know what other gremlins were lurking in the shadows until we could get past this one that prevented booting. The simplest path was to just disable the randomization, and from there we could determine what else might need attention for unsupported Macs to work. Longer-term, what you describe might be a better solution - or not. Someone needs to do more analysis on the affected code to more fully understand exactly why it's doing what it does. Is it purely a precautionary change, or is it a response to a known threat? Simply removing the randomization may or may not present an acceptable risk, but we won't know the true extent of that risk without further examination. I plan to do this when I have time, but nothing prevents someone else from digging into it. My available time comes in small increments.
Patching code like this is straightforward. Adding
new code at boot-time is tricky - the obvious path is to use a kext, but kexts aren't necessarily available or usable during early boot, so we'd be talking about inserting new code somewhere, which presents a separate set of problems (both logistical and security-related).
In general, I don't spend much time on betas; I don't install them without a compelling reason, and I only analyze them for indications of what's coming in the release. Once there's a release, it's no longer a moving target, and I'll see what I can do with it. This is no different; I only patched this beta because further progress was impeded without such a patch. (I still haven't installed 12.1b1 here, and probably won't.)
So, long story short: replacing the RDRAND instructions with some other randomization would probably be better than using a constant, but likely involves great difficulty to do so, and may not really be necessary. I'll ponder it, but I don't expect to spend much time on details until an official release is imminent (again, to avoid wasting time on moving targets that change from week to week - for all we know, these RDRANDs will be gone in 12.1b2).
While I have the floor, please forgive a brief digression/non sequitur. Feel free to ignore the rest of this post.
On and off this site (but thankfully not on this thread), I've seen some sensationalistic posts promoting an alarmist view - that Apple is adding things like RDRAND explicitly to prevent old Macs from running Monterey+, possibly even in direct response to threads like this one, and they're effectively "out to get us." I disagree.
I have seen no evidence that Apple is actively trying to prevent classic Macs from running new versions of MacOS. What I
do see is Apple's developers'
indifference to the old systems, and their willingness to adopt new features from the oldest
supported platforms. When they started using SSE4.1 instructions in MacOS, it wasn't to explicitly "kill off" the first two generations of Mac Pros, it was because SSE4.1 offered performance advantages, and every
officially supported platform at that time had SSE4.1. It's unreasonable to expect Apple to jump through hoops (including avoiding use of newer technologies) to support old technologies when they have no reason to do so. We're lucky to have gotten this far with as few problems as we've encountered. Apple will almost certainly continue to expand the use of newer instructions when they're advantageous, and we'll either adapt or reach a point where it's no longer practical to do so (case in point: Mac Pro 1,1/2,1).
Apple could
easily make it impossible to install Monterey on classic Macs. They don't bother wasting even minuscule resources on that because they don't have to. In 2020, Apple sold an estimated 22.5 million new Macs. The active "unsupported Mac" community ("active" meaning "trying to keep installing new MacOS versions," not "still running Mavericks on my trusty MP3,1") probably numbers less than ten thousand - that's 0.04% of their
annual sales, and that estimate is probably high. We are not a "thorn in Apple's side," we are not "a force to be reckoned with," we are probably not on Apple's radar in any meaningful way at all. Apple is not interested in expending resources to curtail using Big Sur or Monterey on our old cheesegraters, they have bigger fish to fry. Instead, they want to optimize the performance of MacOS on the Macs they're still supporting, and if that means using instructions that didn't exist when our old systems were built, why not? The problems our old Macs encounter aren't there because Apple is throwing up roadblocks, it's because they don't care about the consequences for old Macs at all.
In short, please don't propagate dire warnings that Apple is actively trying to prevent us from moving forward with our old Macs, or that they're directly responding to what we're doing here. Without actual evidence, that's just clickbait. Our classic Macs' days are definitely numbered - not because Apple's "out to get us," but simply because our old Macs are
old. (You don't see 8-track tape enthusiasts suggesting that Big Music is out to get them; technology has simply passed them by. We're on the same road, just moving a lot slower, and some of us are trying to tap the brakes to prolong the journey a bit. The end of the road is still somewhere out there, though.)
(Sorry for the rant, but that's been bothering me for a while. Please enjoy the rest of your day!)