freebsd-src/sys/geom
Justin Hibbits 08a3b42fdb Narrow a race, and fix a leak, in g_part_wither
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
2018-02-13 17:40:09 +00:00
..
bde sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
cache sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
concat sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
eli When building standalone, include stand.h rather than the kernel 2017-12-05 21:37:32 +00:00
gate sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
journal Null out journal softc pointer earlier to avoid a segment fault 2018-01-31 23:30:49 +00:00
label After r328426, g_label depends on UFS (option FFS) code to read UFS 2018-02-03 09:15:13 +00:00
linux_lvm sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
mirror Simplify synchronization read error handling. 2018-02-06 16:02:33 +00:00
mountver sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
multipath sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
nop gnop(8): add the ability to set a nop provider's physical path 2018-01-18 05:57:10 +00:00
part Narrow a race, and fix a leak, in g_part_wither 2018-02-13 17:40:09 +00:00
raid Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
raid3 sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
sched sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
shsec sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
stripe sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
uzip Revert r327828, r327949, r327953, r328016-r328026, r328041: 2018-01-21 15:42:36 +00:00
vinum sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
virstor geom: don't write stack garbage in disk labels 2018-02-04 14:49:55 +00:00
zero sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom.h Refactoring of reading and writing of the UFS/FFS superblock. 2018-01-26 00:58:32 +00:00
geom_aes.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_bsd.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_bsd_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_ccd.c geom_ccd.c: Fix the licenses properly 2017-12-30 02:07:18 +00:00
geom_ctl.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_ctl.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_dev.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_disk.c geom_disk / scsi_da: deny opening write-protected disks for writing 2018-01-15 11:20:00 +00:00
geom_disk.h geom_disk / scsi_da: deny opening write-protected disks for writing 2018-01-15 11:20:00 +00:00
geom_dump.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_event.c Instrument "boot holds" for the benefit of the TSLOG framework. These 2017-12-31 09:23:52 +00:00
geom_flashmap.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_fox.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_int.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_io.c Refactoring of reading and writing of the UFS/FFS superblock. 2018-01-26 00:58:32 +00:00
geom_kern.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_map.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_mbr.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_mbr_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_redboot.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_slice.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_slice.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_subr.c Do pass removing some write-only variables from the kernel. 2017-12-25 04:48:39 +00:00
geom_sunlabel.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_sunlabel_enc.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vfs.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vfs.h sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
geom_vol_ffs.c sys/geom: adoption of SPDX licensing ID tags. 2017-11-27 15:17:37 +00:00
notes