diff options
author | Rich Felker <dalias@aerifal.cx> | 2022-10-07 18:51:36 -0400 |
---|---|---|
committer | Rich Felker <dalias@aerifal.cx> | 2022-10-19 14:01:32 -0400 |
commit | d8f35e29d0e35a90f44c04de585470c211afddf9 (patch) | |
tree | a00ce19cc0fe9699ab2ad5baef543a2d621ad276 /src/linux/setfsgid.c | |
parent | 26c76a908b8613ea8a77d40f3bd51b02f984501c (diff) | |
download | musl-d8f35e29d0e35a90f44c04de585470c211afddf9.tar.gz musl-d8f35e29d0e35a90f44c04de585470c211afddf9.tar.bz2 musl-d8f35e29d0e35a90f44c04de585470c211afddf9.tar.xz musl-d8f35e29d0e35a90f44c04de585470c211afddf9.zip |
fix AS-safety of close when aio is in use and fd map is expanded
the aio operations that lead to calling __aio_get_queue with the
possibility to expand the fd map are not AS-safe, but if they are
interrupted by a signal handler, the signal handler may call close,
which is required to be AS-safe. due to __aio_get_queue taking the
write lock without blocking signals, such a call to close from a
signal handler could deadlock.
change __aio_get_queue to block signals if it needs to obtain a write
lock, and restore when finished.
Diffstat (limited to 'src/linux/setfsgid.c')
0 files changed, 0 insertions, 0 deletions