diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-10-09 23:40:09 +0200 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2018-10-28 13:41:51 +0100 |
commit | 5c81be53407434ce22b849722a3d691295480016 (patch) | |
tree | 930f36f9263b5d02c176d6b13b0ed5a762c8fd83 /ChangeLog | |
parent | 2d0d1d38761cd9aeb7063c5cce1993cec909f67f (diff) | |
download | glibc-5c81be53407434ce22b849722a3d691295480016.tar.gz glibc-5c81be53407434ce22b849722a3d691295480016.tar.xz glibc-5c81be53407434ce22b849722a3d691295480016.zip |
hurd: Fix race between calling RPC and handling a signal
* sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Make _hurd_intr_rpc_msg_about_to global point to start of controlled assembly snippet. Make it check canceled flag. * hurd/hurdsig.c (_hurdsig_abort_rpcs): Only mutate thread if it passed the _hurd_intr_rpc_msg_about_to point. * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Remove comment on mutation issue, remove cancel flag check.
Diffstat (limited to 'ChangeLog')
-rw-r--r-- | ChangeLog | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog index 7d23aa7236..5709c3cdbc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -3,6 +3,13 @@ * hurd/hurdsig.c (_hurd_interrupted_rpc_timeout): Set to 60000. * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): When the server does not answer to interrupt_operation, return EIO instead of EINTR. + * sysdeps/mach/hurd/i386/intr-msg.h (INTR_MSG_TRAP): Make + _hurd_intr_rpc_msg_about_to global point to start of controlled + assembly snippet. Make it check canceled flag. + * hurd/hurdsig.c (_hurdsig_abort_rpcs): Only mutate thread if it passed + the _hurd_intr_rpc_msg_about_to point. + * hurd/intr-msg.c (_hurd_intr_rpc_mach_msg): Remove comment on mutation + issue, remove cancel flag check. 2018-10-26 Joseph Myers <joseph@codesourcery.com> |