Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jan 2011 12:38:40 +0000 (UTC)
From:      Konstantin Belousov <kib@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/lib/libthr pthread.map src/lib/libthr/thread thr_create.c thr_private.h thr_rtld.c thr_stack.c
Message-ID:  <201101091238.p09Ccs5L012983@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
kib         2011-01-09 12:38:40 UTC

  FreeBSD src repository

  Modified files:
    lib/libthr           pthread.map 
    lib/libthr/thread    thr_create.c thr_private.h thr_rtld.c 
                         thr_stack.c 
  Log:
  SVN rev 217191 on 2011-01-09 12:38:40Z by kib
  
  Implement the __pthread_map_stacks_exec() for libthr.
  
  Stack creation code is changed to call _rtld_get_stack_prot() to get
  the stack protection right. There is a race where thread is created
  during dlopen() of dso that requires executable stacks. Then,
  _rtld_get_stack_prot() may return PROT_READ | PROT_WRITE, but thread
  is still not linked into the thread list. In this case, the callback
  misses the thread stack, and rechecks the required protection
  afterward.
  
  Reviewed by:    davidxu
  
  Revision  Changes    Path
  1.41      +2 -0      src/lib/libthr/pthread.map
  1.50      +11 -0     src/lib/libthr/thread/thr_create.c
  1.120     +1 -0      src/lib/libthr/thread/thr_private.h
  1.16      +5 -0      src/lib/libthr/thread/thr_rtld.c
  1.9       +34 -1     src/lib/libthr/thread/thr_stack.c



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