[CASE]
- id: case1
- title: Relative Path
- userspace root: [kernel/user/stage3/case1](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1)
- driver root: [kernel/drivers/stage3/case1](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/drivers/stage3/case1)

[OBJECTIVE]
- Match Stage1/Stage2 intensity by linking every claim to reproducible logs and worksheets.

[TRACE CLAIM BLOCK]
1. Entry/return pair integrity for do_filp_open.
2. Entry/return pair integrity for __d_alloc where applicable.
3. Error-pointer vs non-error-pointer branch classification.
4. Case-specific branch proof for Relative Path.

[REPORT ARTIFACTS]
- [case1_relative_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case1_relative_trace_report.md)
- [case6_symlink_loop_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case6_symlink_loop_trace_report.md)
- [case7_symlink_fast_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case7_symlink_fast_trace_report.md)
- [dcache_loop_analysis_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/dcache_loop_analysis_trace_report.md)
- [demo_at_fdcwd_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_at_fdcwd_trace_report.md)
- [demo_dup_names_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_dup_names_trace_report.md)
- [demo_o_path_dir_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_o_path_dir_trace_report.md)
- [demo_o_path_trace_report.md](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_o_path_trace_report.md)

[RAW LOG ARTIFACTS]
- [case1_relative_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case1_relative_dmesg.txt)
- [case6_symlink_loop_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case6_symlink_loop_dmesg.txt)
- [case7_symlink_fast_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/case7_symlink_fast_dmesg.txt)
- [dcache_loop_analysis_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/dcache_loop_analysis_dmesg.txt)
- [demo_at_fdcwd_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_at_fdcwd_dmesg.txt)
- [demo_dup_names_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_dup_names_dmesg.txt)
- [demo_o_path_dir_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_o_path_dir_dmesg.txt)
- [demo_o_path_dmesg.txt](https://github.com/raikrahul/what-happens-when-open-is-called/blob/main/kernel/user/stage3/case1/reports/demo_o_path_dmesg.txt)

<!-- AUTO-EMBED START -->
[AUTO] case=case1

[FOLDER] case1
[INTENT] path-init and walk fundamentals
[BASELINE_PROBES] do_sys_openat2;do_filp_open;path_openat;lookup_open;__d_alloc
[EXTRA_PROBES] path_init;link_path_walk;open_last_lookups;do_open;lookup_open
[EXPECTED_SIGNATURES] relative/open success;ENOENT on miss

================================================================================
[EMBED] case1_relative_trace_report.md (primary)
[SOURCE] kernel/user/stage3/case1/reports/case1_relative_trace_report.md
================================================================================
# Trace Report: case1_relative.c

- Userspace source: `kernel/user/stage3/case1/case1_relative/case1_relative.c`
- Driver source: `kernel/drivers/stage3/case1/trace_case1_relative/trace_case1_relative.c`
- Module: `trace_case1_relative`
- Binary: `kernel/user/stage3/case1/case1_relative/case1_relative`
- Run timestamp: `2026-02-15T23:31:47`
- Final status: `pass_probe_hits`

## Probe Counts
- do_filp_open.entry: 9
- do_filp_open.ret: 9
- __d_alloc.entry: 0
- __d_alloc.ret: 0

## Return Signature Counts
- ERR_PTR(-ENOENT) observed (fffffffffffffffe): 6
- Non-error pointer returns observed: 3

## Commands
make -C kernel/drivers/stage3/case1/trace_case1_relative
kernel/user/stage3/case1/case1_relative/case1_relative
sudo dmesg -C
sudo insmod kernel/drivers/stage3/case1/trace_case1_relative/trace_case1_relative.ko target_comm="case1_relative"
sudo rmmod trace_case1_relative

## Dmesg
`kernel/user/stage3/case1/reports/case1_relative_dmesg.txt`

================================================================================
[EMBED] case1_relative_dmesg.txt (primary)
[SOURCE] kernel/user/stage3/case1/reports/case1_relative_dmesg.txt
================================================================================
[38288.718432] [trace_case1_relative] loaded target_comm=case1_relative user=kernel/user/stage3/case1/case1_relative/case1_relative.c
[38288.720661] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37e54
[38288.720683] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720694] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37b44
[38288.720698] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720704] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37b24
[38288.720710] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720718] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37c64
[38288.720723] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720726] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37b44
[38288.720729] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720732] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37b44
[38288.720736] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=fffffffffffffffe
[38288.720739] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37d44
[38288.720744] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=ffff8dda306d2d80
[38288.720779] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37cf4
[38288.720785] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=ffff8dda306d2a80
[38288.720970] [trace_case1_relative] do_filp_open.entry pid=175396 comm=case1_relative dfd=4294967196 pathname=ffff8dda0a2d7000 op=ffffd0c953c37d64
[38288.720976] [trace_case1_relative] do_filp_open.ret pid=175396 comm=case1_relative ret=ffff8dda306d2d80
<!-- AUTO-EMBED END -->