Hi, I’m Marcos

Welcome to my personal homepage

Five commands to crash the kernel

A tcindex tale

August 22, 2023

From zero to double free: The process of creating a reproducer for a kernel vulnerability

… or my personal journey of reading code and triggering behaviors.

March 9, 2023

Btrfs for mere mortals: inode allocation

… or how btrfs manages its inodes when compared to other Linux filesystems, from the inside.

April 25, 2022

Btrfs: Resolving the logical-resolve

logical-resolve inside out

February 27, 2021

btrfs: Differentiating bind mounts on subvolumes

Explaining how to differentiate bind mounts on btrfs subvolumes

February 16, 2021

btrfs: making "send" more "capable"

The tale of fixing a problem of send/receive on btrfs.

May 14, 2020

New btrfs feature: Delete subvolumes using subvolume ids

Literally, btrfs subvolume delete 2.0

January 23, 2020

Kernel Adventures: Enabling VPD Pages for USB Storage Devices in sysfs

USB with VPD on sysfs

August 16, 2019

Kernel Adventures: Are USB Sticks Rotational Devices?

Understanding why USB devices are usually set as rotational devices on Linux

August 7, 2019

NO_NEW_PRIVS: avoiding privilege escalation

… or how to avoid turning your app into an exploit.

May 22, 2018