Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Sep 2015 08:54:00 +0000 (GMT)
From:      jenkins-admin@FreeBSD.org
To:        hselasky@FreeBSD.org, kib@FreeBSD.org, jenkins-admin@FreeBSD.org,  freebsd-arm@FreeBSD.org
Subject:   FreeBSD_HEAD_arm64 - Build #1089 - Fixed
Message-ID:  <158743785.71.1441788844914.JavaMail.jenkins@jenkins-9.freebsd.org>
In-Reply-To: <1698701114.65.1441779260791.JavaMail.jenkins@jenkins-9.freebsd.org>
References:  <1698701114.65.1441779260791.JavaMail.jenkins@jenkins-9.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
FreeBSD_HEAD_arm64 - Build #1089 - Fixed:

Build information: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1089/
Full change log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1089/changes
Full build log: https://jenkins.FreeBSD.org/job/FreeBSD_HEAD_arm64/1089/console

Change summaries:

287592 by hselasky:
Add new USB ID.

MFC after:	1 month
PR:		202968

287591 by kib:
Remove a check which caused spurious SIGSEGV on usermode access to the
mapped address without valid pte installed, when parallel wiring of
the entry happen.  The entry must be copy on write.  If entry is COW
but was already copied, and parallel wiring set
MAP_ENTRY_IN_TRANSITION, vm_fault() would sleep waiting for the
MAP_ENTRY_IN_TRANSITION flag to clear.  After that, the fault handler
is restarted and vm_map_lookup() or vm_map_lookup_locked() trip over
the check.  Note that this is race, if the address is accessed after
the wiring is done, the entry does not fault at all.

There is no reason in the current kernel to disallow write access to
the COW wired entry if the entry permissions allow it.  Initially this
was done in r24666, since that kernel did not supported proper
copy-on-write for wired text, which was fixed in r199869.  The r251901
revision re-introduced the r24666 fix for the current VM.

Note that write access must clear MAP_ENTRY_NEEDS_COPY entry flag by
performing COW.  In reverse, when MAP_ENTRY_NEEDS_COPY is set in
vmspace_fork(), the MAP_ENTRY_USER_WIRED flag is cleared.  Put the
assert stating the invariant, instead of returning the error.

Reported and debugging help by:	peter
Reviewed by:	alc
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week




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