5 ms·
A more comprehensive list https://www.openbsd.org/innovations.html https://www.openbsd.org/innovations.html
by gbrown_ 8y ago
A more comprehensive list https://www.openbsd.org/innovations.html https://www.openbsd.org/innovations.html
- knorker 8y agoI like how they list W^X as an innovation. 1) It's not W^X. W^X implies read-only pages are not possible, and they are. 2) They "invented" that, what 5-10 years after Linux?
- jstarks 8y agoNo. As far as I know, OpenBSD was the first OS with W^X enabled, followed by Windows.
- knorker 8y agoThat's an extremely narrow definition of the word "invent". They adapted it to OpenBSD and I do credit them for doing great work being the first to do it by default in a vanilla OS install, sure.
- madars 8y agoThe innovation is using W^X systemwide, which is harder than having W^X support in kernel, and system that does not fully take advantage of it. And W^X is definitely a catchier name than ~(W&X) :-)
- knorker 8y agoIt's catchy, yes. But it's still technically wrong. I don't dispute that OpenBSD pushed execution prevention (and many other things) in the default OS system wide. But it's pretty dishonest to say that they "invented" it. Which they explicitly did at the time, and that the article does now.
- admax88q 8y ago> It's not W^X. W^X implies read-only pages are not possible, and they are. What? W^X implies that Write and Execute or mutually exclusive, can't have both active at the same time. > They "invented" that, what 5-10 years after Linux? It's not so much that they "invented" it, but that they're much more diligent about making sure all the base system and ports use it. It's enforced that unless your file-system is mounted with "wxallowed" then any process that tries to mark a page both writeable and executable will fail.
- knorker 8y ago> What? W^X implies that Write and Execute or mutually exclusive, The truth table for XOR also says that "neither write nor execute" is impossible. > It's not so much that they "invented" it, but that they're much more diligent about making sure all the base system and ports use They've definitely taken it further, and turned on by default and all that, which is great. However they did at the time say that they both invented it, and that it couldn't be done on x86. Of course grsec had been doing it, including on x86, for many years. Theo's defense of why they've not done things Linux has done is that they're not interested in Linux, and don't look at it. Which is an interesting way to assure you're "state of the art"; don't look at what others are doing. So both at the time and now they say they "invented" it. Later of course they "invented" how to do it on x86, too.
- earenndil 8y ago> It's not W^X. W^X implies read-only pages are not possible, and they are What? That doesn't seem implied to me-- just means a page can't be w and x at the same time.
- madars 8y agoTechnical interpretation of the name would indeed exclude it: if W=false, and X=false, then W^X does not hold (W^X also evaluates to false).
- vbezhenar 8y agoWhich Linux distributions use W^X system-wide?
- knorker 8y agoWhat exactly are you saying they "invented"?
- asveikau 8y agoNote it says W^X since release 3.3. That was in May 2003. Nearly 16 years ago. When OpenBSD was preaching about W^X and things like -fstack-protector, they really were novel ideas and Linux hadn't yet picked them up.
- knorker 8y agoThat's just not true. By default in an OS distribution, yes I do believe so. But by the time OpenBSD introduced it I'd been running it on Linux for years. I'm not wet behind the ears, here. I've been running OpenBSD since 2.1.