git: b9ca419a21d1 - main - fifo: Explicitly initialize generation numbers when opening
Mark Johnston
markj at FreeBSD.org
Tue Jul 13 22:17:21 UTC 2021
The branch main has been updated by markj:
URL: https://cgit.FreeBSD.org/src/commit/?id=b9ca419a21d109948bf0fcea5c59725f1fe0cd7b
commit b9ca419a21d109948bf0fcea5c59725f1fe0cd7b
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-13 21:45:49 +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
MFC after: 2 weeks
Sponsored by: The FreeBSD Foundation
---
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-main
mailing list