Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Aug 2019 22:21:19 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r351558 - head/sys/kern
Message-ID:  <201908272221.x7RMLJi0078992@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: jhb
Date: Tue Aug 27 22:21:18 2019
New Revision: 351558
URL: https://svnweb.freebsd.org/changeset/base/351558

Log:
  Only define the 'tls' member of sfio in KERN_TLS is defined.
  
  This field was not initialized in the !KERN_TLS case triggering an
  assertion failure when using sendfile(2).
  
  Reported by:	pho, asomers
  Sponsored by:	Netflix

Modified:
  head/sys/kern/kern_sendfile.c

Modified: head/sys/kern/kern_sendfile.c
==============================================================================
--- head/sys/kern/kern_sendfile.c	Tue Aug 27 21:29:37 2019	(r351557)
+++ head/sys/kern/kern_sendfile.c	Tue Aug 27 22:21:18 2019	(r351558)
@@ -88,7 +88,9 @@ struct sf_io {
 	int		npages;
 	struct socket	*so;
 	struct mbuf	*m;
+#ifdef KERN_TLS
 	struct ktls_session *tls;
+#endif
 	vm_page_t	pa[];
 };
 
@@ -266,7 +268,7 @@ sendfile_iodone(void *arg, vm_page_t *pg, int count, i
 	if (!refcount_release(&sfio->nios))
 		return;
 
-#ifdef INVARIANTS
+#if defined(KERN_TLS) && defined(INVARIANTS)
 	if ((sfio->m->m_flags & M_EXT) != 0 &&
 	    sfio->m->m_ext.ext_type == EXT_PGS)
 		KASSERT(sfio->tls == sfio->m->m_ext.ext_pgs->tls,



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