tools: hv: Use CLOEXEC when opening kvp_pool files
Use CLOEXEC flag when opening kvp_pool_x files to prevent file descriptor leakage. Not using it was causing a problem when SELinux was enabled. Signed-off-by: Tomas Hozza <thozza@redhat.com> Acked-by: K. Y. Srinivasan <kys@microsoft.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
0f3f2f86b2
commit
8467fdbb09
@ -151,7 +151,7 @@ static void kvp_update_file(int pool)
|
||||
*/
|
||||
kvp_acquire_lock(pool);
|
||||
|
||||
filep = fopen(kvp_file_info[pool].fname, "w");
|
||||
filep = fopen(kvp_file_info[pool].fname, "we");
|
||||
if (!filep) {
|
||||
kvp_release_lock(pool);
|
||||
syslog(LOG_ERR, "Failed to open file, pool: %d", pool);
|
||||
@ -182,7 +182,7 @@ static void kvp_update_mem_state(int pool)
|
||||
|
||||
kvp_acquire_lock(pool);
|
||||
|
||||
filep = fopen(kvp_file_info[pool].fname, "r");
|
||||
filep = fopen(kvp_file_info[pool].fname, "re");
|
||||
if (!filep) {
|
||||
kvp_release_lock(pool);
|
||||
syslog(LOG_ERR, "Failed to open file, pool: %d", pool);
|
||||
@ -246,13 +246,13 @@ static int kvp_file_init(void)
|
||||
records_read = 0;
|
||||
num_blocks = 1;
|
||||
sprintf(fname, "%s/.kvp_pool_%d", KVP_CONFIG_LOC, i);
|
||||
fd = open(fname, O_RDWR | O_CREAT, 0644 /* rw-r--r-- */);
|
||||
fd = open(fname, O_RDWR | O_CREAT | O_CLOEXEC, 0644 /* rw-r--r-- */);
|
||||
|
||||
if (fd == -1)
|
||||
return 1;
|
||||
|
||||
|
||||
filep = fopen(fname, "r");
|
||||
filep = fopen(fname, "re");
|
||||
if (!filep)
|
||||
return 1;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user