Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Jul 2021 01:49:34 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: b88a1996e218 - stable/13 - fifo: Explicitly initialize generation numbers when opening
Message-ID:  <202107270149.16R1nY1j067331@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=b88a1996e2185b462f63108e96dd6f4226e8c7f6

commit b88a1996e2185b462f63108e96dd6f4226e8c7f6
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2021-07-13 21:45:49 +0000
Commit:     Mark Johnston <markj@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;
 	}



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202107270149.16R1nY1j067331>