Hacker Blogs
Work in progress: 15,409 of 181,233 sites checked so far, more every week · updated 2 Nov 2026Missing a blog? Tell us

Top all-time · #2427

G

Geoffrey Thomas

Personal blog · ldpreload.com · on HN as geofftsystemsprogramming

Geoffrey Thomas's personal blog at ldpreload.com covers systems and programming. Since 2015, 34 different Hacker News readers have linked it 46 times, most often “Signalfd Is Useless (2015)”. The last post was in 2018, but the archive is still widely read.

Visit the blog
46mentions?
34HN people?
2015–2026first – last linked?
Links on Hacker News per year · peak 9 in 2018

The author on HN?

geofft · 29,438 karma · member since 2012

https://ldpreload.com/ @geofft on Twitter and GitHub; also that username at that domain name for email. I live in Brooklyn, NY, and can generally be found thinking too hard about kernels, linkers, or crypto. 'lizdenys and I make a podcast about practical personal digital security: https://looseleafsecurity.com or search for "Loose Leaf Security" on your favorite podcast app.

From their public HN profile, which links to this site.

Most-linked posts?

  1. Signalfd Is Useless (2015)
    14 people · 14 mentions · first linked 2015-05-17
  2. Hostnames and usernames to reserve
    5 people · 6 mentions · first linked 2015-11-26
  3. Finding a kernel regression in half an hour with git bisect run (2018)
    5 people · 5 mentions · first linked 2018-03-07
  4. Smashing the heap by overflowing the stack
    3 people · 5 mentions · first linked 2015-07-07
  5. Nine reasons Python Sucks
    3 people · 3 mentions · first linked 2018-12-19
  6. /p/kernel-modules-in-rust-lssna2019.pdf
    2 people · 6 mentions · first linked 2019-08-30
  7. SSH ControlMaster and ControlPath (2014)
    2 people · 2 mentions · first linked 2024-02-12
  8. Signalfd is useless
    2 people · 2 mentions · first linked 2015-05-18

What Hacker News says?

  1. > He clearly can separate the blunt stubbornness ("we do not break userland, period") For what it's worth, he doesn't even avoid breaking userland. Off the top of my head, we had a problem at work a few months back where kernel 4.3 and below rounded up listen(fd, 0) to something nonzero, kernel 4.4 didn't, and a piece of commercial software was (inexplicably) using listen(fd, 0). https://ldpreload.com/blog/git-bisec…

    Comment linking /blog/git-bisect-run

    on “Linus Torvalds apologizes for his behavior, takes time off”
  2. Submitted Finding a kernel regression in half an hour with git bisect run (2018) as a story · 209 points

    HN discussion
  3. Related: a list of names that probably should be reserved (for example, to prevent someone setting up a user-profile page at a URL you don't want them to control): https://ldpreload.com/blog/names-to-reserve

    Comment linking /blog/names-to-reserve

    on “Naughty Strings: A list of strings likely to cause issues as user-input data”
  4. Submitted Hostnames and usernames to reserve as a story · 206 points

    HN discussion
  5. This is good, but it's sad that #!/usr/bin/env python will no longer work as the go-to shebang since python won't exist, only python3 will exist by default. Geofft[1] has a nifty solution but it's not as cross platform as the old tride-n-true #!/usr/bin/env python: #!/bin/sh """"type python3 >/dev/null 2>&1 && exec python3 "$(readlink -f "$0")" "$@" #""" """"exec python "$(readlink -f "$0")" "$@" #""" [1] https://ld…

    Comment linking /blog/usr-bin-python-23

    on “Python 2 will be replaced with Python 3 in the next RHEL major release”
  6. Submitted Signalfd is useless as a story · 105 points

    HN discussion
  7. Frankly, one of the best things we could do to help this hypothetical future language be adopted is to have precedent for Linux using another language. We're really trying two things here - getting Linux to use some Rust, and getting Linux to use some other language, with an independent compiler. That second part is pretty significant by itself (we've had discussions about build systems, compiler ABI bugs, etc.), an…

    Comment linking /p/kernel-modules-in-rust-lssna2019.pdf

    on “An RFC that adds support for Rust to the Linux kernel”
  8. Submitted Signalfd Is Useless (2015) as a story · 69 points

    HN discussion
  9. Check out out slides 20-21 from Linux Security Summit 2019 - there are specific reasons why Linux didn't like C++ that don't apply to Rust. https://ldpreload.com/p/kernel-modules-in-rust-lssna2019.pdf Basically, we think (and we hope Linus agrees) that Rust has the relevant benefits of C++ without the downsides that have so far kept C++ from being adopted. (It has other great features that C++ doesn't have like comp…

    Comment linking /p/kernel-modules-in-rust-lssna2019.pdf

    on “An RFC that adds support for Rust to the Linux kernel”
  10. Submitted Smashing the heap by overflowing the stack as a story · 28 points

    HN discussion
  11. Here's our presentation at Linux Security Summit last year outlining why I think you can legitimately object to C++ and not Rust for this particular use case: https://youtu.be/RyY01fRyGhM?t=313 (alternatively, slides 19-21 of https://ldpreload.com/p/kernel-modules-in-rust-lssna2019.pdf )

    Comment linking /p/kernel-modules-in-rust-lssna2019.pdf

    on “Linux kernel in-tree Rust support”
  12. Submitted Hostnames and Usernames to Reserve as a story · 4 points

    HN discussion
  13. I don't know Linus's reasons specifically, but our presentation at Linux Security Summit last year laid out why we think that Linus's past objections to C++ don't apply to Rust. See slides 19-21 of https://ldpreload.com/p/kernel-modules-in-rust-lssna2019.pdf . His previous objections were: In fact, in Linux we did try C++ once already, back in 1992. It sucks. Trust me - writing kernel code in C++ is a BLOODY STUPID…

    Comment linking /p/kernel-modules-in-rust-lssna2019.pdf

    on “Linux kernel in-tree Rust support”
  14. Submitted Nine reasons Python Sucks as a story · 4 points

    HN discussion
  15. "signalfd is useless" is a good article: https://ldpreload.com/blog/signalfd-is-useless It goes into the problems with Unix signals, and then explains why Linux's attempt to solve them, signalfd, doesn't work well.

    Comment linking /blog/signalfd-is-useless

    on “Writing a Unix clone in about a month”
  16. Submitted Signalfd is useless as a story · 4 points

    HN discussion
  17. The program in this blog post https://ldpreload.com/blog/stack-smashes-you corrupts memory despite being well-defined C. If you think that program should output what it actually does, I think you need to point to the line of the spec that allows it to behave that way. Stack probing isn't the only option. Other options include fixed maximum sized stacks, architectures with separate stack and heap address spaces, etc.

    Comment linking /blog/stack-smashes-you

    on “System Down: A systemd-journald exploit”
  18. Submitted 9 Reasons Python Sucks as a story · 3 points

    HN discussion
  19. We're working on it: https://github.com/fishinabarrel/linux-kernel-module-rust Check out the demo in PR #122, which lets you create three boolean sysctls and a character device that prints the state of those sysctls in JSON (using serde). We gave a talk about it last week at Linux Security Summit, I'll submit it once the recording is up :) Slides are at https://ldpreload.com/p/kernel-modules-in-rust-lssna2019.pdf .

    Comment linking /p/kernel-modules-in-rust-lssna2019.pdf

    on “Linux kernel drivers in Rust might become an option in the future”
  20. Submitted Finding a kernel regression in half an hour with Git bisect run as a story · 3 points

    HN discussion
  21. If you're looking for a background on the attack itself, I did a writeup of the basic attack some time ago at https://ldpreload.com/blog/stack-smashes-you . The new thing is that Qualys has developed this into a real class of exploits against lots of software; I think we all thought that it was relatively rare to run into this vulnerability.

    Comment linking /blog/stack-smashes-you

    on “The Stack Clash”
  22. Submitted SSH ControlMaster and ControlPath (2014) as a story · 2 points

    HN discussion
  23. The "signalfd is useless" article comes up every so often. The title might be an exaggeration, but there are problems to be aware of: https://ldpreload.com/blog/signalfd-is-useless In fact it looks like geofft is in this thread below :)

    Comment linking /blog/signalfd-is-useless

    on “Linux Programming: Signals the easy way”
  24. Submitted Stupid tricks at the userspace/kernelspace boundary as a story · 2 points

    HN discussion
  25. > So when you build a web mail system you need to explicitly blacklist those five email addresses … Actually, you should blacklist all of the addresses listed in RFC 2142¹. Also consider this blog post for additional addresses to block: https://ldpreload.com/blog/names-to-reserve 1. https://tools.ietf.org/html/rfc2142

    Comment linking /blog/names-to-reserve

    on “Issue with TLS-SNI-01 and Shared Hosting Infrastructure”
  26. Submitted Hostnames and Usernames to Reserve (2015) as a story · 2 points

    HN discussion
  27. There was a bug in a released kernel I ended up having to hunt down back last summer. It required a very specific set of circumstances to actually trigger the bug, but luckily for us we found some obvious side effects from the bug such that it was possible to get the relevant information via a very simple statically compiled C program (there would be a certain value under /sys). I used that C program as the initramf…

    Comment linking /blog/git-bisect-run

    on “How is the Linux kernel tested?”
  28. Submitted Finding a kernel regression in half an hour with Git bisect run as a story · 2 points

    HN discussion
  29. UNIX signals *do not* queue. If two or more signals with the same number are sent faster than the receiving thread handles them (due to the signal being blocked and/or the thread not being scheduled), all but the last will be lost irrevocably. There is no mechanism to prevent this. https://ldpreload.com/blog/signalfd-is-useless

    Comment linking /blog/signalfd-is-useless

    on “Building a message queue with only two UNIX signals”
  30. Submitted Signalfd is useless (2015) as a story · 2 points

    HN discussion

Search all of HN for ldpreload.com

Linked by the same people?