On Thu, Apr 23, 2015 at 09:53:19PM +0200, Antoine Brodin wrote:
> On Sat, Apr 11, 2015 at 8:51 PM, Will Andrews <w...@freebsd.org> wrote:
> > Author: will
> > Date: Sat Apr 11 18:51:41 2015
> > New Revision: 281442
> > URL: https://svnweb.freebsd.org/changeset/base/281442
> >
> > Log:
> >   uiomove_object_page(): Avoid instantiating pages in sparse regions on 
> > reads.
> >
> >   Check whether the page being requested is either resident or on swap.  If
> >   not, read from the zero_region instead of instantiating an unnecessary 
> > page.
> >
> >   This avoids consuming memory for sparse files on tmpfs, when they are read
> >   by applications that do not use SEEK_HOLE/SEEK_DATA (which is most of 
> > them).
> >
> >   Reviewed by:  kib
> >   MFC after:    1 week
> >   Sponsored by: Spectra Logic
> 
> Hi,
> 
> We have a daily panic on one of the package builders:
> https://reviews.freebsd.org/P60
> 
> Reverting this commit seems to fix the panic.

I already provided the following patch to gjb.
I am waiting for a confirmation to commit.

diff --git a/sys/kern/uipc_shm.c b/sys/kern/uipc_shm.c
index 8410ed9..93c7ed1 100644
--- a/sys/kern/uipc_shm.c
+++ b/sys/kern/uipc_shm.c
@@ -170,7 +170,7 @@ uiomove_object_page(vm_object_t obj, size_t len, struct uio 
*uio)
        if (uio->uio_rw == UIO_READ && vm_page_lookup(obj, idx) == NULL &&
            !vm_pager_has_page(obj, idx, NULL, NULL)) {
                VM_OBJECT_WUNLOCK(obj);
-               return (uiomove(__DECONST(void *, zero_region), len, uio));
+               return (uiomove(__DECONST(void *, zero_region), tlen, uio));
        }
 
        /*
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to