git: b88a1996e218 - stable/13 - fifo: Explicitly initialize generation numbers when opening
Mark Johnston
markj at FreeBSD.org
Tue Jul 27 01:49:35 UTC 2021
The branch stable/13 has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=b88a1996e2185b462f63108e96dd6f4226e8c7f6
commit b88a1996e2185b462f63108e96dd6f4226e8c7f6
Author: Mark Johnston <markj at FreeBSD.org>
AuthorDate: 2021-07-13 21:45:49 +0000
Commit: Mark Johnston <markj at FreeBSD.org>
CommitDate: 2021-07-27 01:46:45 +0000
fifo: Explicitly initialize generation numbers when opening
The fi_rgen and fi_wgen fields are generation numbers used when sleeping
waiting for the other end of the fifo to be opened. The fields were not
explicitly initialized after allocation, but this was harmless. To
avoid false positives from KMSAN, though, ensure that they get
initialized to zero.
Reported by: KMSAN
Sponsored by: The FreeBSD Foundation
(cherry picked from commit b9ca419a21d109948bf0fcea5c59725f1fe0cd7b)
---
sys/fs/fifofs/fifo_vnops.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/sys/fs/fifofs/fifo_vnops.c b/sys/fs/fifofs/fifo_vnops.c
index 33c2c8ab2951..d2a51de84fba 100644
--- a/sys/fs/fifofs/fifo_vnops.c
+++ b/sys/fs/fifofs/fifo_vnops.c
@@ -154,9 +154,9 @@ fifo_open(ap)
error = pipe_named_ctor(&fpipe, td);
if (error != 0)
return (error);
- fip = malloc(sizeof(*fip), M_VNODE, M_WAITOK);
+ fip = malloc(sizeof(*fip), M_VNODE, M_WAITOK | M_ZERO);
fip->fi_pipe = fpipe;
- fpipe->pipe_wgen = fip->fi_readers = fip->fi_writers = 0;
+ fpipe->pipe_wgen = 0;
KASSERT(vp->v_fifoinfo == NULL, ("fifo_open: v_fifoinfo race"));
vp->v_fifoinfo = fip;
}
More information about the dev-commits-src-all
mailing list