Skip to content

Commit

Permalink
tools: hv: Use CLOEXEC when opening kvp_pool files
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Tomas Hozza authored and Greg Kroah-Hartman committed Jan 19, 2013
1 parent 0f3f2f8 commit 8467fdb
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions tools/hv/hv_kvp_daemon.c
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down Expand Up @@ -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);
Expand Down Expand Up @@ -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;

Expand Down

0 comments on commit 8467fdb

Please sign in to comment.