Posts
499
Following
97
Followers
113
A relatively new professional kernel hacker, born in August 6, 2000, and living in Korea (South!).

- Linux Kernel Developer @ Oracle (Linux Kernel MM) (2025.02 ~ Present)
- Reviewer for the Linux Slab & Reverse Mapping subsystem
- Former Intern @ NVIDIA, SK Hynix, Panmnesia (Security, MM and CXL)
- B.Sc. in Computer Science & Engineering, Chungnam National University (Class of 2025)

Opinions are my own.

My interests are:
Memory Management,
Computer Architecture,
Circuit Design,
Virtualization

Oh good, some undocumented (in fact - man page implies you CANNOT DO IT) mremap() behaviour that even I, who have rewritten the entirety of mremap() code missed... + then accidentally removed...

Tests and documentation incoming...

1
1
1

Harry (Hyeonggon) Yoo

Recently, I was debugging some intermittent boot failures and discovered that, on x86, forgetting to synchronize kernel page tables when installing new PGD entries can lead to kernel crashes.

Most of the time, PGD entries are populated during the boot process, and new tasks inherit page tables derived from the swapper process, so everything works fine.

However, if you're adding memory at runtime via memory hotplugging and populating new PGD entries for the vmemmap (i.e., the struct page array) and the direct mapping area, you need to iterate over all page tables in the system and update them accordingly to make it visible to all tasks.

Failing to handle this properly can lead to a situation where you think the page tables are set up correctly, but in reality, only init_mm.pgd (page table of the swapper process) was updated, not the page table of current task. This leads to kernel crashes since the PGD entry is not set up properly.

x86 code has mechanisms to handle this kind of synchronization, but it’s easy to be overlooked and introduce kernel crashes as the code evolves. Here’s my patch series that addresses the issue and aims to make it more robust: https://lore.kernel.org/linux-mm/20250709131657.5660-1-harry.yoo@oracle.com/
0
1
7

I got ask how to get into kernel development. Basically asking for a starting point to work (simple bugs etc). I don't know a good answer and kernelknewbies seems also pretty outdated. Any ideas?

4
1
1

GNU Butt

8
3
0

Jonathan Corbet

It took a long time and over 60 articles but, at @lwn, we have finally managed to complete our reporting from the 2025 Linux Storage, Filesystem, Memory Management, and BPF Summit. If you want to know what is going on in those core parts of the kernel, this is the place to look.

We've put together an EPUB version of the whole set as well — good bedtime reading!

https://lwn.net/Articles/1026338/
1
30
57

Harry (Hyeonggon) Yoo

Edited 1 month ago
How does the kernel manage LRU lists and perform memory reclaim when memory cgroup feature is enabled? I wrote an article to answer that question.

Memory Cgroup Naturalization in the Linux Kernel v3.3
https://vmscan.org/memory-cgroup-naturalization-in-the-linux-kernel-v33

In the early days, memory cgroup was “bolted onto” the memory management subsystem, using a double-LRU scheme: each page was linked to both global and per-memcg lists—leading to a moderate memory overhead and complicating reclaim logic.

Linux v3.3 changed that. Memory cgroups were fully integrated into the MM core, global LRU lists were removed on memcg-enabled systems, and global reclaim began walking memcg hierarchy and scanning the per-memcg LRU lists, scanning each group in proportion to its memory usage.

This reduced memory overhead and simplified the reclaim code. More details in the article!
0
4
5

Linux 6.15 Released With Continued Rust Integration, Bcachefs Stabilizing

As anticipated the Linux 6.15 kernel is out today in stable form. Linux 6.15 brings a lot of new hardware support, security improvements, various other kernel innovations, and more...
https://www.phoronix.com/news/Linux-6.15-Released

0
1
1

i hope the nvidia driver doesn't crash

0
23
4

le petit printf 🇺🇦🇨🇿👃💨

then: "when I grow up I'll be programming computers"
now: "i vibepirated code i wrote"

0
3
3

Harry (Hyeonggon) Yoo

0
0
2

Harry (Hyeonggon) Yoo

Edited 2 months ago
Recently started learning how memory cgroup in the Linux kernel works, so started writing articles about it. The first posting for my English blog vmscan.org!

A brief look at memory cgroup controller introduced in the Linux kernel v2.6.25.
https://vmscan.org/a-brief-look-at-memory-cgroup-controller-introduced-in-linux-kernel-v2625
0
4
8

Harry (Hyeonggon) Yoo

Edited 2 months ago
I have been spending seven hours every Saturday studying the Linux kernel with a study group for years. It's been fun, but over time, I started to feel like I wasn’t spending my time wisely. I have to accept the fact that I don’t have enough time to regularly look at anything outside of MM.
0
0
2

Harry (Hyeonggon) Yoo

Edited 2 months ago
I tried GPT-o3 (which uses 'advanced reasoning') to review slab patches to see if it works, and it generated many false comments. :P Less advanced than I expected.
0
0
1

Spot on advice for any field.

For gym motivation is useless, it's all discipline, your test is on a day when you 100% hate it and want to do ANYTHING ELSE.

Music is my hobby but barely done any, because it is work really, a different kind, but if you want to get anywhere with it, you have to have the same discipline.

But I plan to apply the same gym-like discipline to that to get what I want out of it.

And of course this goes for kernel work too, obviously.

https://www.youtube.com/watch?v=4pw1tmGh3dk

0
1
1

Harry (Hyeonggon) Yoo

Edited 2 months ago
Blogging time after a long time.
/me again realizes that things not documented are quickly reclaimed from memory.
1
0
2

Harry (Hyeonggon) Yoo

Edited 4 months ago
Oh, I didn't know a CVE can be assigned to my bug fix without me requesting or realizing it. I thought (despite not being a security expert) it was not a 'fun' bug to exploit for attackers.

https://nvd.nist.gov/vuln/detail/CVE-2025-21860
0
0
1

Vlastimil Babka 🇨🇿🇪🇺🇺🇦

Well well, look what the cat dragged in
https://nostarch.com/linux-memory-manager

4
14
2

Very happy to announce my book The Linux Memory Manager is now available to pre-order at

https://nostarch.com/linux-memory-manager

It's a comprehensive 1,300 page exploration of how memory functions in Linux that goes into great depth on the subject, and is the first book of its kind for 20 years :)

14
37
5
Show older