about summary refs log tree commit diff
path: root/ChangeLog
diff options
context:
space:
mode:
authorFlorian Weimer <fweimer@redhat.com>2019-08-15 16:09:05 +0200
committerFlorian Weimer <fweimer@redhat.com>2019-08-15 16:09:05 +0200
commit628598be7e1bfaa04f34df71ef6678f2c5103dfd (patch)
treea9b7724fb96614a40533ee98d6417268e9584e47 /ChangeLog
parent17e1347452df722eed69b8b756ae21c35933b4b5 (diff)
downloadglibc-628598be7e1bfaa04f34df71ef6678f2c5103dfd.tar.gz
glibc-628598be7e1bfaa04f34df71ef6678f2c5103dfd.tar.xz
glibc-628598be7e1bfaa04f34df71ef6678f2c5103dfd.zip
login: Disarm timer after utmp lock acquisition [BZ #24879]
If the file processing takes a long time for some reason, SIGALRM can
arrive while the file is still being processed.  At that point, file
access will fail with EINTR.  Disarming the timer after lock
acquisition avoids that.  (If there was a previous alarm, it is the
responsibility of the caller to deal with the EINTR error.)
Diffstat (limited to 'ChangeLog')
-rw-r--r--ChangeLog13
1 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 14d1dc8875..b8a9a18450 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
 2019-08-15  Florian Weimer  <fweimer@redhat.com>
 
+	[BZ #24879]
+	login: Disarm timer after utmp lock acquisition.
+	* login/utmp_file.c (struct file_locking): Remove.
+	(try_file_lock): Adjust.
+	(file_lock_restore): Remove function.
+	(__libc_getutent_r): .
+	(internal_getut_r): Likewise.
+	(__libc_getutline_r): Likewise.
+	(__libc_pututline): Likewise.
+	(__libc_updwtmp): Likewise.
+
+2019-08-15  Florian Weimer  <fweimer@redhat.com>
+
 	nptl: Remove pthread_self compatibility symbol from libpthread.
 	* nptl/Versions (libpthread GLIBC_2.0): Remove pthread_self,
 	pthread_equal.