News for hackers. Stuff that matters.
Re:Linux kernel heap buffer overflow in fs_context.c since v... by erichocean on Thursday January 20, 2022 @06:56PM (#30017201)
> Mach, used in OSX, is a representative of those early days.

Mach, the microkernel, is not using in OS X and never has been.

Mach, the API, is used (mostly due to legacy reasons).

OS X has a Linux-style monolithic kernel (with legacy Mach APIs in userspace).

Re:Linux kernel heap buffer overflow in fs_context.c since v... by dippersauce on Thursday January 20, 2022 @11:38PM (#30019240)
>Mach, the microkernel, is not using in OS X and never has been.

The version of mach present in XNU is derived from OSFMK, which derives code from UoU's Mach 4 kernel, and from CMU's Mach 3 kernel. It contains improvements related to threading and contexts. It also definitely exists as more than an API. The code that makes up mach is present and identifiable, and thus is "in" XNU. [1]

>Mach, the API, is used (mostly due to legacy reasons).

See above. Abstractions are exposed, and traps are present, but this is not an API clone, it is mach, albeit modified from the original form. It was specifically chosen for its forward thinking benefits. Mach was not the basis for any major Apple OS prior to OS X. There were no "legacy reasons" to motivate its adoption.

>OS X has a Linux-style monolithic kernel (with legacy Mach APIs in userspace).

You do tend to see different opinions on this. Some argue macOS is a hybrid kernel, because it combines elements from a microkernel (mach), a monolithic kernel (BSD), and IOKit. A single address space is shared by the components though, which leads many to call it monolithic. [2]

1. https://github.com/apple/darwin-xnu/tree/main/osfmk

2. https://flylib.com/books/en/3.126.1.67/1/

Re:Linux kernel heap buffer overflow in fs_context.c since v... by pjmlp on Friday January 21, 2022 @03:27AM (#30020725)
Additionally macOS is going further down this path by moving kernel extensions into userspace.
Re:Linux kernel heap buffer overflow in fs_context.c since v... by dralley on Thursday January 20, 2022 @11:00PM (#30018971)
I thought Windows and OSX were closer to hybrid kernels, at least with respect to running a lot of their drivers in userspace.
Re:Linux kernel heap buffer overflow in fs_context.c since v... by dippersauce on Thursday January 20, 2022 @11:41PM (#30019260)
Almost every developer I have worked with considers NT and XNU to be hybrid at this point. Unfortunately, almost everything in the parent comment is incorrect.
Re:Linux kernel heap buffer overflow in fs_context.c since v... by erichocean on Friday January 21, 2022 @07:53PM (#30031943)
> Unfortunately, almost everything in the parent comment is incorrect.

Avie Tevanian would disagree, but what does he know?

P.s. Nice job regurgitating Wikipedia in your other comment, without understanding it. I guess with only 30 karma, you've got to get your HN points somehow… Next time, read the Wikipedia entry on Mach so you'll learn that Mach didn't even become an actual microkernel until version 3.0. OS X's XNU kernel branched at 2.5. Oops.