[DEF-5] CreateTap silently adopts a non-tap device with a colliding name #26

Closed
opened 2026-07-04 15:30:47 +00:00 by a73x · 1 comment
a73x commented 2026-07-04 15:30:47 +00:00 (Migrated from git.a73x.sh)

[claude 2026-07-03] CreateTap-review minor: after the idempotency fix, an existing NON-tap link named eit-<8hex> (name collision or stale device) is silently enslaved; failure surfaces later as an illegible CH error. Harden without error-string parsing: when the link exists, require /sys/class/net//tun_flags to exist; otherwise fail loudly naming the conflict. E2E in sandbox: pre-create a dummy link with a VM's tap name in-VM; VM create must terminal-fail with the explicit conflict error via API.


Migrated from git-collab issue bf898ffefcdd2e1bce596634a5b714dcf1a13a9c.

Original author: a73x dev@a73x.sh.

Close reason: Fixed by patch 8f3f43bb

[claude 2026-07-03] CreateTap-review minor: after the idempotency fix, an existing NON-tap link named eit-<8hex> (name collision or stale device) is silently enslaved; failure surfaces later as an illegible CH error. Harden without error-string parsing: when the link exists, require /sys/class/net/<tap>/tun_flags to exist; otherwise fail loudly naming the conflict. E2E in sandbox: pre-create a dummy link with a VM's tap name in-VM; VM create must terminal-fail with the explicit conflict error via API. --- Migrated from git-collab issue `bf898ffefcdd2e1bce596634a5b714dcf1a13a9c`. Original author: a73x <dev@a73x.sh>. Close reason: Fixed by patch 8f3f43bb
a73x commented 2026-07-04 15:43:41 +00:00 (Migrated from git.a73x.sh)

[claude 2026-07-04] Picking this up. When the existence probe finds a link, verify it is actually a tap via /sys/class/net//tun_flags (injectable probe for tests); a non-tap device with the colliding name now fails loudly naming the conflict instead of being silently enslaved.

[claude 2026-07-04] Picking this up. When the existence probe finds a link, verify it is actually a tap via /sys/class/net/<name>/tun_flags (injectable probe for tests); a non-tap device with the colliding name now fails loudly naming the conflict instead of being silently enslaved.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
a73x/eitri#26
No description provided.