Skip to content
View sairex53's full-sized avatar

Block or report sairex53

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
sairex53/README.md

sairex53

A crash is a symptom. I'm interested in what caused it.

I spend most of my time exploring Linux internals — tracing kernel behavior, investigating bugs, reading source code, and building tools to make complicated failures easier to understand.

My focus is Linux kernel development, C/C++, eBPF, systems programming, and low-level debugging.

I'm particularly interested in the problems that don't have obvious answers: reference-counting mistakes, unexpected kernel behavior, memory corruption, and failures that only appear under specific conditions.

Where I focus

  • Linux kernel & syzbot — reproducing reported bugs, investigating root causes, testing fixes, and working toward upstream patches.
  • eBPF & tracing — kernel instrumentation, fentry/kprobes, BTF, CO-RE, and understanding what actually happens at runtime.
  • C/C++ & Linux internals — systems utilities, process state, namespaces, cgroups, memory, and low-level interfaces.
  • Reverse engineering & security research — examining implementation details, understanding unexpected behavior, and investigating vulnerabilities.

I'm more interested in understanding why something fails than making the symptoms disappear.

Things I'm building

Investigating Linux kernel object lifetimes and reference-counting bugs.

RefScope is an experimental eBPF-based tracing and offline analysis tool.

It captures selected kernel operations, reconstructs per-object event timelines, and compares separate runs to identify suspicious differences in reference behavior.

The goal is to make investigating use-after-free bugs, reference leaks, and incorrect object lifetime management less dependent on guesswork.

Currently a research prototype. Synthetic tests are passing, but validation against a reproduced real-world kernel bug is still in progress.

When two Linux processes behave differently, find out what's different.

A C utility for comparing process execution environments, including namespaces, cgroups, mounts, credentials, security settings, and runtime state.

Designed to make subtle differences between shells, services, containers, and other Linux environments easier to inspect.

Beyond my own repositories

I'm interested in contributing to existing projects rather than building everything from scratch.

My priorities are Linux kernel fixes, eBPF tooling, debuggers, tracing infrastructure, and system utilities that other developers actually depend on.

Merged contributions

  • libarchive #3709 — fixed oversized RAR symlink allocations. Added an AddressSanitizer regression reproducer, verified the failure before the fix, and passed the RAR test suite. Merged into master.
  • yasbd-lib #365 — added a directory-to-JSONL dataset conversion utility, including output-path validation following maintainer review.

Linux kernel patches

  • hwmon / ibm-cffps — fixed -Wformat-truncation warnings in firmware version formatting. Accepted by the hwmon subsystem maintainer.

Work under review

  • bcc #5571 — multiarch UAPI header resolution for BPF builds, validated on Debian amd64 and Fedora aarch64.
  • bcc #5572 — improved handling of ENOSPC in Python BPF batch map lookups, with nine regression tests.
  • bcc #5570 and bcc #5569 — Lua compiler and tracepoint parsing fixes, with targeted regression coverage.

The BCC PRs remain open. Live BPF testing was limited by unavailable kernel capabilities in the test environment.

I want to contribute changes that are reproducible, technically justified, tested, and useful beyond my own machine.

Upstream work

  • bcc #5571 — proposed host multiarch UAPI header resolution for BPF builds, reproduced and validated on Debian amd64 and Fedora aarch64.
  • bcc #5572 — proposed safer handling of ENOSPC during Python BPF batch map lookups, with nine regression tests.
  • bcc #5570 and bcc #5569 — proposed Lua compiler and tracepoint parsing fixes, each with targeted regression coverage.
  • yasbd-lib #365 — merged directory-to-JSONL example, with output-path validation added after review feedback.

The BCC PRs are still open. Their descriptions document the test limits; live BPF checks requiring kernel capabilities were unavailable in the test environment.

I want to contribute changes that are reproducible, technically justified, tested, and useful beyond my own machine.

Tools of the trade

Languages: C · C++ · Assembly · Bash

Systems: Linux · Linux Kernel · eBPF · libbpf · BTF · CO-RE · AArch64

Debugging & development: GDB · QEMU · Clang/LLVM · Git · Kernel Tracing

Areas of interest: Kernel Debugging · syzbot · Memory Safety · Reverse Engineering · Vulnerability Research

What I'm looking for

I'm open to open-source collaboration, paid low-level development, and remote engineering opportunities involving Linux, C/C++, kernel debugging, eBPF, and systems tooling.

I'm especially interested in working with people who maintain real software, investigate difficult bugs, or build tools used by other developers.

If you have a reproducible Linux issue, a difficult debugging problem, or a systems project worth contributing to, I'd be interested in discussing it.

You can reach me through the contact link on my GitHub profile.


Reproduce → Trace → Understand → Fix → Verify

Less guesswork. Better tools. Fewer unexplained bugs.

Pinned Loading

  1. nsdiff nsdiff Public

    Linux process environment and runtime state comparison tool written in C.

    C 1

  2. refscope refscope Public

    Experimental Linux kernel reference-event capture and offline lifetime analysis tool

    Python 1