Commit 23d3fbe
committed
fix(install): set DM_DISABLE_UDEV=1 in global_init as defense-in-depth for dm semaphore deadlock
Move DM_DISABLE_UDEV=1 from a standalone function in baseline.rs to
global_init() in cli.rs, alongside the existing HOME workaround. This
is defense-in-depth for the IPC namespace semaphore deadlock that causes
cryptsetup luksOpen/luksClose to hang inside containers with isolated
IPC namespaces.
The primary fix is to run the install container with --ipc=host, which
shares the host IPC namespace and allows libdevmapper's udev cookie
semaphores to reach udevd. The env var catches cases where IPC sharing
is not configured.
Fixes: #2089
Related: #421, #477
Signed-off-by: Andrew Dunn <andrew@dunn.dev>
AI-Assisted: yes
AI-Tools: GitLab Duo, OpenCode1 parent adab93e commit 23d3fbe
2 files changed
Lines changed: 12 additions & 3 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1493 | 1493 | | |
1494 | 1494 | | |
1495 | 1495 | | |
| 1496 | + | |
| 1497 | + | |
| 1498 | + | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
1496 | 1505 | | |
1497 | 1506 | | |
1498 | 1507 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
23 | 23 | | |
24 | 24 | | |
25 | 25 | | |
| 26 | + | |
26 | 27 | | |
27 | | - | |
28 | | - | |
29 | 28 | | |
30 | 29 | | |
31 | | - | |
| 30 | + | |
| 31 | + | |
32 | 32 | | |
33 | 33 | | |
34 | 34 | | |
| |||
0 commit comments