The branch main has been updated by markj:

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

commit 710c055673b3a39ff6e5fdf0bef49437d1e0c9a3
Author:     Mark Johnston <ma...@freebsd.org>
AuthorDate: 2021-08-11 20:23:25 +0000
Commit:     Mark Johnston <ma...@freebsd.org>
CommitDate: 2021-08-11 20:41:38 +0000

    virtio: Add KMSAN hooks for network and block devices
    
    This ensures that host-written data is marked as initialized.
    
    Sponsored by:   The FreeBSD Foundation
---
 sys/dev/virtio/block/virtio_blk.c | 3 +++
 sys/dev/virtio/network/if_vtnet.c | 5 ++++-
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/sys/dev/virtio/block/virtio_blk.c 
b/sys/dev/virtio/block/virtio_blk.c
index 8a5558f4571d..e4a20bfc3031 100644
--- a/sys/dev/virtio/block/virtio_blk.c
+++ b/sys/dev/virtio/block/virtio_blk.c
@@ -37,6 +37,7 @@ __FBSDID("$FreeBSD$");
 #include <sys/bio.h>
 #include <sys/malloc.h>
 #include <sys/module.h>
+#include <sys/msan.h>
 #include <sys/sglist.h>
 #include <sys/sysctl.h>
 #include <sys/lock.h>
@@ -1151,6 +1152,8 @@ vtblk_bio_done(struct vtblk_softc *sc, struct bio *bp, 
int error)
                bp->bio_resid = bp->bio_bcount;
                bp->bio_error = error;
                bp->bio_flags |= BIO_ERROR;
+       } else {
+               kmsan_mark_bio(bp, KMSAN_STATE_INITED);
        }
 
        if (bp->bio_driver1 != NULL) {
diff --git a/sys/dev/virtio/network/if_vtnet.c 
b/sys/dev/virtio/network/if_vtnet.c
index e65914c5184f..bbda5cb90707 100644
--- a/sys/dev/virtio/network/if_vtnet.c
+++ b/sys/dev/virtio/network/if_vtnet.c
@@ -36,9 +36,10 @@ __FBSDID("$FreeBSD$");
 #include <sys/systm.h>
 #include <sys/kernel.h>
 #include <sys/sockio.h>
-#include <sys/mbuf.h>
 #include <sys/malloc.h>
+#include <sys/mbuf.h>
 #include <sys/module.h>
+#include <sys/msan.h>
 #include <sys/socket.h>
 #include <sys/sysctl.h>
 #include <sys/random.h>
@@ -2107,6 +2108,8 @@ vtnet_rxq_eof(struct vtnet_rxq *rxq)
                                continue;
                }
 
+               kmsan_mark_mbuf(m, KMSAN_STATE_INITED);
+
                /*
                 * Save an endian swapped version of the header prior to it
                 * being stripped. The header is always at the start of the
_______________________________________________
dev-commits-src-main@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/dev-commits-src-main
To unsubscribe, send any mail to "dev-commits-src-main-unsubscr...@freebsd.org"

Reply via email to