mirror of
https://github.com/opnsense/src.git
synced 2026-06-05 14:54:21 -04:00
A race in g_part_wither() can lead to I/O being performed with a freed GEOM when the device disappears. Close the race as best as we can for now, following the code patterns from g_part_ctl_destroy() and g_part_ctl_undo(). This also fixes a leak, as g_wither_geom() does not wither providers, it only orphans them, so the partition entries would never get destroyed in g_wither_washer(). Note, this is not a complete fix, it can still race with g_part_start(), the race has merely been narrowed. Reviewed by: markj Sponsored by: Dell EMC Isilon |
||
|---|---|---|
| .. | ||
| g_part.c | ||
| g_part.h | ||
| g_part_apm.c | ||
| g_part_bsd.c | ||
| g_part_bsd64.c | ||
| g_part_ebr.c | ||
| g_part_gpt.c | ||
| g_part_if.m | ||
| g_part_ldm.c | ||
| g_part_mbr.c | ||
| g_part_vtoc8.c | ||