On 20/04/17 15:38, Guido Trentalancia wrote:
Remove semanage read and transaction lock files upon releasing
them.
What prevents this sequence?
A release lock
B acquire lock
A unlink lock file
C create lock file
C acquire lock
Signed-off-by: Guido Trentalancia <guido-D1bseh+SzQhuxeB9wqlrNw@xxxxxxxxxxxxxxxx>
---
src/semanage_store.c | 2 ++
1 file changed, 2 insertions(+)
diff -pruN a/src/semanage_store.c b/src/semanage_store.c
--- a/src/semanage_store.c 2016-10-14 17:31:26.000000000 +0200
+++ b/src/semanage_store.c 2017-04-03 09:32:24.093627962 +0200
@@ -1904,6 +1904,7 @@ void semanage_release_trans_lock(semanag
close(sh->u.direct.translock_file_fd);
sh->u.direct.translock_file_fd = -1;
}
+ unlink(semanage_files[SEMANAGE_TRANS_LOCK]);
errno = errsv;
}
@@ -1917,6 +1918,7 @@ void semanage_release_active_lock(semana
close(sh->u.direct.activelock_file_fd);
sh->u.direct.activelock_file_fd = -1;
}
+ unlink(semanage_files[SEMANAGE_READ_LOCK]);
errno = errsv;
}