[Bug 215715] cond_test:cond_timedwait_race crashes with SIGSEGV periodically when calling binuptime

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Wed Jan 4 16:11:27 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=215715

--- Comment #7 from commit-hook at 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

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-bugs mailing list