News for hackers. Stuff that matters.

jstarks

Re:New gTLD Application for .lan on Thursday October 08, 2026 @12:03PM (#50007523)
What could go wrong using tlds that were not explicitly reserved for internal use?
Re:Mold Linker Version 3.0.0 Release – Rewritten in Rust on Monday October 05, 2026 @02:05PM (#49968250)
What? Why would mold be particularly valuable for early stage compilation, to the point that you’d explicitly cater to that user base?
Re:A 40ms Go garbage collector pause caused by swap on Monday October 05, 2026 @02:55AM (#49961502)
You don’t need an api. Just touch the page.
Re:Linux Sandboxes and Fil-C on Sunday December 14, 2025 @08:20PM (#46269180)
All I’m really hearing is that this guy rubs you the wrong way, so you’re not going to give him the benefit of the doubt that you’d give to others.

I mean, maybe you’re right that his personality will turn everyone off and none of this stuff will ever make it upstream. But that kind of seems like a problem you’re actively trying to create via your discourse.

Re:Without the Futex, It's Futile on Tuesday August 19, 2025 @03:31PM (#44955367)
Well, technically both WaitOnAddress and SRWLOCK use the same "wait/wake by thread ID" primitive. WaitOnAddress uses a hash table to store the thread ID to wake for an address, whereas SRWLOCK can just store that in the SRWLOCK itself (well, in an object on the waiter's stack, pointed to by the SRWLOCK).
Re:There is no memory safety without thread safety on Thursday July 24, 2025 @01:32PM (#44673552)
> If you want to claim that a language is memory-unsafe, POC || GTFO.

There's a POC right in the post, demonstrating type confusion due to a torn read of a fat pointer. I think it could have just as easily been an out-of-bounds write via a torn read of a slice. I don't see how you can seriously call this memory safe, even by a conservative definition.

Did you mean POC against a real program? Is that your bar?

What about ROL r/m16, 8?
Re:Linux Syscall Support on Thursday November 07, 2024 @11:22AM (#42078034)
I guess if the arch’s varargs conventions do something other than put each 32-bit value in a 64-bit “slot” (likely for inputs that end up on the stack, at least), then some of the arguments will not line up. Probably some of the last args will get combined into high/low parts of a 64-bit register when moved into registers to pass to the kernel. And then subsequent register inputs will get garbage from the stack.

Need to cast them to long or size_t or whatever to prevent this.

Re:The C23 edition of Modern C is now available for free on Wednesday October 16, 2024 @11:11AM (#41860015)
No inline functions in library headers, then.
Re:Microsoft Open Sources OpenHCL, a Linux-Based 'Paravisor' on Tuesday September 24, 2024 @03:57PM (#41640261)
Despite the title, it's not actually open source yet. Soon!
Re:QUIC Is Not Quick Enough over Fast Internet on Monday September 09, 2024 @11:03AM (#41489174)
Your NIC can already access arbitrary RAM via DMA. It can read your keys already.
I think the MPL attempts to be that license.
Re:Do you still count on your fingers? on Sunday June 16, 2024 @07:28PM (#40700960)
Supposedly “ampersand” comes from when the alphabet song/rhyme used to end in “and ‘per se’ and”. School kids mushed it together into “ampersand”, and over time it became the name for &.
Do you find this problematic?
Re:Anime is a $25B industry that pays its animators pennies on Saturday January 20, 2024 @10:29PM (#39075257)
> As for animators having to find new work... good?

Isn’t this a paternalistic point of view? Why do you know better than the animators who are accepting these jobs? Who are you to tell them that their career choice is wrong?

Re:So you want custom allocator support in your C library on Sunday December 17, 2023 @11:53PM (#38679362)
I can’t agree. Combining alloc and free into one API is a false economy. You’re not really going to save any significant amount of space, and at best you’ll have an extra predictable branch or two (but probably unpredictable, I’d guess).

More importantly, it’s harder to interpret the calling code’s intent in the edge cases. What does alloc(NULL, 0) mean? Did the caller try to free a null pointer, or allocate a zero-byte object? With separate functions, you can support either or both or neither, but with the combined model the only safe thing is to support neither and panic, lest you interpret an alloc as a free or vice versa.

You could also just cut a trace on the motherboard and it would type out the UPC codes unencoded.
Re:We Replaced Firecracker with QEMU on Monday July 10, 2023 @10:58AM (#36667405)
Keep fighting the good fight, friend.

Although I’ll note that the line between a VMM and hypervisor are not always clear. E.g., KVM includes some things that other hypervisors delegate to the VMM (such as instruction completion). And macOS’s hypervisor.framework is almost a pass through to the CPU’s raw capabilities.

If looking at types is the least useful way to enforce versioning, then what are _any_ better ways?
I think Spintronics resistors will resist motion with a force proportional to rotational speed, which I think follows from the resistance coming from oil in the bearings. So the torque will be the same for both resistors (since the battery applies constant torque), but the speed at which the resistors apply this torque will be different by a factor of two.
NT4 already had the graphics stack in kernel mode.
Re:macOS Subsystem for Linux on Monday September 19, 2022 @10:33AM (#32898865)
Yes. But user space can take dependencies on features we didn’t implement yet or we implemented incorrectly or that have bugs in combinations with other features. E.g., more software is starting to depend on namespace features that we implemented incompletely in earlier versions of WSL1. So Docker worked for a while until they starting using a different subset of kernel features, for example.

At another point, glibc started depending on more precise behavior of CLONE_VFORK, which we originally didn’t implement fully. So essentially all of user space was broken. We fixed it as soon as we could, but I think glibc may have added a workaround, too. I feel bad that the community had to work around our bugs.

Re:macOS Subsystem for Linux on Monday September 19, 2022 @08:07AM (#32897208)
We work very closely across the file system, kernel, and virtualization teams, so I don’t think we can blame Conway’s Law for WSL2. And actually our WSL1 fork performance wasn’t too bad IIRC—we have real fork at the Windows kernel level, it’s just not something that can realistically work with the Win32 programming model. I also think we will eventually resolve the file system performance issues.

No, the most important reason to choose a VM instead of a reimplementation of the Linux ABI is long tail compatibility. You can’t realistically replicate and then keep up with every corner of the Linux kernel’s interface. And so with WSL1, software will randomly not work, or it will randomly break after an apt upgrade, and users will get frustrated and switch to a VM anyway. Might as well get perfect compatibility and still have nice integration with Windows via the WSL2 approach.

Re:Userspace FUSE for macOS on Monday September 05, 2022 @11:21PM (#32732413)
In Windows we actually have a way to set the parent directory for a UDS bind or connect, via a socket ioctl. It’s not documented yet, but it’s in the header.
Re:QEMU 7.0 on Wednesday April 20, 2022 @11:49AM (#31098699)
Yes, we were very excited to get WHP (Windows Hypervisor Platform) support integrated. Before that, you could only use it with the HAXM hypervisor on Windows, which conflicts with the Windows hypervisor (used by Hyper-V, WSL2, and the Windows Subsystem for Android).
Re:COM+ Revisited on Sunday January 30, 2022 @02:30PM (#30140274)
Care to elaborate?
Re:I don’t know how to count that low on Monday October 25, 2021 @12:58PM (#28990161)
What is a broccoli?
Unless I'm missing something, that link refers to building Android user-mode components in Rust, not kernel components in Rust.
Re:Checked C on Friday February 19, 2021 @12:00PM (#26195135)
Tell that to Annex K... Getting something into the spec isn't enough.
Re:Wayland Keylogger on Saturday January 30, 2021 @02:39PM (#25972229)
Why does this say (2021) when the last commit was in 2014?

Older »