Date: Wed, 04 Jan 2017 16:11:27 +0000 From: bugzilla-noreply@freebsd.org To: freebsd-bugs@FreeBSD.org Subject: [Bug 215715] cond_test:cond_timedwait_race crashes with SIGSEGV periodically when calling binuptime Message-ID: <bug-215715-8-2ICgIWLlcy@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-215715-8@https.bugs.freebsd.org/bugzilla/> References: <bug-215715-8@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D215715 --- Comment #7 from commit-hook@freebsd.org --- A commit references this bug: Author: kib Date: Wed Jan 4 16:10:52 UTC 2017 New revision: 311287 URL: https://svnweb.freebsd.org/changeset/base/311287 Log: __vdso_gettc(): be extra careful with /dev/hpet mappings, never unmap the mapping which might be accessed by other threads. If a pointer to the /dev/hpet register page mapping was stored into the hpet_dev_map, other threads might access the page at any time. Never unmap it, instead, keep track of mappings for all hpet units in smal array. Store pointer to the newly mapped registers page using CAS, to detect parallel mappings. It appeared relatively easy to demonstrate the problem by arranging two threads which perform gettimeofday(2) concurently, first time in the process address space, when HPET is used for timecounter. PR: 215715 Sponsored by: The FreeBSD Foundation MFC after: 1 week Changes: head/lib/libc/x86/sys/__vdso_gettc.c --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-215715-8-2ICgIWLlcy>